]> git.kaiwu.me - klib.git/commitdiff
Two bugs reported by istreeter and wanghc78
authorHeng Li <lh3@me.com>
Sat, 26 Jan 2013 23:09:06 +0000 (18:09 -0500)
committerHeng Li <lh3@me.com>
Sat, 26 Jan 2013 23:09:06 +0000 (18:09 -0500)
kvec.h

diff --git a/kvec.h b/kvec.h
index 301f1b9c3df553a9479da0d7a623192a1fbd6a7d..676be8b80f19c30d28024b012a8f57e2b0c432ed 100644 (file)
--- a/kvec.h
+++ b/kvec.h
@@ -81,10 +81,10 @@ int main() {
                                                        (v).a = (type*)realloc((v).a, sizeof(type) * (v).m), 0) \
                                                   : 0), ((v).a + ((v).n++))
 
-#define kv_a(type, v, i) ((v).m <= (size_t)(i)?                                                \
+#define kv_a(type, v, i) (((v).m <= (size_t)(i)? \
                                                  ((v).m = (v).n = (i) + 1, kv_roundup32((v).m), \
                                                   (v).a = (type*)realloc((v).a, sizeof(type) * (v).m), 0) \
-                                                 : (v).n <= (size_t)(i)? (v).n = (i)                   \
-                                                 : 0), (v).a[(i)]
+                                                 : (v).n <= (size_t)(i)? (v).n = (i) + 1 \
+                                                 : 0), (v).a[(i)])
 
 #endif