What is the best way to reallocate memory for char array?

Maxim Dounin mdounin at mdounin.ru
Mon Nov 17 14:22:25 UTC 2014


On Mon, Nov 17, 2014 at 09:09:34AM -0500, kay wrote:

> For example I've allocated memory for char *str:
> str = ngx_pnalloc(r->pool, len1);
> Then I've added some data to "str":
> ngx_sprintf(str, "abc");
> How should I reallocate this memory? Should I use:
> str = ngx_pnalloc(r->pool, len2);
> ? And I would like to keep the str's "abc" data as well.

Best strategy is to allocate len1 + len2 from the start.  E.g., 
you may try looking into autoindex module: it calculates size of a 
buffer it will need, and then allocates the buffer.

Maxim Dounin

More information about the nginx mailing list