Changeset 1440


Ignore:
Timestamp:
Nov 27, 2006, 3:58:59 PM (13 years ago)
Author:
Sam Hocevar
Message:
  • Got rid of that ugly cv->import member.
Location:
libcaca/trunk/cucul
Files:
4 edited

Legend:

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

    r1431 r1440  
    7777    cv->frames[0].curattr = 0;
    7878    cv->frames[0].name = strdup("frame#00000000");
    79     cv->frames[0].import = NULL;
    8079
    8180    _cucul_load_frame_info(cv);
     
    191190        free(cv->frames[f].attrs);
    192191        free(cv->frames[f].name);
    193         if(cv->frames[f].import)
    194             free(cv->frames[f].import);
    195192    }
    196193
  • libcaca/trunk/cucul/cucul_internals.h

    r1431 r1440  
    3535    /* Frame name */
    3636    char *name;
    37 
    38     /* Private information */
    39     void *import;
    4037};
    4138
  • libcaca/trunk/cucul/frame.c

    r1431 r1440  
    171171    sprintf(cv->frames[id].name + 6, "%.08x", ++cv->autoinc);
    172172
    173     cv->frames[id].import = NULL;
    174 
    175173    return 0;
    176174}
     
    216214    free(cv->frames[id].attrs);
    217215    free(cv->frames[id].name);
    218     if(cv->frames[id].import)
    219         free(cv->frames[id].import);
    220216
    221217    for(f = id + 1; f < cv->framecount; f++)
  • libcaca/trunk/cucul/import.c

    r1431 r1440  
    349349                            void const *data, unsigned int size, int utf8)
    350350{
    351     struct import *im;
     351    struct import im;
    352352    unsigned char const *buffer = (unsigned char const*)data;
    353     unsigned int i, j, init, skip, growx = 0, growy = 0, dummy = 0;
     353    unsigned int i, j, skip, growx = 0, growy = 0, dummy = 0;
    354354    unsigned int width, height;
    355355    uint32_t savedattr;
    356356    int x = 0, y = 0, save_x = 0, save_y = 0;
    357 
    358     init = !!cv->frames[cv->frame].import;
    359 
    360     if(!init)
    361     {
    362         cv->frames[cv->frame].import = malloc(sizeof(struct import));
    363         memset(cv->frames[cv->frame].import, 0, sizeof(struct import));
    364     }
    365 
    366     im = (struct import *)cv->frames[cv->frame].import;
    367357
    368358    if(utf8)
     
    382372    }
    383373
    384     if(!init)
    385     {
    386         if(utf8)
    387         {
    388             im->dfg = CUCUL_DEFAULT;
    389             im->dbg = CUCUL_TRANSPARENT;
    390         }
    391         else
    392         {
    393             im->dfg = CUCUL_LIGHTGRAY;
    394             im->dbg = CUCUL_BLACK;
    395         }
    396 
    397         cucul_set_color_ansi(cv, im->dfg, im->dbg);
    398         im->clearattr = cucul_get_attr(cv, -1, -1);
    399 
    400         ansi_parse_grcm(cv, im, 1, &dummy);
    401     }
     374    if(utf8)
     375    {
     376        im.dfg = CUCUL_DEFAULT;
     377        im.dbg = CUCUL_TRANSPARENT;
     378    }
     379    else
     380    {
     381        im.dfg = CUCUL_LIGHTGRAY;
     382        im.dbg = CUCUL_BLACK;
     383    }
     384
     385    cucul_set_color_ansi(cv, im.dfg, im.dbg);
     386    im.clearattr = cucul_get_attr(cv, -1, -1);
     387
     388    ansi_parse_grcm(cv, &im, 1, &dummy);
    402389
    403390    for(i = 0; i < size; i += skip)
     
    536523            case 'J': /* ED (0x4a) - Erase In Page */
    537524                savedattr = cucul_get_attr(cv, -1, -1);
    538                 cucul_set_attr(cv, im->clearattr);
     525                cucul_set_attr(cv, im.clearattr);
    539526                if(!argc || argv[0] == 0)
    540527                {
     
    574561#if 0
    575562                savedattr = cucul_get_attr(cv, -1, -1);
    576                 cucul_set_attr(cv, im->clearattr);
     563                cucul_set_attr(cv, im.clearattr);
    577564                for( ; (unsigned int)j < width; j++)
    578565                    cucul_put_char(cv, j, y, ' ');
     
    583570                {
    584571                    savedattr = cucul_get_attr(cv, -1, -1);
    585                     cucul_set_attr(cv, im->clearattr);
     572                    cucul_set_attr(cv, im.clearattr);
    586573                    cucul_draw_line(cv, x, y, x + argv[0] - 1, y, ' ');
    587574                    cucul_set_attr(cv, savedattr);
     
    602589            case 'm': /* SGR (0x6d) - Select Graphic Rendition */
    603590                if(argc)
    604                     ansi_parse_grcm(cv, im, argc, argv);
     591                    ansi_parse_grcm(cv, &im, argc, argv);
    605592                else
    606                     ansi_parse_grcm(cv, im, 1, &dummy);
     593                    ansi_parse_grcm(cv, &im, 1, &dummy);
    607594                break;
    608595            case 's': /* Private (save cursor position) */
     
    695682            {
    696683                savedattr = cucul_get_attr(cv, -1, -1);
    697                 cucul_set_attr(cv, im->clearattr);
     684                cucul_set_attr(cv, im.clearattr);
    698685                cucul_set_canvas_size(cv, width = x + wch, height);
    699686                cucul_set_attr(cv, savedattr);
     
    710697        {
    711698            savedattr = cucul_get_attr(cv, -1, -1);
    712             cucul_set_attr(cv, im->clearattr);
     699            cucul_set_attr(cv, im.clearattr);
    713700            if(growy)
    714701            {
     
    744731    {
    745732        savedattr = cucul_get_attr(cv, -1, -1);
    746         cucul_set_attr(cv, im->clearattr);
     733        cucul_set_attr(cv, im.clearattr);
    747734        cucul_set_canvas_size(cv, width, height = y);
    748735        cucul_set_attr(cv, savedattr);
Note: See TracChangeset for help on using the changeset viewer.