--- lib/string.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/lib/string.c b/lib/string.c index 6b9fadc..32a1b55 100644 --- a/lib/string.c +++ b/lib/string.c @@ -55,9 +55,9 @@ int str_resize(struct string *str, unsigned long capacity) return 0; } -static unsigned long str_remaining(struct string *str) +static unsigned long str_remaining(struct string *str, int offset) { - return str->capacity - str->length; + return str->capacity - offset; } static int str_vprintf(struct string *str, unsigned long offset, @@ -68,7 +68,7 @@ static int str_vprintf(struct string *str, unsigned long offset, int nr, err = 0; retry: - size = str_remaining(str); + size = str_remaining(str, offset); va_copy(tmp_args, args); nr = vsnprintf(str->value + offset, size, fmt, tmp_args); va_end(tmp_args); @@ -78,10 +78,9 @@ static int str_vprintf(struct string *str, unsigned long offset, if (err) goto out; - str->length = offset; goto retry; } - str->length += nr; + str->length = offset + nr; out: return err; -- 1.7.1 ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel