- Timestamp:
- Apr 26, 2006, 2:18:35 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/import.c
r896 r901 46 46 * \param buffer A \e libcucul buffer containing the data to be loaded 47 47 * into a canvas. 48 * \param size The length of the memory area.49 48 * \param format A string describing the input format. 50 49 * \return A libcucul canvas, or NULL in case of error. 51 50 */ 52 cucul_canvas_t * cucul_import_canvas(cucul_buffer_t *b , char const *format)53 { 54 char const *buf = (char const*)b ->data;55 56 if(b ->size == 0 || b->data == NULL)51 cucul_canvas_t * cucul_import_canvas(cucul_buffer_t *buffer, char const *format) 52 { 53 char const *buf = (char const*)buffer->data; 54 55 if(buffer->size == 0 || buffer->data == NULL) 57 56 return NULL; 58 57 59 58 if(!strcasecmp("caca", format)) 60 return import_caca(b ->data, b->size);59 return import_caca(buffer->data, buffer->size); 61 60 if(!strcasecmp("text", format)) 62 return import_text(b ->data, b->size);61 return import_text(buffer->data, buffer->size); 63 62 if(!strcasecmp("ansi", format)) 64 return import_ansi(b ->data, b->size);63 return import_ansi(buffer->data, buffer->size); 65 64 66 65 /* Autodetection */ … … 69 68 unsigned int i=0; 70 69 /* if 4 first letters are CACA */ 71 if(b ->size >= 4 &&70 if(buffer->size >= 4 && 72 71 buf[0] == 'C' && buf[1] == 'A' && buf[2] == 'C' && buf[3] != 'A') 73 return import_caca(b ->data, b->size);72 return import_caca(buffer->data, buffer->size); 74 73 75 74 /* If we find ESC[ argv, we guess it's an ANSI file */ 76 while(i < b ->size - 1)75 while(i < buffer->size - 1) 77 76 { 78 77 if((buf[i] == 0x1b) && (buf[i+1] == '[')) 79 return import_ansi(b ->data, b->size);78 return import_ansi(buffer->data, buffer->size); 80 79 i++; 81 80 } 82 81 83 82 /* Otherwise, import it as text */ 84 return import_text(b ->data, b->size);83 return import_text(buffer->data, buffer->size); 85 84 } 86 85 return NULL;
Note: See TracChangeset
for help on using the changeset viewer.