---
 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

Reply via email to