- Timestamp:
- Sep 25, 2009, 7:43:51 PM (15 years ago)
- Branches:
- master, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- dd6af02
- Parents:
- da60ba9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fmtext.c
r89b2daf r7b4d90e 418 418 /* Truncate the message so that each line begins at column 'acol' and 419 419 * ends at 'bcol' or sooner. The first column is number 0. The new 420 * message is placed in 'out'. The message is * expected to end in a 421 * new line for now. NOTE: This needs to be modified to deal with 422 * backing up if we find a SPACING COMBINING MARK at the end of a 423 * line. If that happens, we should back up to the last non-mark 424 * character and stop there. 420 * message is placed in 'out'. 421 * 422 * NOTE: This needs to be modified to deal with backing up if we find 423 * a SPACING * COMBINING MARK at the end of a line. If that happens, 424 * we should back up to * the last non-mark character and stop there. 425 * 426 * NOTE: If a line ends at bcol, we omit the newline. This is so printing 427 * to ncurses works. 425 428 */ 426 429 void owl_fmtext_truncate_cols(const owl_fmtext *in, int acol, int bcol, owl_fmtext *out) … … 439 442 ptr_e=strchr(ptr_s, '\n'); 440 443 if (!ptr_e) { 441 /* but this shouldn't happen if we end in a \n */ 442 break; 444 /* set it to the NULL at the end of the string, to handle a line that is 445 * not newline-terminated */ 446 ptr_e = last+1; 443 447 } 444 448 … … 495 499 owl_fmtext_append_normal(out, "\n"); 496 500 } 497 ptr_s = g_utf8_next_char(ptr_e); 501 /* Be careful if ptr_e is pointing to the NULL if we do not end with a 502 * newline. We don't really need this check, but pointing ptr_s past the 503 * NULL byte is just asking for problems later. 504 */ 505 ptr_s = (ptr_e <= last) ? g_utf8_next_char(ptr_e) : ptr_e; 498 506 } 499 507 }
Note: See TracChangeset
for help on using the changeset viewer.