forked from enlightenment/efl
[win32] use the correct value for an invalid handle and check results. Remove trailing spaces
SVN revision: 33579
This commit is contained in:
parent
ebdbf7c6ec
commit
0f79f11a02
|
@ -56,7 +56,7 @@ struct _Eet_File_Node
|
||||||
char *name;
|
char *name;
|
||||||
void *data;
|
void *data;
|
||||||
Eet_File_Node *next; /* FIXME: make buckets linked lists */
|
Eet_File_Node *next; /* FIXME: make buckets linked lists */
|
||||||
|
|
||||||
int offset;
|
int offset;
|
||||||
int size;
|
int size;
|
||||||
int data_size;
|
int data_size;
|
||||||
|
@ -165,7 +165,7 @@ eet_cache_add(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc)
|
||||||
{
|
{
|
||||||
Eet_File *del_ef = NULL;
|
Eet_File *del_ef = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
new_cache = *cache;
|
new_cache = *cache;
|
||||||
for (i = 0; i < new_cache_num; i++)
|
for (i = 0; i < new_cache_num; i++)
|
||||||
{
|
{
|
||||||
|
@ -175,7 +175,7 @@ eet_cache_add(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (del_ef)
|
if (del_ef)
|
||||||
{
|
{
|
||||||
del_ef->delete_me_now = 1;
|
del_ef->delete_me_now = 1;
|
||||||
|
@ -216,7 +216,7 @@ eet_cache_del(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc)
|
||||||
new_cache_alloc = *cache_alloc;
|
new_cache_alloc = *cache_alloc;
|
||||||
if (new_cache_num <= 0)
|
if (new_cache_num <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < new_cache_num; i++)
|
for (i = 0; i < new_cache_num; i++)
|
||||||
{
|
{
|
||||||
if (new_cache[i] == ef)
|
if (new_cache[i] == ef)
|
||||||
|
@ -322,23 +322,23 @@ eet_flush(Eet_File *ef)
|
||||||
{
|
{
|
||||||
unsigned int ibuf[5];
|
unsigned int ibuf[5];
|
||||||
int name_size;
|
int name_size;
|
||||||
|
|
||||||
name_size = strlen(efn->name) + 1;
|
name_size = strlen(efn->name) + 1;
|
||||||
|
|
||||||
ibuf[0] = (int) htonl ((unsigned int) efn->offset);
|
ibuf[0] = (int) htonl ((unsigned int) efn->offset);
|
||||||
ibuf[1] = (int) htonl ((unsigned int) efn->compression);
|
ibuf[1] = (int) htonl ((unsigned int) efn->compression);
|
||||||
ibuf[2] = (int) htonl ((unsigned int) efn->size);
|
ibuf[2] = (int) htonl ((unsigned int) efn->size);
|
||||||
ibuf[3] = (int) htonl ((unsigned int) efn->data_size);
|
ibuf[3] = (int) htonl ((unsigned int) efn->data_size);
|
||||||
ibuf[4] = (int) htonl ((unsigned int) name_size);
|
ibuf[4] = (int) htonl ((unsigned int) name_size);
|
||||||
|
|
||||||
|
|
||||||
if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1)
|
if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1)
|
||||||
goto write_error;
|
goto write_error;
|
||||||
if (fwrite(efn->name, name_size, 1, ef->fp) != 1)
|
if (fwrite(efn->name, name_size, 1, ef->fp) != 1)
|
||||||
goto write_error;
|
goto write_error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* write data */
|
/* write data */
|
||||||
for (i = 0; i < num; i++)
|
for (i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
|
@ -351,9 +351,9 @@ eet_flush(Eet_File *ef)
|
||||||
|
|
||||||
/* no more writes pending */
|
/* no more writes pending */
|
||||||
ef->writes_pending = 0;
|
ef->writes_pending = 0;
|
||||||
|
|
||||||
return EET_ERROR_NONE;
|
return EET_ERROR_NONE;
|
||||||
|
|
||||||
write_error:
|
write_error:
|
||||||
switch (ferror(ef->fp))
|
switch (ferror(ef->fp))
|
||||||
{
|
{
|
||||||
|
@ -406,7 +406,7 @@ eet_clearcache(void)
|
||||||
{
|
{
|
||||||
int num = 0;
|
int num = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We need to compute the list of eet file to close separately from the cache,
|
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.
|
due to eet_close removing them from the cache after each call.
|
||||||
|
@ -416,7 +416,7 @@ eet_clearcache(void)
|
||||||
if (eet_writers[i]->references <= 0)
|
if (eet_writers[i]->references <= 0)
|
||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < eet_readers_num; i++)
|
for (i = 0; i < eet_readers_num; i++)
|
||||||
{
|
{
|
||||||
if (eet_readers[i]->references <= 0)
|
if (eet_readers[i]->references <= 0)
|
||||||
|
@ -426,7 +426,7 @@ eet_clearcache(void)
|
||||||
if (num > 0)
|
if (num > 0)
|
||||||
{
|
{
|
||||||
Eet_File **closelist = NULL;
|
Eet_File **closelist = NULL;
|
||||||
|
|
||||||
closelist = alloca(num * sizeof(Eet_File *));
|
closelist = alloca(num * sizeof(Eet_File *));
|
||||||
num = 0;
|
num = 0;
|
||||||
for (i = 0; i < eet_writers_num; i++)
|
for (i = 0; i < eet_writers_num; i++)
|
||||||
|
@ -438,7 +438,7 @@ eet_clearcache(void)
|
||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < eet_readers_num; i++)
|
for (i = 0; i < eet_readers_num; i++)
|
||||||
{
|
{
|
||||||
if (eet_readers[i]->references <= 0)
|
if (eet_readers[i]->references <= 0)
|
||||||
|
@ -669,7 +669,7 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
}
|
}
|
||||||
ef = eet_cache_find((char *)file, eet_readers, eet_readers_num);
|
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))
|
(mode == EET_FILE_MODE_READ_WRITE))
|
||||||
{
|
{
|
||||||
ef = eet_cache_find((char *)file, eet_readers, eet_readers_num);
|
ef = eet_cache_find((char *)file, eet_readers, eet_readers_num);
|
||||||
|
@ -706,7 +706,7 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
unlink(file);
|
unlink(file);
|
||||||
fp = fopen(file, "wb");
|
fp = fopen(file, "wb");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We found one */
|
/* We found one */
|
||||||
if (ef && (file_stat.st_mtime != ef->mtime))
|
if (ef && (file_stat.st_mtime != ef->mtime))
|
||||||
{
|
{
|
||||||
|
@ -749,10 +749,11 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC);
|
fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC);
|
||||||
#else
|
#else
|
||||||
/* FIXME: check if that code is needed / correct */
|
/* FIXME: check if that code is needed / correct */
|
||||||
h = (HANDLE) _get_osfhandle (fileno(ef->fp));
|
h = (HANDLE) _get_osfhandle(fileno(ef->fp));
|
||||||
if (h == (HANDLE) -1)
|
if (h == INVALID_HANDLE_VALUE)
|
||||||
|
return NULL;
|
||||||
|
if (!SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0))
|
||||||
return NULL;
|
return NULL;
|
||||||
SetHandleInformation (h, HANDLE_FLAG_INHERIT, 0);
|
|
||||||
#endif
|
#endif
|
||||||
/* if we opened for read or read-write */
|
/* if we opened for read or read-write */
|
||||||
if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE))
|
if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE))
|
||||||
|
@ -790,11 +791,11 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
if (ef->mode == EET_FILE_MODE_READ_WRITE)
|
if (ef->mode == EET_FILE_MODE_READ_WRITE)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ef->header->directory->size; i++)
|
for (i = 0; i < ef->header->directory->size; i++)
|
||||||
{
|
{
|
||||||
Eet_File_Node *efn;
|
Eet_File_Node *efn;
|
||||||
|
|
||||||
for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next)
|
for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next)
|
||||||
{
|
{
|
||||||
if (!efn->free_name)
|
if (!efn->free_name)
|
||||||
|
@ -850,7 +851,7 @@ eet_close(Eet_File *ef)
|
||||||
/* if not urgent to delete it - dont free it - leave it in cache */
|
/* if not urgent to delete it - dont free it - leave it in cache */
|
||||||
if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ))
|
if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ))
|
||||||
return EET_ERROR_NONE;
|
return EET_ERROR_NONE;
|
||||||
|
|
||||||
/* remove from cache */
|
/* remove from cache */
|
||||||
if (ef->mode == EET_FILE_MODE_READ)
|
if (ef->mode == EET_FILE_MODE_READ)
|
||||||
eet_cache_del(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc);
|
eet_cache_del(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc);
|
||||||
|
@ -865,12 +866,12 @@ eet_close(Eet_File *ef)
|
||||||
if (ef->header->directory->nodes)
|
if (ef->header->directory->nodes)
|
||||||
{
|
{
|
||||||
int i, num;
|
int i, num;
|
||||||
|
|
||||||
num = (1 << ef->header->directory->size);
|
num = (1 << ef->header->directory->size);
|
||||||
for (i = 0; i < num; i++)
|
for (i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
Eet_File_Node *efn;
|
Eet_File_Node *efn;
|
||||||
|
|
||||||
while ((efn = ef->header->directory->nodes[i]))
|
while ((efn = ef->header->directory->nodes[i]))
|
||||||
{
|
{
|
||||||
if (efn->data)
|
if (efn->data)
|
||||||
|
@ -1012,7 +1013,7 @@ eet_read_direct(Eet_File *ef, const char *name, int *size_ret)
|
||||||
const void *data = NULL;
|
const void *data = NULL;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
Eet_File_Node *efn;
|
Eet_File_Node *efn;
|
||||||
|
|
||||||
if (size_ret)
|
if (size_ret)
|
||||||
*size_ret = 0;
|
*size_ret = 0;
|
||||||
|
|
||||||
|
@ -1177,7 +1178,7 @@ eet_delete(Eet_File *ef, const char *name)
|
||||||
Eet_File_Node *pefn;
|
Eet_File_Node *pefn;
|
||||||
int hash;
|
int hash;
|
||||||
int exists_already = 0;
|
int exists_already = 0;
|
||||||
|
|
||||||
/* check to see its' an eet file pointer */
|
/* check to see its' an eet file pointer */
|
||||||
if (eet_check_pointer(ef))
|
if (eet_check_pointer(ef))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1257,26 +1258,26 @@ eet_list(Eet_File *ef, const char *glob, int *count_ret)
|
||||||
{
|
{
|
||||||
/* add it to our list */
|
/* add it to our list */
|
||||||
list_count++;
|
list_count++;
|
||||||
|
|
||||||
/* only realloc in 32 entry chunks */
|
/* only realloc in 32 entry chunks */
|
||||||
if (list_count > list_count_alloc)
|
if (list_count > list_count_alloc)
|
||||||
{
|
{
|
||||||
char **new_list = NULL;
|
char **new_list = NULL;
|
||||||
|
|
||||||
list_count_alloc += 64;
|
list_count_alloc += 64;
|
||||||
new_list = realloc(list_ret, list_count_alloc * (sizeof(char *)));
|
new_list = realloc(list_ret, list_count_alloc * (sizeof(char *)));
|
||||||
if (!new_list)
|
if (!new_list)
|
||||||
{
|
{
|
||||||
free(list_ret);
|
free(list_ret);
|
||||||
|
|
||||||
if (count_ret)
|
if (count_ret)
|
||||||
*count_ret = 0;
|
*count_ret = 0;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
list_ret = new_list;
|
list_ret = new_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* put pointer of name string in */
|
/* put pointer of name string in */
|
||||||
list_ret[list_count - 1] = efn->name;
|
list_ret[list_count - 1] = efn->name;
|
||||||
}
|
}
|
||||||
|
@ -1344,7 +1345,7 @@ read_data_from_disk(Eet_File *ef, Eet_File_Node *efn, void *buf, int len)
|
||||||
/* seek to data location */
|
/* seek to data location */
|
||||||
if (fseek(ef->fp, efn->offset, SEEK_SET) < 0)
|
if (fseek(ef->fp, efn->offset, SEEK_SET) < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* read it */
|
/* read it */
|
||||||
len = fread(buf, len, 1, ef->fp);
|
len = fread(buf, len, 1, ef->fp);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue