2014-09-29 19:17:35 +00:00
|
|
|
struct pool_val {
|
|
|
|
char *s;
|
|
|
|
int type;
|
|
|
|
int n;
|
|
|
|
|
|
|
|
struct pool_val *left;
|
|
|
|
struct pool_val *right;
|
|
|
|
|
|
|
|
struct pool_val *next;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct pool {
|
2015-07-03 00:03:07 +00:00
|
|
|
struct pool_val **vals;
|
2014-09-29 19:17:35 +00:00
|
|
|
|
|
|
|
struct pool_val *head;
|
|
|
|
struct pool_val *tail;
|
|
|
|
int n;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct pool_val *pool(struct pool *p, char *s, int type);
|
|
|
|
void pool_free(struct pool *p);
|
2014-10-01 17:33:22 +00:00
|
|
|
void pool_free_strings(struct pool *p);
|
2014-09-29 19:17:35 +00:00
|
|
|
void pool_init(struct pool *p, int n);
|
2015-08-20 21:27:39 +00:00
|
|
|
int is_pooled(struct pool *p, const char *s, int type);
|