Kill the VSPRINTF macro.
[osl.git] / log.h
diff --git a/log.h b/log.h
index dfb05652a56e6ae35c612bef0a34bb6d6dd81b1b..9c3bf4ba6eaf2d398e52cb4aadfad36bb7c48434 100644 (file)
--- a/log.h
+++ b/log.h
 /** \endcond */
 
 __printf_2_3 void __log(int, const char*, ...);
-
-/**
- * Write a log message to a dynamically allocated string.
- *
- * \param fmt Usual format string.
- * \param p Result pointer.
- *
- * \sa printf(3). */
-#define VSPRINTF(fmt, p) \
-{ \
-       int n; \
-       size_t size = 100; \
-       p = malloc(size); \
-       if (p) { \
-               while (1) { \
-                       char *q; \
-                       va_list ap; \
-                       /* Try to print in the allocated space. */ \
-                       va_start(ap, fmt); \
-                       n = vsnprintf(p, size, fmt, ap); \
-                       va_end(ap); \
-                       /* If that worked, return the string. */ \
-                       if (n > -1 && n < size) \
-                               break; \
-                       /* Else try again with more space. */ \
-                       if (n > -1) /* glibc 2.1 */ \
-                               size = n + 1; /* precisely what is needed */ \
-                       else /* glibc 2.0 */ \
-                               size *= 2; /* twice the old size */ \
-                       q = realloc(p, size); \
-                       if (!q) { \
-                               free(p); \
-                               p = NULL; \
-                               break; \
-                       } \
-               } \
-       } \
-}