Never pass a `char' to a ctype function. I had relied on gcc -Wall
[u/mdw/putty] / ldisc.c
diff --git a/ldisc.c b/ldisc.c
index 7b3976e..91af0ac 100644 (file)
--- a/ldisc.c
+++ b/ldisc.c
 #include "terminal.h"
 #include "ldisc.h"
 
-#define ECHOING (ldisc->cfg->localecho == LD_YES || \
-                 (ldisc->cfg->localecho == LD_BACKEND && \
+#define ECHOING (ldisc->cfg->localecho == FORCE_ON || \
+                 (ldisc->cfg->localecho == AUTO && \
                       (ldisc->back->ldisc(ldisc->backhandle, LD_ECHO) || \
                           term_ldisc(ldisc->term, LD_ECHO))))
-#define EDITING (ldisc->cfg->localedit == LD_YES || \
-                 (ldisc->cfg->localedit == LD_BACKEND && \
+#define EDITING (ldisc->cfg->localedit == FORCE_ON || \
+                 (ldisc->cfg->localedit == AUTO && \
                       (ldisc->back->ldisc(ldisc->backhandle, LD_EDIT) || \
                           term_ldisc(ldisc->term, LD_EDIT))))
 
@@ -164,8 +164,8 @@ void ldisc_send(void *handle, char *buf, int len, int interactive)
                        bsb(ldisc, plen(ldisc, ldisc->buf[ldisc->buflen - 1]));
                    ldisc->buflen--;
                    if (ldisc->buflen > 0 &&
-                       isspace(ldisc->buf[ldisc->buflen - 1]) &&
-                       !isspace(ldisc->buf[ldisc->buflen]))
+                       isspace((unsigned char)ldisc->buf[ldisc->buflen-1]) &&
+                       !isspace((unsigned char)ldisc->buf[ldisc->buflen]))
                        break;
                }
                break;