summaryrefslogtreecommitdiff
path: root/fitz
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-12-04 21:17:43 +0000
committerTor Andersson <tor@ghostscript.com>2010-12-04 21:17:43 +0000
commitcf4e4a89c9614198fc0e38dc2f740ca1c05ab867 (patch)
tree81461dcf04b38f06b797ab0f612071e4139bcfa7 /fitz
parentc8c6acfa08a280e6eabd89eb7a2fedd95b4d2f48 (diff)
downloadmupdf-cf4e4a89c9614198fc0e38dc2f740ca1c05ab867.tar.xz
Add option to ascii hex encode binary streams in pdfclean.
Diffstat (limited to 'fitz')
-rw-r--r--fitz/fitz.h1
-rw-r--r--fitz/obj_array.c23
2 files changed, 24 insertions, 0 deletions
diff --git a/fitz/fitz.h b/fitz/fitz.h
index a2803899..99751b3e 100644
--- a/fitz/fitz.h
+++ b/fitz/fitz.h
@@ -424,6 +424,7 @@ int fz_arraylen(fz_obj *array);
fz_obj *fz_arrayget(fz_obj *array, int i);
void fz_arrayput(fz_obj *array, int i, fz_obj *obj);
void fz_arraypush(fz_obj *array, fz_obj *obj);
+void fz_arrayinsert(fz_obj *array, fz_obj *obj);
int fz_dictlen(fz_obj *dict);
fz_obj *fz_dictgetkey(fz_obj *dict, int idx);
diff --git a/fitz/obj_array.c b/fitz/obj_array.c
index d7d2d2e7..75f4a6b5 100644
--- a/fitz/obj_array.c
+++ b/fitz/obj_array.c
@@ -104,6 +104,29 @@ fz_arraypush(fz_obj *obj, fz_obj *item)
}
void
+fz_arrayinsert(fz_obj *obj, fz_obj *item)
+{
+ obj = fz_resolveindirect(obj);
+
+ if (!fz_isarray(obj))
+ fz_warn("assert: not an array (%s)", fz_objkindstr(obj));
+ else
+ {
+ if (obj->u.a.len + 1 > obj->u.a.cap)
+ {
+ int i;
+ obj->u.a.cap = (obj->u.a.cap * 3) / 2;
+ obj->u.a.items = fz_realloc(obj->u.a.items, sizeof (fz_obj*) * obj->u.a.cap);
+ for (i = obj->u.a.len ; i < obj->u.a.cap; i++)
+ obj->u.a.items[i] = nil;
+ }
+ memmove(obj->u.a.items + 1, obj->u.a.items, obj->u.a.len * sizeof(fz_obj*));
+ obj->u.a.items[0] = fz_keepobj(item);
+ obj->u.a.len++;
+ }
+}
+
+void
fz_freearray(fz_obj *obj)
{
int i;