]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Add some more types to dbapi2's snprintf function.
authorChris Porter <redacted>
Tue, 30 Sep 2008 05:00:54 +0000 (06:00 +0100)
committerChris Porter <redacted>
Tue, 30 Sep 2008 05:00:54 +0000 (06:00 +0100)
dbapi2/dbapi2.c

index 9a641fe252cdaaa5c77140745e97392819fce92c..d6ca8bed73e8fea7d5787e1995737b7c4cde0fef 100644 (file)
@@ -8,6 +8,8 @@
 #include <string.h>
 #include <stdlib.h>
 #include <stdarg.h>
+#include <time.h>
+#include <stdint.h>
 
 #include "../core/error.h"
 #include "../lib/strlfunc.h"
@@ -229,6 +231,9 @@ static void dbvsnprintf(const DBAPIConn *db, char *buf, size_t size, const char
     unsigned int u;
     size_t l;
     int fallthrough;
+    time_t t;
+    unsigned long ul;
+    long _l;
 
     for(i=0;i<VSNPF_MAXARGS;i++)
       convbuf[i][0] = '\0';
@@ -281,6 +286,18 @@ static void dbvsnprintf(const DBAPIConn *db, char *buf, size_t size, const char
           u = va_arg(ap, unsigned int);
           snprintf(cb, VSNPF_MAXARGLEN, "%u", u);
           break;
+        case 't':
+          t = va_arg(ap, time_t);
+          snprintf(cb, VSNPF_MAXARGLEN, "%jd", (intmax_t)t);
+          break;
+        case 'D':
+          _l = va_arg(ap, long);
+          snprintf(cb, VSNPF_MAXARGLEN, "%ld", _l);
+          break;
+        case 'U':
+          ul = va_arg(ap, unsigned long);
+          snprintf(cb, VSNPF_MAXARGLEN, "%lu", ul);
+          break;
         case 'g':
           g = va_arg(ap, double);
           snprintf(cb, VSNPF_MAXARGLEN, "%.1f", g);