]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - misc.c
Fix a mistaken use of a format string in logevent().
[PuTTY.git] / misc.c
diff --git a/misc.c b/misc.c
index 94b5ac8ab986e240a3a768996399b294dbe7016f..d40f99017e74284ccacccb930ebb4dab9d750e73 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -459,7 +459,7 @@ char *fgetline(FILE *fp)
     int size = 512, len = 0;
     while (fgets(ret + len, size - len, fp)) {
        len += strlen(ret + len);
-       if (ret[len-1] == '\n')
+       if (len > 0 && ret[len-1] == '\n')
            break;                     /* got a newline, we're done */
        size = len + 512;
        ret = sresize(ret, size, char);
@@ -736,7 +736,7 @@ void *safemalloc(size_t n, size_t size)
 #else
        strcpy(str, "Out of memory!");
 #endif
-       modalfatalbox(str);
+       modalfatalbox("%s", str);
     }
 #ifdef MALLOC_LOG
     if (fp)
@@ -778,7 +778,7 @@ void *saferealloc(void *ptr, size_t n, size_t size)
 #else
        strcpy(str, "Out of memory!");
 #endif
-       modalfatalbox(str);
+       modalfatalbox("%s", str);
     }
 #ifdef MALLOC_LOG
     if (fp)
@@ -1035,3 +1035,14 @@ int smemeq(const void *av, const void *bv, size_t len)
      * we want to return 1, so then we can just shift down. */
     return (0x100 - val) >> 8;
 }
+
+int strstartswith(const char *s, const char *t)
+{
+    return !memcmp(s, t, strlen(t));
+}
+
+int strendswith(const char *s, const char *t)
+{
+    size_t slen = strlen(s), tlen = strlen(t);
+    return slen >= tlen && !strcmp(s + (slen - tlen), t);
+}