- Timestamp:
- Jun 15, 2008, 3:50:22 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/legacy.c
r2299 r2410 173 173 } 174 174 175 #if !defined(__KERNEL__)176 175 cucul_buffer_t *cucul_load_file(char const *file) 177 176 { 178 177 cucul_buffer_t *buf; 179 FILE *fp;180 long int size;181 182 f p = fopen(file, "rb");183 if(!f p)178 cucul_file_t *f; 179 int ret; 180 181 f = cucul_file_open(file, "rb"); 182 if(!f) 184 183 return NULL; 185 184 … … 187 186 if(!buf) 188 187 { 189 fclose(fp); 190 return NULL; 191 } 192 193 fseek(fp, 0, SEEK_END); 194 size = ftell(fp); 195 196 buf->data = malloc(size); 197 if(!buf->data) 198 { 199 free(buf); 200 fclose(fp); 201 return NULL; 202 } 203 buf->size = size; 204 buf->user_data = 0; 205 206 fseek(fp, 0, SEEK_SET); 207 fread(buf->data, buf->size, 1, fp); 208 fclose(fp); 188 cucul_file_close(f); 189 return NULL; 190 } 191 192 buf->data = NULL; 193 buf->size = 0; 194 195 while(!cucul_file_eof(f)) 196 { 197 buf->data = realloc(buf->data, buf->size + 1024); 198 if(!buf->data) 199 { 200 int saved_errno = geterrno(); 201 free(buf); 202 cucul_file_close(f); 203 seterrno(saved_errno); 204 return NULL; 205 } 206 207 ret = cucul_file_read(f, buf->data + buf->size, 1024); 208 if(ret >= 0) 209 buf->size += ret; 210 } 211 cucul_file_close(f); 209 212 210 213 return buf; 211 214 } 212 #endif213 215 214 216 unsigned long int cucul_get_buffer_size(cucul_buffer_t *buf)
Note: See TracChangeset
for help on using the changeset viewer.