X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fmempool-fmt.c;h=91b39cb6306235e973ed5024a67973c5af6e3f47;hb=7334fc5c5cfe4848b8855ad54b74a0eec8f6ac08;hp=04345687f85e7f597c741b1ca214d6afbb44d91b;hpb=a4fe009d3366b0a3e119713b0ecc7fc0070efdfa;p=libucw.git diff --git a/ucw/mempool-fmt.c b/ucw/mempool-fmt.c index 04345687..91b39cb6 100644 --- a/ucw/mempool-fmt.c +++ b/ucw/mempool-fmt.c @@ -8,15 +8,15 @@ * of the GNU Lesser General Public License. */ -#include "ucw/lib.h" -#include "ucw/mempool.h" +#include +#include #include #include #include static char * -mp_vprintf_at(struct mempool *mp, uns ofs, const char *fmt, va_list args) +mp_vprintf_at(struct mempool *mp, size_t ofs, const char *fmt, va_list args) { char *ret = mp_grow(mp, ofs + 1) + ofs; va_list args2; @@ -37,7 +37,7 @@ mp_vprintf_at(struct mempool *mp, uns ofs, const char *fmt, va_list args) } else if ((uns)cnt >= mp_avail(mp) - ofs) { - ret = mp_grow(mp, cnt + 1) + ofs; + ret = mp_grow(mp, ofs + cnt + 1) + ofs; va_copy(args2, args); int cnt2 = vsnprintf(ret, cnt + 1, fmt, args2); va_end(args2); @@ -65,15 +65,15 @@ mp_printf(struct mempool *p, const char *fmt, ...) } char * -mp_vprintf_append(struct mempool *mp, char *ptr, const char *fmt, va_list args) +mp_append_vprintf(struct mempool *mp, char *ptr, const char *fmt, va_list args) { - uns ofs = mp_open(mp, ptr); + size_t ofs = mp_open(mp, ptr); ASSERT(ofs && !ptr[ofs - 1]); return mp_vprintf_at(mp, ofs - 1, fmt, args); } char * -mp_printf_append(struct mempool *mp, char *ptr, const char *fmt, ...) +mp_append_printf(struct mempool *mp, char *ptr, const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -89,7 +89,7 @@ int main(void) struct mempool *mp = mp_new(64); char *x = mp_printf(mp, "", "World"); fputs(x, stdout); - x = mp_printf_append(mp, x, ""); + x = mp_append_printf(mp, x, ""); fputs(x, stdout); x = mp_printf(mp, "\n", "World"); fputs(x, stdout);