---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel