X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ucw%2Fmempool-fmt.c;h=1b98a2d39df9d5ffabac8f6b17b983fc9f585271;hb=ae7dfec55384883a72867d4877b5283a3c1c8aa1;hp=04345687f85e7f597c741b1ca214d6afbb44d91b;hpb=ad920945145a18895ef391511c92ef42e0e4c3d7;p=libucw.git diff --git a/ucw/mempool-fmt.c b/ucw/mempool-fmt.c index 04345687..1b98a2d3 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; @@ -35,9 +35,9 @@ mp_vprintf_at(struct mempool *mp, uns ofs, const char *fmt, va_list args) } while (cnt < 0); } - else if ((uns)cnt >= mp_avail(mp) - ofs) + else if ((uint)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);