From 5b80feb56b0f8aa23ee7c570b13b26495a721baf Mon Sep 17 00:00:00 2001 From: tsauerbeck Date: Thu, 3 Feb 2005 17:20:29 +0000 Subject: [PATCH] if an EET is opened for EET_FILE_MODE_WRITE, don't permit eet_read() calls. and don't die if the header isn't set up correctly yet git-svn-id: http://svn.enlightenment.org/svn/e/trunk/e17/libs/eet@13187 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eet_lib.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/eet_lib.c b/src/lib/eet_lib.c index 5c0a111..230de1e 100644 --- a/src/lib/eet_lib.c +++ b/src/lib/eet_lib.c @@ -715,17 +715,19 @@ eet_read(Eet_File *ef, char *name, int *size_ret) int hash, i, num; /* check to see its' an eet file pointer */ - if ((!ef) || (ef->magic != EET_MAGIC_FILE) || (!name)) + if ((!ef) || (ef->magic != EET_MAGIC_FILE) || (!name) || + ((ef->mode != EET_FILE_MODE_READ) && + (ef->mode != EET_FILE_MODE_RW))) { if (size_ret) *size_ret = 0; return NULL; } - /* get hash bucket this should be in */ - hash = eet_hash_gen(name, ef->header->directory->size); /* no header, return NULL */ if (!ef->header) return NULL; /* no directory, return NULL */ if (!ef->header->directory) return NULL; + /* get hash bucket this should be in */ + hash = eet_hash_gen(name, ef->header->directory->size); /* hunt hash bucket */ num = ef->header->directory->hash[hash].size; for (i = 0; i < num; i++) -- 2.7.4