version 1.4.63b
[polyglot.git] / util.h
diff --git a/util.h b/util.h
index 3855a82..c25ef4e 100644 (file)
--- a/util.h
+++ b/util.h
-\r
-// util.h\r
-\r
-#ifndef UTIL_H\r
-#define UTIL_H\r
-\r
-// includes\r
-\r
-#include <stdio.h>\r
-#include <sys/types.h>\r
-#include <sys/timeb.h>\r
-#include <sys/stat.h>\r
-\r
-// defines\r
-\r
-#ifndef EXIT_SUCCES\r
-#define EXIT_SUCCES 0\r
-#endif\r
-\r
-#ifndef STDIN_FILENO\r
-#define STDIN_FILENO 0\r
-#endif\r
-\r
-#ifndef STDOUT_FILENO\r
-#define STDOUT_FILENO 1\r
-#endif\r
-\r
-\r
-#undef FALSE\r
-#define FALSE 0\r
-\r
-#undef TRUE\r
-#define TRUE 1\r
-\r
-#ifdef DEBUG\r
-#  undef DEBUG\r
-#  define DEBUG TRUE\r
-#else\r
-#  define DEBUG FALSE\r
-#endif\r
-\r
-#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)\r
-#  define S64_FORMAT "%I64d"\r
-#  define U64_FORMAT "%016I64X"\r
-#else\r
-#  define S64_FORMAT "%lld"\r
-#  define U64_FORMAT "%016llX"\r
-#endif\r
-\r
-// macros\r
-\r
-#ifdef _MSC_VER\r
-#  define S64(u) (u##i64)\r
-#  define U64(u) (u##ui64)\r
-#else\r
-#  define S64(u) (u##LL)\r
-#  define U64(u) (u##ULL)\r
-#endif\r
-\r
-#undef ASSERT\r
-#if DEBUG\r
-#  define ASSERT(a) { if (!(a)) my_fatal("file \"%s\", line %d, assertion \"" #a "\" failed\n",__FILE__,__LINE__); }\r
-#else\r
-#  define ASSERT(a)\r
-#endif\r
-\r
-#ifdef _WIN32\r
-#define snprintf _snprintf\r
-#endif\r
-\r
-#define FormatBufferSize 4096\r
-\r
-#ifdef _MSC_VER\r
-#define vsnprintf _vsnprintf\r
-#endif\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)-1]='\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
-#define TO_BOOL(string) ((my_string_case_equal(string,"false") ||   \\r
-                          my_string_equal(string,"0"))?FALSE:TRUE)\r
-\r
-#define IS_BOOL(string) (my_string_case_equal(string,"false")||     \\r
-                         my_string_case_equal(string,"true") ||     \\r
-                         my_string_case_equal(string,"1")    ||     \\r
-                         my_string_case_equal(string,"0"))\r
-// types\r
-\r
-typedef signed char sint8;\r
-typedef unsigned char uint8;\r
-\r
-typedef signed short sint16;\r
-typedef unsigned short uint16;\r
-\r
-typedef signed int sint32;\r
-typedef unsigned int uint32;\r
-\r
-typedef int bool;\r
-\r
-#ifdef _MSC_VER\r
-  typedef signed __int64 sint64;\r
-  typedef unsigned __int64 uint64;\r
-#else\r
-  typedef signed long long int sint64;\r
-  typedef unsigned long long int uint64;\r
-#endif\r
-\r
-typedef struct {\r
-   double start_real;\r
-   double elapsed_real;\r
-   bool running;\r
-} my_timer_t;\r
-\r
-\r
-// functions\r
-\r
-extern void   util_init             ();\r
-\r
-extern void   my_random_init        ();\r
-extern int    my_random_int         (int n);\r
-extern double my_random_double      ();\r
-\r
-extern sint64 my_atoll              (const char string[]);\r
-\r
-extern int    my_round              (double x);\r
-\r
-extern void * my_malloc             (size_t size);\r
-extern void * my_realloc            (void * address, size_t size);\r
-extern void   my_free               (void * address);\r
-\r
-extern void   my_log_open           (const char file_name[]);\r
-extern void   my_log_close          ();\r
-\r
-extern void   my_log                (const char format[], ...);\r
-extern void   my_fatal              (const char format[], ...);\r
-\r
-extern bool   my_file_read_line     (FILE * file, char string[], int size);\r
-extern void   my_path_join          (char *join_path, const char *path, const char *file);\r
-\r
-extern int    my_mkdir              (const char *path);\r
-\r
-extern bool   my_string_empty       (const char string[]);\r
-extern bool   my_string_whitespace  (const char string[]);\r
-extern bool   my_string_equal       (const char string_1[], const char string_2[]);\r
-extern bool   my_string_case_equal  (const char string_1[], const char string_2[]);\r
-extern const char* my_string_case_contains(const char haystack[], \r
-                                          const char needle[]);\r
-\r
-\r
-extern bool   my_string_to_lower    (char dst[], const char src[]);\r
-\r
-extern char * my_strdup             (const char string[]);\r
-\r
-extern void   my_string_clear       (const char * * variable);\r
-extern void   my_string_set         (const char * * variable, const char string[]);\r
-\r
-extern double now_real              ();\r
-\r
-extern void   my_timer_reset        (my_timer_t * timer);\r
-extern void   my_timer_start        (my_timer_t * timer);\r
-extern void   my_timer_stop         (my_timer_t * timer);\r
-\r
-extern double my_timer_elapsed_real (const my_timer_t * timer);\r
-\r
-extern char * my_error();\r
-\r
-extern void my_dequote              (char *out, \r
-                                    const char *in, \r
-                                    const char *special);\r
-extern void my_quote                (char *out, \r
-                                    const char *in, \r
-                                    const char *special);\r
-\r
-extern void my_sleep                (int msec);\r
-\r
-#endif // !defined UTIL_H\r
-\r
-// end of util.h\r
+
+// util.h
+
+#ifndef UTIL_H
+#define UTIL_H
+
+// includes
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/timeb.h>
+#include <sys/stat.h>
+
+// defines
+
+#ifndef EXIT_SUCCES
+#define EXIT_SUCCES 0
+#endif
+
+#ifndef STDIN_FILENO
+#define STDIN_FILENO 0
+#endif
+
+#ifndef STDOUT_FILENO
+#define STDOUT_FILENO 1
+#endif
+
+
+#undef FALSE
+#define FALSE 0
+
+#undef TRUE
+#define TRUE 1
+
+#ifdef DEBUG
+#  undef DEBUG
+#  define DEBUG TRUE
+#else
+#  define DEBUG FALSE
+#endif
+
+#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
+#  define S64_FORMAT "%I64d"
+#  define U64_FORMAT "%016I64X"
+#else
+#  define S64_FORMAT "%lld"
+#  define U64_FORMAT "%016llX"
+#endif
+
+// macros
+
+#ifdef _MSC_VER
+#  define S64(u) (u##i64)
+#  define U64(u) (u##ui64)
+#else
+#  define S64(u) (u##LL)
+#  define U64(u) (u##ULL)
+#endif
+
+#undef ASSERT
+#if DEBUG
+#  define ASSERT(a) { if (!(a)) my_fatal("file \"%s\", line %d, assertion \"" #a "\" failed\n",__FILE__,__LINE__); }
+#else
+#  define ASSERT(a)
+#endif
+
+#ifdef _WIN32
+#define snprintf _snprintf
+#endif
+
+#define FormatBufferSize 4096
+#define StringSize       4096
+
+#ifdef _MSC_VER
+#define vsnprintf _vsnprintf
+#endif
+
+#define CONSTRUCT_ARG_STRING(format,buf)                                 \
+    {                                                                    \
+        va_list arg_list;                                                \
+        int written;                                                     \
+        va_start(arg_list,format);                                       \
+        written=vsnprintf(buf,                                           \
+                          sizeof(buf),                                   \
+                          format,                                        \
+                          arg_list);                                     \
+        va_end(arg_list);                                                \
+        buf[sizeof(buf)-1]='\0';                                         \
+        if(written>=sizeof(buf) || written<0){                           \
+           my_fatal("write_buffer overflow: file \"%s\", line %d\n",     \
+                   __FILE__,__LINE__);                                   \
+        }                                                                \
+    }                                                                    \
+
+#define TO_BOOL(string) ((my_string_case_equal(string,"false") ||   \
+                          my_string_equal(string,"0"))?FALSE:TRUE)
+
+#define IS_BOOL(string) (my_string_case_equal(string,"false")||     \
+                         my_string_case_equal(string,"true") ||     \
+                         my_string_case_equal(string,"1")    ||     \
+                         my_string_case_equal(string,"0"))
+// types
+
+typedef signed char sint8;
+typedef unsigned char uint8;
+
+typedef signed short sint16;
+typedef unsigned short uint16;
+
+typedef signed int sint32;
+typedef unsigned int uint32;
+
+typedef int bool;
+
+#ifdef _MSC_VER
+  typedef signed __int64 sint64;
+  typedef unsigned __int64 uint64;
+#else
+  typedef signed long long int sint64;
+  typedef unsigned long long int uint64;
+#endif
+
+typedef struct {
+   double start_real;
+   double elapsed_real;
+   bool running;
+} my_timer_t;
+
+
+// functions
+
+extern void   util_init             ();
+
+extern void   my_random_init        ();
+extern int    my_random_int         (int n);
+extern double my_random_double      ();
+
+extern sint64 my_atoll              (const char string[]);
+
+extern int    my_round              (double x);
+
+extern void * my_malloc             (size_t size);
+extern void * my_realloc            (void * address, size_t size);
+extern void   my_free               (void * address);
+
+extern void   my_log_open           (const char file_name[]);
+extern void   my_log_close          ();
+
+extern void   my_log                (const char format[], ...);
+extern void   my_fatal              (const char format[], ...);
+
+extern bool   my_file_read_line     (FILE * file, char string[], int size);
+extern void   my_path_join          (char *join_path, const char *path, const char *file);
+
+extern int    my_mkdir              (const char *path);
+
+extern bool   my_string_empty       (const char string[]);
+extern bool   my_string_whitespace  (const char string[]);
+extern bool   my_string_equal       (const char string_1[], const char string_2[]);
+extern bool   my_string_case_equal  (const char string_1[], const char string_2[]);
+extern const char* my_string_case_contains(const char haystack[], 
+                                          const char needle[]);
+
+
+extern bool   my_string_to_lower    (char dst[], const char src[]);
+
+extern char * my_strdup             (const char string[]);
+
+extern void   my_string_clear       (const char * * variable);
+extern void   my_string_set         (const char * * variable, const char string[]);
+
+extern double now_real              ();
+
+extern void   my_timer_reset        (my_timer_t * timer);
+extern void   my_timer_start        (my_timer_t * timer);
+extern void   my_timer_stop         (my_timer_t * timer);
+
+extern double my_timer_elapsed_real (const my_timer_t * timer);
+
+extern char * my_error();
+
+extern void my_dequote              (char *out, 
+                                    const char *in, 
+                                    const char *special);
+extern void my_quote                (char *out, 
+                                    const char *in, 
+                                    const char *special);
+
+extern void my_sleep                (int msec);
+
+#endif // !defined UTIL_H
+
+// end of util.h