]> mj.ucw.cz Git - libucw.git/commit
Added a new mempool primitive mp_spread().
authorMartin Mares <mj@ucw.cz>
Thu, 29 Mar 2007 08:48:06 +0000 (10:48 +0200)
committerMartin Mares <mj@ucw.cz>
Thu, 29 Mar 2007 09:06:41 +0000 (11:06 +0200)
commitc03ed904000c42f07ff05570b4191096bc9ce869
tree420db6596aba2c4bcee8b0b5eb7483109ba2bff1
parent33f4c9043db1681727e67f88b7dcf0bf8a0e61fc
Added a new mempool primitive mp_spread().

Gradual construction of strings via the growing mempool interface was still
too complicated, so I have introduced a new primitive for this case and also
modified mp_end() to return a pointer to the beginning of the just closed
block (which gets optimized out if unused). This allows to write:

byte *p = mp_start(pool, 1);
for (...) {
p = mp_spread(pool, p, 2);
*p++ = ...;
}
*p++ = 0;
return mp_end(pool);

Pavel, if you agree, I will merge this into mainline.
lib/mempool.c
lib/mempool.h