Changeset 5482 for trunk/Ohana/src/kapa/graph/DrawRotString.c
- Timestamp:
- Nov 6, 2005, 3:49:41 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/kapa/graph/DrawRotString.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/kapa/graph/DrawRotString.c
r5386 r5482 329 329 char *c, *segment, basefont[64]; 330 330 int i, N, code; 331 int dX, dY, Xoff, Yoff, X, Y, Nseg, YoffBase;331 int dX, dY, Xoff, Yoff, X, Y, Nseg, NSEG, YoffBase; 332 332 double cs, sn, fscale; 333 333 int basesize; … … 372 372 fprintf (f, " %d %d moveto %f rotate\n", X, Y, -angle); 373 373 374 ALLOCATE (segment, char, strlen (c)+2);375 bzero (segment, strlen (c)+2);376 374 Nseg = 0; 375 NSEG = strlen(c) + 2; 376 ALLOCATE (segment, char, NSEG); 377 bzero (segment, NSEG); 377 378 378 379 code = FALSE; … … 385 386 /* check for special characters */ 386 387 if (!code) { 388 /* superscript character (^) */ 387 389 if (N == 94) { 388 390 PSDumpRotSegment (f, segment, &Nseg); … … 394 396 continue; 395 397 } 398 /* subscript character (_) */ 396 399 if (N == 95) { 397 400 PSDumpRotSegment (f, segment, &Nseg); … … 403 406 continue; 404 407 } 408 /* end super/sub script (|) */ 405 409 if (N == 124) { 406 410 PSDumpRotSegment (f, segment, &Nseg); … … 411 415 continue; 412 416 } 417 /* escape char (\) */ 413 418 if (N == 92) { 414 419 code = TRUE; 415 420 continue; 416 421 } 422 /* begin paren (insert \) */ 423 if (N == 40) { 424 code = FALSE; 425 segment[Nseg] = 92; 426 Nseg ++; 427 CHECK_REALLOCATE (segment, char, NSEG, Nseg, 64); 428 } 429 /* end paren (insert \) */ 430 if (N == 41) { 431 code = FALSE; 432 segment[Nseg] = 92; 433 Nseg ++; 434 CHECK_REALLOCATE (segment, char, NSEG, Nseg, 64); 435 } 436 /* font change character (&) */ 417 437 if (N == 38) { 418 438 PSDumpRotSegment (f, segment, &Nseg); … … 440 460 segment[Nseg] = N; 441 461 Nseg ++; 462 CHECK_REALLOCATE (segment, char, NSEG, Nseg, 64); 442 463 } 443 464 PSDumpRotSegment (f, segment, &Nseg); … … 447 468 } 448 469 449 450 470 void PSDumpRotSegment (FILE *f, char *segment, int *Nseg) { 471 segment[*Nseg] = 0; 451 472 fprintf (f, "(%s) show\n", segment); 452 473 bzero (segment, *Nseg);
Note:
See TracChangeset
for help on using the changeset viewer.
