Bläddra i källkod

* Make deprecated cucul_load_file() use cucul_file_t functions.

tags/v0.99.beta14
Sam Hocevar sam 17 år sedan
förälder
incheckning
9edb7dc623
1 ändrade filer med 22 tillägg och 20 borttagningar
  1. +22
    -20
      cucul/legacy.c

+ 22
- 20
cucul/legacy.c Visa fil

@@ -172,44 +172,46 @@ cucul_buffer_t *cucul_load_memory(void *data, unsigned long int size)
return buf; return buf;
} }


#if !defined(__KERNEL__)
cucul_buffer_t *cucul_load_file(char const *file) cucul_buffer_t *cucul_load_file(char const *file)
{ {
cucul_buffer_t *buf; cucul_buffer_t *buf;
FILE *fp; cucul_file_t *f;
long int size; int ret;


fp = fopen(file, "rb"); f = cucul_file_open(file, "rb");
if(!fp) if(!f)
return NULL; return NULL;


buf = malloc(sizeof(cucul_buffer_t)); buf = malloc(sizeof(cucul_buffer_t));
if(!buf) if(!buf)
{ {
fclose(fp); cucul_file_close(f);
return NULL; return NULL;
} }


fseek(fp, 0, SEEK_END); buf->data = NULL;
size = ftell(fp); buf->size = 0;


buf->data = malloc(size); while(!cucul_file_eof(f))
if(!buf->data)
{ {
free(buf); buf->data = realloc(buf->data, buf->size + 1024);
fclose(fp); if(!buf->data)
return NULL; {
int saved_errno = geterrno();
free(buf);
cucul_file_close(f);
seterrno(saved_errno);
return NULL;
}

ret = cucul_file_read(f, buf->data + buf->size, 1024);
if(ret >= 0)
buf->size += ret;
} }
buf->size = size; cucul_file_close(f);
buf->user_data = 0;

fseek(fp, 0, SEEK_SET);
fread(buf->data, buf->size, 1, fp);
fclose(fp);


return buf; return buf;
} }
#endif


unsigned long int cucul_get_buffer_size(cucul_buffer_t *buf) unsigned long int cucul_get_buffer_size(cucul_buffer_t *buf)
{ {


||||||
x
 
000:0
Laddar…
Avbryt
Spara