]> git.deb.at Git - pkg/abook.git/blobdiff - misc.c
Fixed snprintf related bugs
[pkg/abook.git] / misc.c
diff --git a/misc.c b/misc.c
index 0a58cb96be67593103343ca25c032674321f3f06..1213dd57297d734797f3cc1c6d5ab3de91b1e2e1 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,6 +1,7 @@
 
 /*
- * misc.c
+ * $Id$
+ *
  * by JH <jheinonen@bigfoot.com>
  *
  * Copyright (C) Jaakko Heinonen
@@ -122,10 +123,13 @@ mkstr (const char *format, ... )
                                format, ap);
                MY_VA_END;
 
-               if (n > -1)
+               if (n > -1 && n < size)
                        return buffer;
 
-               size *= 2;
+               if (n > -1)
+                       size = n + 1;
+               else
+                       size *= 2;
                
                buffer =
 #ifdef ABOOK_SRC