]> andersk Git - splint.git/blobdiff - src/message.c
Making fixes for Microsoft Visual C++ compiler.
[splint.git] / src / message.c
index 87a5cf5385ea2943fa78bc7f33b0db1e47123ff9..55129890f9a665e46f8170952097d2c0003412a3 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2002 University of Virginia,
+** Copyright (C) 1994-2003 University of Virginia,
 **         Massachusetts Institute of Technology
 **
 ** This program is free software; you can redistribute it and/or modify it
@@ -40,9 +40,16 @@ typedef enum
   XPERCENT, XCTYPE, XPLURAL, XREPREFIX, XFILELOC, XPOINTER
 } ccode;
 
-/* char *s, anytype v */
+/*@function void GETPRINTF (char *p_s, anytype p_v) modifies strbuf@*/
+
 /*@notfunction@*/
-# define GETPRINTF(s,v) (sprintf (strbuf, s, v), mstring_copy (strbuf))
+# ifndef WIN32
+  /* ISO requires this, but not all implementations (e.g., Microsoft's) provide it */
+# define GETPRINTF(s,v) (snprintf (strbuf, 64, s, v), mstring_copy (strbuf))
+# else
+  /* MS provides _snprintf instead */
+# define GETPRINTF(s,v) (_snprintf (strbuf, 64, s, v), mstring_copy (strbuf))
+# endif
 
 /*
 ** returns control code indicated by *c, and
@@ -239,8 +246,10 @@ message (/*@temp@*/ char *fmt, ...)
              ret = mstring_concatFree (ret, GETPRINTF ("%.2lf", va_arg (pvar, double)));
              break;
            case XBOOL:
-             ret = mstring_concatFree1 (ret, cstring_toCharsSafe 
-                                   (bool_unparse (va_arg (pvar, bool))));
+             ret = mstring_concatFree1 
+               (ret, cstring_toCharsSafe 
+                (bool_unparse (bool_fromInt ((va_arg (pvar, int)))))); 
+             /* va_arg should not use bool type */
              break;
            case XUENTRY:
              ret = mstring_concatFree (ret, cstring_toCharsSafe 
This page took 0.037429 seconds and 4 git commands to generate.