Changeset 889 for libcaca


Ignore:
Timestamp:
Apr 26, 2006, 10:21:46 AM (15 years ago)
Author:
Sam Hocevar
Message:
  • Coding style.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/cucul/import.c

    r888 r889  
    7373            return import_caca(data, size);
    7474
    75         /* If we find ESC[ tuple, we guess it's an ANSI file */
     75        /* If we find ESC[ argv, we guess it's an ANSI file */
    7676        while(i<size-1)
    7777        {
     
    202202
    203203#define IS_ALPHA(x) (x>='A' && x<='z')
    204 #define END_TUP 0x1337
     204#define END_ARG 0x1337
    205205static int parse_tuple(unsigned int *, unsigned char const *, int);
    206206static void manage_modifiers(int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, uint8_t *, uint8_t *);
     
    211211    unsigned char const *buffer = (unsigned char const*)data;
    212212    unsigned int i;
    213     unsigned int count = 0;
    214     unsigned int tuple[1024]; /* Should be enough. Will it be ? */
    215213    int x = 0, y = 0;
    216214    unsigned int width = 80, height = 25;
     
    246244        if(buffer[i] == '\x1b' && buffer[i + 1] == '[')  /* ESC code */
    247245        {
     246            unsigned int argv[1024]; /* Should be enough. Will it be? */
     247            unsigned int argc = 0;
    248248            unsigned char c = '\0';
    249249
     
    258258                }
    259259
    260             skip += parse_tuple(tuple, buffer + i, size - i);
    261             count = 0;
    262 
    263             while(tuple[count] != END_TUP)
    264                 count++;  /* Gruik */
     260            skip += parse_tuple(argv, buffer + i, size - i);
     261
     262            while(argv[argc] != END_ARG)
     263                argc++;  /* Gruik */
    265264
    266265            switch(c)
     
    268267            case 'f':
    269268            case 'H':
    270                 if(tuple[0] == END_TUP)
    271                     x = y = 0;
    272                 else
     269                switch(argc)
    273270                {
    274                     y = tuple[0] - 1;
    275                     x = tuple[1] == END_TUP ? 0 : tuple[1] - 1;
     271                    case 0: x = y = 0; break;
     272                    case 1: y = argv[0] - 1; x = 0; break;
     273                    case 2: y = argv[0] - 1; x = argv[1] - 1; break;
    276274                }
    277275                break;
    278276            case 'A':
    279                 y -= tuple[0] == END_TUP ? 1 : tuple[0];
     277                y -= argc ? argv[0] : 1;
    280278                if(y < 0)
    281279                    y = 0;
    282280                break;
    283281            case 'B':
    284                 y += tuple[0] == END_TUP ? 1 : tuple[0];
     282                y += argc ? argv[0] : 1;
    285283                break;
    286284            case 'C':
    287                 x += tuple[0] == END_TUP ? 1 : tuple[0];
     285                x += argc ? argv[0] : 1;
    288286                break;
    289287            case 'D':
    290                 x -= tuple[0] == END_TUP ? 1 : tuple[0];
     288                x -= argc ? argv[0] : 1;
    291289                if(x < 0)
    292290                    x = 0;
     
    301299                break;
    302300            case 'J':
    303                 if(tuple[0] == 2)
     301                if(argv[0] == 2)
    304302                    x = y = 0;
    305303                break;
     
    311309                break;
    312310            case 'm':
    313                 for(j = 0; j < count; j++)
    314                     manage_modifiers(tuple[j], &fg, &bg, &save_fg, &save_bg, &bold, &reverse);
     311                for(j = 0; j < argc; j++)
     312                    manage_modifiers(argv[j], &fg, &bg,
     313                                     &save_fg, &save_bg, &bold, &reverse);
    315314                if(bold && fg < 8)
    316315                    fg += 8;
     
    360359    unsigned char nbr[1024];
    361360
    362     ret[0] = END_TUP;
     361    ret[0] = END_ARG;
    363362
    364363    for(i = 0; i < size; i++)
     
    371370                t++;
    372371            }
    373             ret[t] = END_TUP;
     372            ret[t] = END_ARG;
    374373            j = 0;
    375374            return i;
     
    386385            ret[t] = atoi((char*)nbr);
    387386            t++;
    388             ret[t] = END_TUP;
     387            ret[t] = END_ARG;
    389388            j = 0;
    390389        }
     
    393392}
    394393
    395 static void manage_modifiers(int i, uint8_t *fg, uint8_t *bg, uint8_t *save_fg, uint8_t *save_bg, uint8_t *bold, uint8_t *reverse)
     394static void manage_modifiers(int i, uint8_t *fg, uint8_t *bg, uint8_t *save_fg,
     395                             uint8_t *save_bg, uint8_t *bold, uint8_t *reverse)
    396396{
    397397    static uint8_t const ansi2cucul[] =
Note: See TracChangeset for help on using the changeset viewer.