Files
mars-tinyldap/mduptab.h
leitner 05d388f122 add journal rereading
add DelRequest support
add little delete test tool ldapdelete
2008-04-20 06:59:11 +00:00

20 lines
764 B
C

/* save memory for constant strings by keeping a list of the ones that
* we already saw and not allocating memory for each new one. The only
* API is "add string and return offset". The offset is relative to the
* root of the pstorage_t. Will try to insert the string in the table.
* If the same string was already there, it will return offset of that
* string, otherwise it will insert a copy of the new string. */
#include "mstorage.h"
typedef struct mduptable {
mstorage_t table,strings;
mstorage_t* Strings;
} mduptab_t;
void mduptab_init(mduptab_t* t);
void mduptab_init_reuse(mduptab_t* t,mstorage_t* s);
long mduptab_add(mduptab_t* t,const char* s,size_t len);
long mduptab_adds(mduptab_t* t,const char* s);
void mduptab_reset(mduptab_t* t);