Introduced wrapper macros snew(), snewn() and sresize() for the
[u/mdw/putty] / ldisc.c
diff --git a/ldisc.c b/ldisc.c
index d569f11..1febff3 100644 (file)
--- a/ldisc.c
+++ b/ldisc.c
@@ -65,7 +65,7 @@ void *ldisc_create(Config *mycfg, Terminal *term,
                   Backend *back, void *backhandle,
                   void *frontend)
 {
-    Ldisc ldisc = smalloc(sizeof(*ldisc));
+    Ldisc ldisc = snew(struct ldisc_tag);
 
     ldisc->buf = NULL;
     ldisc->buflen = 0;
@@ -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;
@@ -261,7 +261,7 @@ void ldisc_send(void *handle, char *buf, int len, int interactive)
                 default_case:
                if (ldisc->buflen >= ldisc->bufsiz) {
                    ldisc->bufsiz = ldisc->buflen + 256;
-                   ldisc->buf = srealloc(ldisc->buf, ldisc->bufsiz);
+                   ldisc->buf = sresize(ldisc->buf, ldisc->bufsiz, char);
                }
                ldisc->buf[ldisc->buflen++] = c;
                if (ECHOING)