-static unsigned read_pointer(pointer *v, const char *data)
-{
- *v = *(void **)data;
- return sizeof(void *);
-}
-
-static unsigned read_data(const void **v, const char *data)
-{
- int vlen;
- unsigned pos = 0;
- pos += read_int(&vlen, data);
- if(vlen)
- *v = data+pos;
- else
- *v = NULL;
- return pos+vlen;
-}
-
-typedef const char *string;
-
-static unsigned read_string(string *v, const char *data)
-{
- return read_data((const void **)v, data);
-}
-
-static unsigned read_string_array(string **v, const char *data)
-{
- int count;
- unsigned pos = 0;
- int i;
- pos += read_int(&count, data);
- *v = (string *)tmpalloc(count*sizeof(string));
- for(i=0; i<count; ++i)
- pos += read_string(*v+i, data+pos);
- return pos;