]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
You made substantial changes to this file, you get a name :P
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 8171da37f60e5c966d5dfcd0f9f2ce36d1cb1eb1..bc5f5b0481c01578d090bb1cbab114972313e22c 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2012
- *     Dale Weiler, Wolfgang Bumiller
+ *     Dale Weiler
+ *     Wolfgang Bumiller
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy of
  * this software and associated documentation files (the "Software"), to deal in
@@ -270,6 +271,13 @@ typedef struct hash_table_t {
 /*
  * hashtable implementation:
  * 
+ * Note:
+ *      This was designed for pointers:  you manage the life of the object yourself
+ *      if you do use this for non-pointers please be warned that the object may not
+ *      be valid if the duration of it exceeds (i.e on stack).  So you need to allocate
+ *      yourself, or put those in global scope to ensure duration is for the whole
+ *      runtime.
+ * 
  * util_htnew(size)                             -- to make a new hashtable
  * util_htset(table, key, value, sizeof(value)) -- to set something in the table
  * util_htget(table, key)                       -- to get something from the table
@@ -280,8 +288,8 @@ typedef struct hash_table_t {
  * ht    foo  = util_htnew(1024);
  * int   data = 100;
  * char *test = "hello world\n";
- * util_htset(foo, "foo", (void*)&data, sizeof(int));
- * util_gtset(foo, "bar", (void*)test,  strlen(test));
+ * util_htset(foo, "foo", (void*)&data);
+ * util_gtset(foo, "bar", (void*)test);
  * 
  * printf("foo: %d, bar %s",
  *     *((int *)util_htget(foo, "foo")),
@@ -291,7 +299,7 @@ typedef struct hash_table_t {
  * util_htdel(foo);
  */
 hash_table_t *util_htnew(size_t size);
-void          util_htset(hash_table_t *ht, const char *key, void *value, size_t size);
+void          util_htset(hash_table_t *ht, const char *key, void *value);
 void         *util_htget(hash_table_t *ht, const char *key);
 void          util_htdel(hash_table_t *ht);
 /*===================================================================*/
@@ -804,6 +812,7 @@ bool ftepp_preprocess_string(const char *name, const char *str);
 void ftepp_finish           ();
 const char *ftepp_get       ();
 void ftepp_flush            ();
+void ftepp_add_define       (const char *source, const char *name);
 
 /*===================================================================*/
 /*======================= main.c commandline ========================*/