]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/Array.cc
Fix several bugs with find
[evince.git] / pdf / xpdf / Array.cc
index 27ecbe9e7a1ae4a1559da5c3ac125d9ab71a4a5b..a6c6db19231e72fccd533a5381d8d67425a7f181 100644 (file)
@@ -38,8 +38,12 @@ Array::~Array() {
 }
 
 void Array::add(Object *elem) {
-  if (length + 1 > size) {
-    size += 8;
+  if (length == size) {
+    if (length == 0) {
+      size = 8;
+    } else {
+      size *= 2;
+    }
     elems = (Object *)grealloc(elems, size * sizeof(Object));
   }
   elems[length] = *elem;