Index: edit.c =================================================================== RCS file: /mnt/scsi/cvsroot/bbs100/src/edit.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- edit.c 16 Mar 2002 22:33:13 -0000 1.1.1.1 +++ edit.c 22 Mar 2002 20:52:17 -0000 1.1.1.1.2.1 @@ -32,6 +32,7 @@ #include #include +#include /* Returns: @@ -653,7 +654,7 @@ break; default: - if (c < ' ' || c > '~') + if (!isprint(c)) break; if (usr->edit_pos < MAX_LINE-1) { @@ -699,7 +700,7 @@ case KEY_BS: if (usr->edit_pos) { usr->edit_pos--; - if (usr->edit_buf[usr->edit_pos] >= ' ' && usr->edit_buf[usr->edit_pos] <= '~') + if (isprint(usr->edit_buf[usr->edit_pos])) Put(usr, "\b \b"); else Put(usr, "\031"); @@ -722,7 +723,7 @@ break; default: - if (c < ' ' || c > '~') + if (!isprint(c)) break; if (usr->edit_pos < MAX_LINE-1) { @@ -799,7 +800,7 @@ case KEY_BS: if (usr->edit_pos) { usr->edit_pos--; - if (usr->edit_buf[usr->edit_pos] >= ' ' && usr->edit_buf[usr->edit_pos] <= '~') + if (isprint(usr->edit_buf[usr->edit_pos])) Put(usr, "\b \b"); else Put(usr, "\007"); @@ -828,7 +829,7 @@ break; default: - if (c < ' ' || c > '~') + if (!isprint(c)) break; if (usr->edit_pos < MAX_LINE-2) { @@ -842,7 +843,7 @@ /* word wrap */ i = usr->edit_pos; while(i > (MAX_LINE >> 1) && usr->edit_buf[i] != ' ') { - if (usr->edit_buf[i] >= ' ' && usr->edit_buf[i] <= '~') + if (isprint(usr->edit_buf[i])) strcat(buf, "\b \b"); i--; } @@ -911,7 +912,7 @@ case KEY_BS: if (usr->edit_pos) { usr->edit_pos--; - if (usr->edit_buf[usr->edit_pos] >= ' ' && usr->edit_buf[usr->edit_pos] <= '~') + if (isprint(usr->edit_buf[usr->edit_pos])) Put(usr, "\b \b"); else Put(usr, "\007"); @@ -940,7 +941,7 @@ break; default: - if (c < ' ' || c > '~') + if (!isprint(c)) break; if (usr->edit_pos < MAX_LINE-2) { @@ -954,7 +955,7 @@ /* word wrap */ i = usr->edit_pos; while(i > (MAX_LINE >> 1) && usr->edit_buf[i] != ' ') { - if (usr->edit_buf[i] >= ' ' && usr->edit_buf[i] <= '~') + if (isprint(usr->edit_buf[i])) strcat(buf, "\b \b"); i--; } @@ -1082,8 +1083,8 @@ break; } if (color && usr->edit_pos < MAX_LINE-1) { - if (usr->edit_pos && (usr->edit_buf[usr->edit_pos-1] < ' ' - || usr->edit_buf[usr->edit_pos-1] > '~')) + if (usr->edit_pos && + (!isprint(usr->edit_buf[usr->edit_pos-1]))) usr->edit_pos--; /* overwrite multiple colors */ usr->edit_buf[usr->edit_pos++] = color; @@ -1106,7 +1107,7 @@ buf[0] = 0; for(p = line; *p != 0; p++) - if (*p >= ' ' && *p <= '~') + if (isprint(*p)) strcat(buf, "\b \b"); Put(usr, buf); } Index: state.c =================================================================== RCS file: /mnt/scsi/cvsroot/bbs100/src/state.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.2 diff -u -r1.1.1.1 -r1.1.1.1.2.2 --- state.c 16 Mar 2002 22:33:13 -0000 1.1.1.1 +++ state.c 22 Mar 2002 20:53:52 -0000 1.1.1.1.2.2 @@ -57,6 +57,7 @@ #include #include #include +#include #define STRING_CHANCE ((rand() % 20) < 4) @@ -2268,7 +2269,7 @@ } while(c >= 0 && l >= 0 && c > (usr->term_width-9)) { l--; - if (buf[l] >= ' ' && buf[l] <= '~') + if (isprint(buf[l])) c--; buf[l] = 0; } Index: util.c =================================================================== RCS file: /mnt/scsi/cvsroot/bbs100/src/util.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.2 diff -u -r1.1.1.1 -r1.1.1.1.2.2 --- util.c 16 Mar 2002 22:33:13 -0000 1.1.1.1 +++ util.c 22 Mar 2002 20:53:52 -0000 1.1.1.1.2.2 @@ -40,6 +40,7 @@ #include #include #include +#include #define HACK_CHANCE ((rand() % 20) < 4) @@ -254,7 +255,7 @@ return 0; while(*str) { - if (*str >= ' ' && *str <= '~') + if (isprint(*str)) len++; str++; }