]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - misc.c
Fix __uint128_t compile error on MinGW.
[PuTTY.git] / misc.c
diff --git a/misc.c b/misc.c
index 0d5673b3c6c38f433c0cc7118527a6ad642a1d26..0e1d622d380228ad13b11181abc5d20dc309170e 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -175,7 +175,7 @@ int main(void)
     return fails != 0 ? 1 : 0;
 }
 /* Stubs to stop the rest of this module causing compile failures. */
-void modalfatalbox(char *fmt, ...) {}
+void modalfatalbox(const char *fmt, ...) {}
 int conf_get_int(Conf *conf, int primary) { return 0; }
 char *conf_get_str(Conf *conf, int primary) { return NULL; }
 #endif /* TEST_HOST_STRFOO */
@@ -473,11 +473,29 @@ char *fgetline(FILE *fp)
     return ret;
 }
 
+/*
+ * Perl-style 'chomp', for a line we just read with fgetline. Unlike
+ * Perl chomp, however, we're deliberately forgiving of strange
+ * line-ending conventions. Also we forgive NULL on input, so you can
+ * just write 'line = chomp(fgetline(fp));' and not bother checking
+ * for NULL until afterwards.
+ */
+char *chomp(char *str)
+{
+    if (str) {
+        int len = strlen(str);
+        while (len > 0 && (str[len-1] == '\r' || str[len-1] == '\n'))
+            len--;
+        str[len] = '\0';
+    }
+    return str;
+}
+
 /* ----------------------------------------------------------------------
  * Core base64 encoding and decoding routines.
  */
 
-void base64_encode_atom(unsigned char *data, int n, char *out)
+void base64_encode_atom(const unsigned char *data, int n, char *out)
 {
     static const char base64_chars[] =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@@ -501,7 +519,7 @@ void base64_encode_atom(unsigned char *data, int n, char *out)
        out[3] = '=';
 }
 
-int base64_decode_atom(char *atom, unsigned char *out)
+int base64_decode_atom(const char *atom, unsigned char *out)
 {
     int vals[4];
     int i, v, len;
@@ -737,7 +755,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)
@@ -779,7 +797,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)
@@ -812,9 +830,9 @@ void safefree(void *ptr)
  */
 
 #ifdef DEBUG
-extern void dputs(char *);             /* defined in per-platform *misc.c */
+extern void dputs(const char *); /* defined in per-platform *misc.c */
 
-void debug_printf(char *fmt, ...)
+void debug_printf(const char *fmt, ...)
 {
     char *buf;
     va_list ap;
@@ -827,10 +845,10 @@ void debug_printf(char *fmt, ...)
 }
 
 
-void debug_memdump(void *buf, int len, int L)
+void debug_memdump(const void *buf, int len, int L)
 {
     int i;
-    unsigned char *p = buf;
+    const unsigned char *p = buf;
     char foo[17];
     if (L) {
        int delta;