X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=gmqcc.h;h=e609257d7cf72281b3684fe1943eb1925a2a97b3;hp=5f1bdb3cfc00ca21fa9b5b814bc969caebd66a7b;hb=893f204b30affbb4407fcddb16576156a648eac6;hpb=a502a5453fe7ef7c1a298bd3097a160a6ecda860 diff --git a/gmqcc.h b/gmqcc.h index 5f1bdb3..e609257 100644 --- a/gmqcc.h +++ b/gmqcc.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, 2013, 2014 + * Copyright (C) 2012, 2013, 2014, 2015 * Dale Weiler * Wolfgang Bumiller * @@ -25,6 +25,7 @@ #define GMQCC_HDR #include #include +#include #include #define GMQCC_VERSION_MAJOR 0 @@ -178,20 +179,15 @@ GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \ #define GMQCC_ARRAY_COUNT(X) (sizeof(X) / sizeof((X)[0])) /* stat.c */ -void stat_info (void); -char *stat_mem_strdup (const char *, size_t, const char *, bool); -void stat_mem_deallocate(void *, size_t, const char *); -void *stat_mem_reallocate(void *, size_t, size_t, const char *, const char *); -void *stat_mem_allocate (size_t, size_t, const char *, const char *); +char *stat_mem_strdup(const char *, bool); -#define mem_a(SIZE) stat_mem_allocate ((SIZE), __LINE__, __FILE__, #SIZE) -#define mem_d(PTRN) stat_mem_deallocate((void*)(PTRN), __LINE__, __FILE__) -#define mem_r(PTRN, SIZE) stat_mem_reallocate((void*)(PTRN), (SIZE), __LINE__, __FILE__, #SIZE) -#define mem_af(SIZE, FILE, LINE) stat_mem_allocate ((SIZE), (LINE), (FILE), #SIZE) +#define mem_a(SIZE) malloc(SIZE) +#define mem_d(PTRN) free((void*)PTRN) +#define mem_r(PTRN, SIZE) realloc((void*)PTRN, SIZE) /* TODO: rename to mem variations */ -#define util_strdup(SRC) stat_mem_strdup((char*)(SRC), __LINE__, __FILE__, false) -#define util_strdupe(SRC) stat_mem_strdup((char*)(SRC), __LINE__, __FILE__, true) +#define util_strdup(SRC) stat_mem_strdup((char*)(SRC), false) +#define util_strdupe(SRC) stat_mem_strdup((char*)(SRC), true) /* util.c */ @@ -260,14 +256,14 @@ typedef struct { void _util_vec_grow(void **a, size_t i, size_t s); void _util_vec_delete(void *vec, size_t line, const char *file); -#define GMQCC_VEC_WILLGROW(X,Y) ( \ +#define GMQCC_VEC_WILLGROW(X, Y) ( \ ((!(X) || vec_meta(X)->used + Y >= vec_meta(X)->allocated)) ? \ (void)_util_vec_grow(((void**)&(X)), (Y), sizeof(*(X))) : \ (void)0 \ ) /* exposed interface */ -#define vec_meta(A) ((vector_t*)(((char *)(A)) - (sizeof(vector_t) + 4))) +#define vec_meta(A) ((vector_t*)(((char *)(A)) - sizeof(vector_t))) #define vec_free(A) ((void)((A) ? (_util_vec_delete((void *)(A), __LINE__, __FILE__), (A) = NULL) : 0)) #define vec_push(A,V) (GMQCC_VEC_WILLGROW((A),1), (A)[vec_meta(A)->used++] = (V)) #define vec_size(A) ((A) ? vec_meta(A)->used : 0) @@ -359,27 +355,6 @@ fs_dir_t *fs_dir_open (const char *); int fs_dir_close (fs_dir_t *); fs_dirent_t *fs_dir_read (fs_dir_t *); - -/* correct.c */ -typedef struct correct_trie_s { - void *value; - struct correct_trie_s *entries; -} correct_trie_t; - -correct_trie_t* correct_trie_new(void); - -typedef struct { - char ***edits; - size_t **lens; -} correction_t; - -void correct_del (correct_trie_t*, size_t **); -void correct_add (correct_trie_t*, size_t ***, const char *); -char *correct_str (correction_t *, correct_trie_t*, const char *); -void correct_init(correction_t *); -void correct_free(correction_t *); - - /* code.c */ /* Note: if you change the order, fix type_sizeof in ir.c */