uint32 new_size;
char *new_data;
+ ps->grow_size = MAX(ps->grow_size, ps->data_offset + extra_space);
+
if(ps->data_offset + extra_space <= ps->buffer_size)
return True;
********************************************************************/
BOOL prs_pointer(char *desc, prs_struct *ps, int depth, void **p)
{
- uint32 v;
+ uint32 v = (*p) ? 1 : 0;
if (!prs_uint32(desc, ps, depth, &v)) return False;
*p = (void *) (v ? 1 : 0);
return True;
BOOL is_dynamic; /* Do we own this memory or not ? */
uint32 data_offset; /* Current working offset into data. */
uint32 buffer_size; /* Current size of the buffer. */
+ uint32 grow_size; /* size requested via prs_grow() calls */
char *data_p; /* The buffer itself. */
} prs_struct;