diff options
author | ache <ache@FreeBSD.org> | 1995-03-24 17:59:48 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1995-03-24 17:59:48 +0000 |
commit | f362fa39c5d219c09612e83f1458ceffd6663366 (patch) | |
tree | ae13072b2c5edc5ecb878f99b6d29344fad6eea8 /gnu/lib/libdialog/kernel.c | |
parent | 89bccb0c6fab19c5c24cc80c7de0343b63d547c3 (diff) | |
download | FreeBSD-src-f362fa39c5d219c09612e83f1458ceffd6663366.zip FreeBSD-src-f362fa39c5d219c09612e83f1458ceffd6663366.tar.gz |
Get rid of strtok(), it is depricated inside libs
Diffstat (limited to 'gnu/lib/libdialog/kernel.c')
-rw-r--r-- | gnu/lib/libdialog/kernel.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gnu/lib/libdialog/kernel.c b/gnu/lib/libdialog/kernel.c index d3793037..defb321 100644 --- a/gnu/lib/libdialog/kernel.c +++ b/gnu/lib/libdialog/kernel.c @@ -167,7 +167,7 @@ void attr_clear(WINDOW *win, int height, int width, chtype attr) */ void print_autowrap(WINDOW *win, unsigned char *prompt, int height, int width, int maxwidth, int y, int x, int center, int rawmode) { - int first = 1, cur_x, cur_y, i; + int cur_x, cur_y, i; unsigned char tempstr[MAX_LEN+1], *word, *tempptr, *tempptr1; chtype ostuff[132], attrs = 0, init_bottom = 0; @@ -244,13 +244,15 @@ void print_autowrap(WINDOW *win, unsigned char *prompt, int height, int width, i waddstr(win, tempstr); } else { + char *p = tempstr; + /* Print prompt word by word, wrap around if necessary */ - while ((word = strtok(first ? tempstr : NULL, "\t\n ")) != NULL) { + while ((word = strsep(&p, "\t\n ")) != NULL) { int loop; unsigned char sc; - if (first) /* First iteration */ - first = 0; + if (*word == '\0') + continue; do { loop = 0; if (cur_x+strlen(word) >= width+1) { /* wrap around to next line */ |