Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/eet
Dir : e17/libs/eet/src/lib Modified Files: eet_lib.c Log Message: code cleanup =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- eet_lib.c 7 Nov 2005 06:16:26 -0000 1.54 +++ eet_lib.c 29 Nov 2005 11:44:51 -0000 1.55 @@ -783,7 +783,7 @@ eet_read(Eet_File *ef, char *name, int *size_ret) { void *data = NULL; - int size = 0, tmp_size; + int size = 0; int hash; Eet_File_Node *efn; @@ -844,66 +844,65 @@ else { void *tmp_data; - int free_tmp = 0; + int free_tmp = 0, compr_size = efn->size; + uLongf dlen; - /* get size of data in file */ - tmp_size = efn->size; - if (!efn->data) - { - tmp_data = malloc(tmp_size); - if (!tmp_data) break; - free_tmp = 1; - } /* get size uncompressed */ size = efn->data_size; /* allocate data */ data = malloc(size); - if (data) + if (!data) break; + + /* if we already have the data in ram... copy that */ + if (efn->data) + tmp_data = efn->data; + else { - uLongf dlen; + tmp_data = malloc(compr_size); + if (!tmp_data) + { + free(data); + data = NULL; + break; + } - /* if we already have the data in ram... copy that */ - if (efn->data) - tmp_data = efn->data; - /* or get data from disk */ - else + free_tmp = 1; + + /* get data from disk */ + /* seek to data location */ + if (fseek(ef->fp, efn->offset, SEEK_SET) < 0) { - /* seek to data location */ - if (fseek(ef->fp, efn->offset, SEEK_SET) < 0) - { - free(tmp_data); - free(data); - data = NULL; - break; - } - /* read it */ - if (fread(tmp_data, tmp_size, 1, ef->fp) != 1) - { - free(tmp_data); - free(data); - data = NULL; - break; - } + free(tmp_data); + free(data); + data = NULL; + break; } - /* decompress it */ - dlen = size; - if (uncompress((Bytef *)data, &dlen, - tmp_data, (uLongf)tmp_size)) + /* read it */ + if (fread(tmp_data, compr_size, 1, ef->fp) != 1) { - if (free_tmp) free(tmp_data); + free(tmp_data); free(data); data = NULL; break; } } + + /* decompress it */ + dlen = size; + if (uncompress((Bytef *)data, &dlen, + tmp_data, (uLongf)compr_size)) + { + free(data); + data = NULL; + } + if (free_tmp) free(tmp_data); break; } } } /* fill in return values */ - *size_ret = size; - /* update access time */ + if (size_ret) *size_ret = size; return data; } ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs