Changeset dd6af02
- Timestamp:
- Sep 28, 2009, 12:56:20 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:
- fb2f9ab
- Parents:
- 7b4d90e
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
fmtext.c
r7b4d90e rdd6af02 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'. 420 * message is placed in 'out'. The message is expected to end in a 421 * new line for now. 421 422 * 422 423 * NOTE: This needs to be modified to deal with backing up if we find … … 442 443 ptr_e=strchr(ptr_s, '\n'); 443 444 if (!ptr_e) { 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; 445 /* but this shouldn't happen if we end in a \n */ 446 break; 447 447 } 448 448 … … 499 499 owl_fmtext_append_normal(out, "\n"); 500 500 } 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; 501 ptr_s = g_utf8_next_char(ptr_e); 506 502 } 507 503 } -
tester.c
r7b4d90e rdd6af02 12 12 int owl_filter_regtest(void); 13 13 int owl_obarray_regtest(void); 14 int owl_fmtext_regtest(void);15 14 16 15 int main(int argc, char **argv, char **env) … … 30 29 numfailures += owl_filter_regtest(); 31 30 numfailures += owl_obarray_regtest(); 32 numfailures += owl_fmtext_regtest();33 31 if (numfailures) { 34 32 fprintf(stderr, "# *** WARNING: %d failures total\n", numfailures); … … 308 306 return numfailed; 309 307 } 310 311 312 int owl_fmtext_regtest(void) {313 int numfailed = 0;314 char *p;315 316 owl_fmtext fm1, fm2;317 318 owl_fmtext_init_null(&fm1);319 owl_fmtext_init_null(&fm2);320 321 printf("# BEGIN testing owl_fmtext\n");322 323 /* Test truncate_cols:324 * - newline removal on long lines325 * - handle lines without trailing newlines326 * - don't kill short lines327 */328 owl_fmtext_append_normal(&fm1, "foo\n1234567890\n1234567890\nbaz");329 owl_fmtext_truncate_cols(&fm1, 1, 5, &fm2);330 p = owl_fmtext_print_plain(&fm2);331 FAIL_UNLESS("returned truncating columns worked properly", p && !strcmp(p, "oo\n2345623456az"));332 owl_free(p);333 334 owl_fmtext_free(&fm1);335 owl_fmtext_free(&fm2);336 337 printf("# END testing owl_fmtext (%d failures)\n", numfailed);338 339 return numfailed;340 } -
viewwin.c
r4083c49 rdd6af02 35 35 void owl_viewwin_init_fmtext(owl_viewwin *v, WINDOW *win, int winlines, int wincols, const owl_fmtext *fmtext) 36 36 { 37 char *text; 38 37 39 owl_fmtext_copy(&(v->fmtext), fmtext); 40 text = owl_fmtext_print_plain(fmtext); 41 if (text[0] != '\0' && text[strlen(text) - 1] != '\n') { 42 owl_fmtext_append_normal(&(v->fmtext), "\n"); 43 } 38 44 v->textlines=owl_fmtext_num_lines(&(v->fmtext)); 39 45 v->topline=0;
Note: See TracChangeset
for help on using the changeset viewer.