git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
small logging changes
[swftools.git]
/
pdf2swf
/
xpdf
/
Array.cc
diff --git
a/pdf2swf/xpdf/Array.cc
b/pdf2swf/xpdf/Array.cc
index
fbdde49
..
10ded14
100644
(file)
--- a/
pdf2swf/xpdf/Array.cc
+++ b/
pdf2swf/xpdf/Array.cc
@@
-2,15
+2,17
@@
//
// Array.cc
//
//
// Array.cc
//
-// Copyright 1996-2002 Glyph & Cog, LLC
+// Copyright 1996-2003 Glyph & Cog, LLC
//
//========================================================================
//
//========================================================================
-#ifdef __GNUC__
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
#pragma implementation
#endif
#pragma implementation
#endif
-#include <aconf.h>
+#include <stdlib.h>
#include <stddef.h>
#include "gmem.h"
#include "Object.h"
#include <stddef.h>
#include "gmem.h"
#include "Object.h"
@@
-36,18
+38,36
@@
Array::~Array() {
}
void Array::add(Object *elem) {
}
void Array::add(Object *elem) {
- if (length + 1 > size) {
- size += 8;
- elems = (Object *)grealloc(elems, size * sizeof(Object));
+ if (length == size) {
+ if (length == 0) {
+ size = 8;
+ } else {
+ size *= 2;
+ }
+ elems = (Object *)greallocn(elems, size, sizeof(Object));
}
elems[length] = *elem;
++length;
}
Object *Array::get(int i, Object *obj) {
}
elems[length] = *elem;
++length;
}
Object *Array::get(int i, Object *obj) {
+ if (i < 0 || i >= length) {
+#ifdef DEBUG_MEM
+ abort();
+#else
+ return obj->initNull();
+#endif
+ }
return elems[i].fetch(xref, obj);
}
Object *Array::getNF(int i, Object *obj) {
return elems[i].fetch(xref, obj);
}
Object *Array::getNF(int i, Object *obj) {
+ if (i < 0 || i >= length) {
+#ifdef DEBUG_MEM
+ abort();
+#else
+ return obj->initNull();
+#endif
+ }
return elems[i].copy(obj);
}
return elems[i].copy(obj);
}