version 1.4.34b
[polyglot.git] / util.h
diff --git a/util.h b/util.h
index cf197fe..2b0886c 100644 (file)
--- a/util.h
+++ b/util.h
 #define snprintf _snprintf\r
 #endif\r
 \r
+#define FormatBufferSize 4096\r
+\r
+#define CONSTRUCT_ARG_STRING(format,buf)                                 \\r
+    {                                                                    \\r
+        va_list arg_list;                                                \\r
+        int written;                                                     \\r
+        va_start(arg_list,format);                                       \\r
+        written=vsnprintf(buf,                                           \\r
+                          sizeof(buf),                                   \\r
+                          format,                                        \\r
+                          arg_list);                                     \\r
+        va_end(arg_list);                                                \\r
+        buf[sizeof(buf)]='\0';                                           \\r
+        if(written>=sizeof(buf) || written<0){                           \\r
+           my_fatal("write_buffer overflow: file \"%s\", line %d\n",     \\r
+                   __FILE__,__LINE__);                                   \\r
+        }                                                                \\r
+    }                                                                    \\r
+\r
 // types\r
 \r
 typedef signed char sint8;\r
@@ -92,6 +111,7 @@ typedef struct {
    bool running;\r
 } my_timer_t;\r
 \r
+\r
 // functions\r
 \r
 extern void   util_init             ();\r
@@ -135,9 +155,6 @@ extern double my_timer_elapsed_real (const my_timer_t * timer);
 \r
 extern char * my_error();\r
 \r
-extern char * my_getcwd             (char *buf, size_t size);\r
-extern int    my_chdir              (const char *path);\r
-\r
 #endif // !defined UTIL_H\r
 \r
 // end of util.h\r