/*===================================================================*/
/*=========================== util.c ================================*/
/*===================================================================*/
-void *util_memory_a (size_t, unsigned int, const char *);
-void util_memory_d (void *, unsigned int, const char *);
-void *util_memory_r (void *, size_t, unsigned int, const char *);
+void *util_memory_a (size_t, /*****/ unsigned int, const char *);
+void *util_memory_r (void *, size_t, unsigned int, const char *);
+void util_memory_d (void *);
void util_meminfo ();
bool util_filexists (const char *);
# define mem_r(x, n) realloc((void*)x, n)
#else
# define mem_a(x) util_memory_a((x), __LINE__, __FILE__)
-# define mem_d(x) util_memory_d((void*)(x), __LINE__, __FILE__)
+# define mem_d(x) util_memory_d((void*)(x))
# define mem_r(x, n) util_memory_r((void*)(x), (n), __LINE__, __FILE__)
#endif
GMQCC_INLINE int file_getc (FILE *);
GMQCC_INLINE int file_printf (FILE *, const char *, ...);
GMQCC_INLINE int file_puts (FILE *, const char *);
+GMQCC_INLINE int file_putc (FILE *, int);
GMQCC_INLINE int file_seek (FILE *, long int, int);
GMQCC_INLINE size_t file_read (void *, size_t, size_t, FILE *);
/*NOINLINE*/ int file_getline(char **, size_t *, FILE *);
+/*===================================================================*/
+/*=========================== correct.c =============================*/
+/*===================================================================*/
+void correct_del(ht, size_t **);
+void correct_add(ht, size_t ***, const char *);
+char *correct_str(ht, /********/ const char *);
+
/*===================================================================*/
/*=========================== code.c ================================*/
/*===================================================================*/
TYPE_ARRAY ,
TYPE_NIL , /* it's its own type / untyped */
+ TYPE_NOEXPR , /* simply invalid in expressions */
TYPE_COUNT
};
/*===================================================================*/
/*====================== ftepp.c commandline ========================*/
/*===================================================================*/
+struct lex_file_s;
+typedef struct {
+ const char *name;
+ char *(*func)(struct lex_file_s *);
+} ftepp_predef_t;
+
+/*
+ * line, file, counter, counter_last, random, random_last, date, time
+ * increment when items are added
+ */
+#define FTEPP_PREDEF_COUNT 8
+
bool ftepp_init ();
bool ftepp_preprocess_file (const char *filename);
bool ftepp_preprocess_string(const char *name, const char *str);
void ftepp_add_define (const char *source, const char *name);
void ftepp_add_macro (const char *name, const char *value);
+extern const ftepp_predef_t ftepp_predefs[FTEPP_PREDEF_COUNT];
+
/*===================================================================*/
/*======================= main.c commandline ========================*/
/*===================================================================*/