diff options
author | 7 <notzed@helixcode.com> | 2000-05-07 13:04:31 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2000-05-07 13:04:31 +0800 |
commit | 97505d53504d42a41b4dd61ba99cb784e665d6c4 (patch) | |
tree | 46812d6024db2698dbbece6663be03d54ad9f75a /libibex/file.c | |
parent | cca467781c7ced39d93dc7ee03197717fd3e563b (diff) | |
download | gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar.gz gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar.bz2 gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar.lz gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar.xz gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.tar.zst gsoc2013-evolution-97505d53504d42a41b4dd61ba99cb784e665d6c4.zip |
Also close the fd after we're done.
2000-05-07 <notzed@helixcode.com>
* file.c (ibex_open): Also close the fd after we're done.
svn path=/trunk/; revision=2859
Diffstat (limited to 'libibex/file.c')
-rw-r--r-- | libibex/file.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libibex/file.c b/libibex/file.c index 5c292e198f..462fbec3d4 100644 --- a/libibex/file.c +++ b/libibex/file.c @@ -114,6 +114,7 @@ ibex_open (char *file, int flags, int mode) if (f == NULL) { if (errno == 0) errno = ENOMEM; + close(fd); return NULL; } @@ -124,12 +125,16 @@ ibex_open (char *file, int flags, int mode) ib->words = g_hash_table_new (g_str_hash, g_str_equal); ib->oldfiles = g_ptr_array_new (); - if (!f) + if (!f) { + close(fd); return ib; + } /* Check version. If its empty, then we have just created it */ if (fread (vbuf, 1, sizeof (vbuf), f) != sizeof (vbuf)) { if (feof (f)) { + fclose(f); + close(fd); return ib; } } @@ -177,11 +182,13 @@ ibex_open (char *file, int flags, int mode) g_free (ibfs); fclose (f); + close(fd); return ib; errout: fclose (f); + close(fd); g_tree_traverse (ib->files, free_file, G_IN_ORDER, NULL); g_tree_destroy (ib->files); g_hash_table_foreach (ib->words, free_word, NULL); |