Changeset 1440 for libcaca/trunk
- Timestamp:
- Nov 27, 2006, 3:58:59 PM (16 years ago)
- Location:
- libcaca/trunk/cucul
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/cucul.c
r1431 r1440 77 77 cv->frames[0].curattr = 0; 78 78 cv->frames[0].name = strdup("frame#00000000"); 79 cv->frames[0].import = NULL;80 79 81 80 _cucul_load_frame_info(cv); … … 191 190 free(cv->frames[f].attrs); 192 191 free(cv->frames[f].name); 193 if(cv->frames[f].import)194 free(cv->frames[f].import);195 192 } 196 193 -
libcaca/trunk/cucul/cucul_internals.h
r1431 r1440 35 35 /* Frame name */ 36 36 char *name; 37 38 /* Private information */39 void *import;40 37 }; 41 38 -
libcaca/trunk/cucul/frame.c
r1431 r1440 171 171 sprintf(cv->frames[id].name + 6, "%.08x", ++cv->autoinc); 172 172 173 cv->frames[id].import = NULL;174 175 173 return 0; 176 174 } … … 216 214 free(cv->frames[id].attrs); 217 215 free(cv->frames[id].name); 218 if(cv->frames[id].import)219 free(cv->frames[id].import);220 216 221 217 for(f = id + 1; f < cv->framecount; f++) -
libcaca/trunk/cucul/import.c
r1431 r1440 349 349 void const *data, unsigned int size, int utf8) 350 350 { 351 struct import *im;351 struct import im; 352 352 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; 354 354 unsigned int width, height; 355 355 uint32_t savedattr; 356 356 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;367 357 368 358 if(utf8) … … 382 372 } 383 373 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); 402 389 403 390 for(i = 0; i < size; i += skip) … … 536 523 case 'J': /* ED (0x4a) - Erase In Page */ 537 524 savedattr = cucul_get_attr(cv, -1, -1); 538 cucul_set_attr(cv, im ->clearattr);525 cucul_set_attr(cv, im.clearattr); 539 526 if(!argc || argv[0] == 0) 540 527 { … … 574 561 #if 0 575 562 savedattr = cucul_get_attr(cv, -1, -1); 576 cucul_set_attr(cv, im ->clearattr);563 cucul_set_attr(cv, im.clearattr); 577 564 for( ; (unsigned int)j < width; j++) 578 565 cucul_put_char(cv, j, y, ' '); … … 583 570 { 584 571 savedattr = cucul_get_attr(cv, -1, -1); 585 cucul_set_attr(cv, im ->clearattr);572 cucul_set_attr(cv, im.clearattr); 586 573 cucul_draw_line(cv, x, y, x + argv[0] - 1, y, ' '); 587 574 cucul_set_attr(cv, savedattr); … … 602 589 case 'm': /* SGR (0x6d) - Select Graphic Rendition */ 603 590 if(argc) 604 ansi_parse_grcm(cv, im, argc, argv);591 ansi_parse_grcm(cv, &im, argc, argv); 605 592 else 606 ansi_parse_grcm(cv, im, 1, &dummy);593 ansi_parse_grcm(cv, &im, 1, &dummy); 607 594 break; 608 595 case 's': /* Private (save cursor position) */ … … 695 682 { 696 683 savedattr = cucul_get_attr(cv, -1, -1); 697 cucul_set_attr(cv, im ->clearattr);684 cucul_set_attr(cv, im.clearattr); 698 685 cucul_set_canvas_size(cv, width = x + wch, height); 699 686 cucul_set_attr(cv, savedattr); … … 710 697 { 711 698 savedattr = cucul_get_attr(cv, -1, -1); 712 cucul_set_attr(cv, im ->clearattr);699 cucul_set_attr(cv, im.clearattr); 713 700 if(growy) 714 701 { … … 744 731 { 745 732 savedattr = cucul_get_attr(cv, -1, -1); 746 cucul_set_attr(cv, im ->clearattr);733 cucul_set_attr(cv, im.clearattr); 747 734 cucul_set_canvas_size(cv, width, height = y); 748 735 cucul_set_attr(cv, savedattr);
Note: See TracChangeset
for help on using the changeset viewer.