summaryrefslogtreecommitdiff
path: root/fitz
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-07-17 15:55:51 +0000
committerTor Andersson <tor@ghostscript.com>2010-07-17 15:55:51 +0000
commit0fdcbfa77f1ade71c60344919345894c023d1755 (patch)
tree3d8289541d000c6cd2e7aa180e953f44e8d40366 /fitz
parent1499cc6fb42eadcb237ea888f8a1f0d5d3eab6c5 (diff)
downloadmupdf-0fdcbfa77f1ade71c60344919345894c023d1755.tar.xz
Don't use internal fields in object pretty printer.
Diffstat (limited to 'fitz')
-rw-r--r--fitz/obj_print.c94
1 files changed, 41 insertions, 53 deletions
diff --git a/fitz/obj_print.c b/fitz/obj_print.c
index 4e527a33..cb98c13c 100644
--- a/fitz/obj_print.c
+++ b/fitz/obj_print.c
@@ -56,7 +56,7 @@ static inline void fmtputc(struct fmt *fmt, int c)
fmt->last = c;
}
-static void fmtindent(struct fmt *fmt)
+static inline void fmtindent(struct fmt *fmt)
{
int i = fmt->indent;
while (i--) {
@@ -78,8 +78,7 @@ static inline void fmtsep(struct fmt *fmt)
static void fmtstr(struct fmt *fmt, fz_obj *obj)
{
- int i;
- int c;
+ int i, c;
fmtputc(fmt, '(');
for (i = 0; i < obj->u.s.len; i++)
@@ -113,9 +112,7 @@ static void fmtstr(struct fmt *fmt, fz_obj *obj)
static void fmthex(struct fmt *fmt, fz_obj *obj)
{
- int i;
- int b;
- int c;
+ int i, b, c;
fmtputc(fmt, '<');
for (i = 0; i < obj->u.s.len; i++) {
@@ -221,68 +218,59 @@ static void fmtobj(struct fmt *fmt, fz_obj *obj)
{
char buf[256];
- if (!obj) {
+ if (!obj)
fmtputs(fmt, "<nil>");
- return;
- }
-
- switch (obj->kind)
- {
- case FZ_NULL:
+ else if (fz_isnull(obj))
fmtputs(fmt, "null");
- break;
- case FZ_BOOL:
+ else if (fz_isbool(obj))
fmtputs(fmt, fz_tobool(obj) ? "true" : "false");
- break;
- case FZ_INT:
+ else if (fz_isint(obj))
+ {
sprintf(buf, "%d", fz_toint(obj));
fmtputs(fmt, buf);
- break;
- case FZ_REAL:
+ }
+ else if (fz_isreal(obj))
+ {
sprintf(buf, "%g", fz_toreal(obj));
if (strchr(buf, 'e')) /* bad news! */
sprintf(buf, fabsf(fz_toreal(obj)) > 1 ? "%1.1f" : "%1.8f", fz_toreal(obj));
fmtputs(fmt, buf);
- break;
- case FZ_STRING:
- {
- int added = 0;
- int i, c;
- for (i = 0; i < obj->u.s.len; i++) {
- c = (unsigned char)obj->u.s.buf[i];
- if (strchr("()\\\n\r\t\b\f", c))
- added ++;
- else if (c < 8)
- added ++;
- else if (c < 32)
- added += 2;
- else if (c >= 127)
- added += 3;
- }
- if (added < obj->u.s.len)
- fmtstr(fmt, obj);
- else
- fmthex(fmt, obj);
+ }
+ else if (fz_isstring(obj))
+ {
+ char *str = fz_tostrbuf(obj);
+ int len = fz_tostrlen(obj);
+ int added = 0;
+ int i, c;
+ for (i = 0; i < len; i++) {
+ c = (unsigned char)str[i];
+ if (strchr("()\\\n\r\t\b\f", c))
+ added ++;
+ else if (c < 8)
+ added ++;
+ else if (c < 32)
+ added += 2;
+ else if (c >= 127)
+ added += 3;
}
- break;
- case FZ_NAME:
+ if (added < obj->u.s.len)
+ fmtstr(fmt, obj);
+ else
+ fmthex(fmt, obj);
+ }
+ else if (fz_isname(obj))
fmtname(fmt, obj);
- break;
- case FZ_ARRAY:
+ else if (fz_isarray(obj))
fmtarray(fmt, obj);
- break;
- case FZ_DICT:
+ else if (fz_isdict(obj))
fmtdict(fmt, obj);
- break;
- case FZ_INDIRECT:
- sprintf(buf, "%d %d R", obj->u.r.num, obj->u.r.gen);
- fmtputs(fmt, buf);
- break;
- default:
- sprintf(buf, "<unknown object type %d>", obj->kind);
+ else if (fz_isindirect(obj))
+ {
+ sprintf(buf, "%d %d R", fz_tonum(obj), fz_togen(obj));
fmtputs(fmt, buf);
- break;
}
+ else
+ fmtputs(fmt, "<unknown object>");
}
int