From: Enlightenment C. <no...@cv...> - 2008-01-24 08:41:29
|
Enlightenment CVS committal Author : doursse Project : e17 Module : libs/eet Dir : e17/libs/eet/src/lib Modified Files: eet_lib.c Log Message: [win32] use the correct value for an invalid handle and check results. Remove trailing spaces =================================================================== RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -3 -r1.84 -r1.85 --- eet_lib.c 21 Jan 2008 01:09:51 -0000 1.84 +++ eet_lib.c 24 Jan 2008 08:41:23 -0000 1.85 @@ -56,7 +56,7 @@ char *name; void *data; Eet_File_Node *next; /* FIXME: make buckets linked lists */ - + int offset; int size; int data_size; @@ -165,7 +165,7 @@ { Eet_File *del_ef = NULL; int i; - + new_cache = *cache; for (i = 0; i < new_cache_num; i++) { @@ -175,7 +175,7 @@ break; } } - + if (del_ef) { del_ef->delete_me_now = 1; @@ -216,7 +216,7 @@ new_cache_alloc = *cache_alloc; if (new_cache_num <= 0) return; - + for (i = 0; i < new_cache_num; i++) { if (new_cache[i] == ef) @@ -322,23 +322,23 @@ { unsigned int ibuf[5]; int name_size; - + name_size = strlen(efn->name) + 1; - + ibuf[0] = (int) htonl ((unsigned int) efn->offset); ibuf[1] = (int) htonl ((unsigned int) efn->compression); ibuf[2] = (int) htonl ((unsigned int) efn->size); ibuf[3] = (int) htonl ((unsigned int) efn->data_size); ibuf[4] = (int) htonl ((unsigned int) name_size); - - + + if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1) goto write_error; if (fwrite(efn->name, name_size, 1, ef->fp) != 1) goto write_error; } } - + /* write data */ for (i = 0; i < num; i++) { @@ -351,9 +351,9 @@ /* no more writes pending */ ef->writes_pending = 0; - + return EET_ERROR_NONE; - + write_error: switch (ferror(ef->fp)) { @@ -406,7 +406,7 @@ { int num = 0; int i; - + /* We need to compute the list of eet file to close separately from the cache, due to eet_close removing them from the cache after each call. @@ -416,7 +416,7 @@ if (eet_writers[i]->references <= 0) num++; } - + for (i = 0; i < eet_readers_num; i++) { if (eet_readers[i]->references <= 0) @@ -426,7 +426,7 @@ if (num > 0) { Eet_File **closelist = NULL; - + closelist = alloca(num * sizeof(Eet_File *)); num = 0; for (i = 0; i < eet_writers_num; i++) @@ -438,7 +438,7 @@ num++; } } - + for (i = 0; i < eet_readers_num; i++) { if (eet_readers[i]->references <= 0) @@ -669,7 +669,7 @@ } ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); } - else if ((mode == EET_FILE_MODE_WRITE) || + else if ((mode == EET_FILE_MODE_WRITE) || (mode == EET_FILE_MODE_READ_WRITE)) { ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); @@ -706,7 +706,7 @@ unlink(file); fp = fopen(file, "wb"); } - + /* We found one */ if (ef && (file_stat.st_mtime != ef->mtime)) { @@ -749,10 +749,11 @@ fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); #else /* FIXME: check if that code is needed / correct */ - h = (HANDLE) _get_osfhandle (fileno(ef->fp)); - if (h == (HANDLE) -1) + h = (HANDLE) _get_osfhandle(fileno(ef->fp)); + if (h == INVALID_HANDLE_VALUE) + return NULL; + if (!SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0)) return NULL; - SetHandleInformation (h, HANDLE_FLAG_INHERIT, 0); #endif /* if we opened for read or read-write */ if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) @@ -790,11 +791,11 @@ if (ef->mode == EET_FILE_MODE_READ_WRITE) { int i; - + for (i = 0; i < ef->header->directory->size; i++) { Eet_File_Node *efn; - + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) { if (!efn->free_name) @@ -850,7 +851,7 @@ /* if not urgent to delete it - dont free it - leave it in cache */ if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ)) return EET_ERROR_NONE; - + /* remove from cache */ if (ef->mode == EET_FILE_MODE_READ) eet_cache_del(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc); @@ -865,12 +866,12 @@ if (ef->header->directory->nodes) { int i, num; - + num = (1 << ef->header->directory->size); for (i = 0; i < num; i++) { Eet_File_Node *efn; - + while ((efn = ef->header->directory->nodes[i])) { if (efn->data) @@ -1012,7 +1013,7 @@ const void *data = NULL; int size = 0; Eet_File_Node *efn; - + if (size_ret) *size_ret = 0; @@ -1177,7 +1178,7 @@ Eet_File_Node *pefn; int hash; int exists_already = 0; - + /* check to see its' an eet file pointer */ if (eet_check_pointer(ef)) return 0; @@ -1257,26 +1258,26 @@ { /* add it to our list */ list_count++; - + /* only realloc in 32 entry chunks */ if (list_count > list_count_alloc) { char **new_list = NULL; - + list_count_alloc += 64; new_list = realloc(list_ret, list_count_alloc * (sizeof(char *))); if (!new_list) { free(list_ret); - + if (count_ret) *count_ret = 0; - + return NULL; } list_ret = new_list; } - + /* put pointer of name string in */ list_ret[list_count - 1] = efn->name; } @@ -1344,7 +1345,7 @@ /* seek to data location */ if (fseek(ef->fp, efn->offset, SEEK_SET) < 0) return 0; - + /* read it */ len = fread(buf, len, 1, ef->fp); } |