summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/pdfinfo.c55
1 files changed, 14 insertions, 41 deletions
diff --git a/apps/pdfinfo.c b/apps/pdfinfo.c
index 66282fca..614af82c 100644
--- a/apps/pdfinfo.c
+++ b/apps/pdfinfo.c
@@ -284,7 +284,6 @@ gatherdimensions(int page, fz_obj *pageref, fz_obj *pageobj)
fz_error
gatherfonts(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
{
- fz_error error;
int i;
for (i = 0; i < fz_dictlen(dict); i++)
@@ -313,9 +312,7 @@ gatherfonts(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
else
{
name = fz_dictgets(fontdict, "Name");
- if (!name)
- error = fz_newnull(&name);
- if (!fz_isnull(name) && !fz_isname(name))
+ if (name && !fz_isname(name))
return fz_throw("not a font dict name (%d %d R)", fz_tonum(ref), fz_togen(ref));
}
@@ -350,7 +347,6 @@ gatherfonts(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
fz_error
gatherimages(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
{
- fz_error error;
int i;
for (i = 0; i < fz_dictlen(dict); i++)
@@ -360,10 +356,10 @@ gatherimages(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
fz_obj *type;
fz_obj *width;
fz_obj *height;
- fz_obj *bpc;
- fz_obj *filter;
+ fz_obj *bpc = nil;
+ fz_obj *filter = nil;
fz_obj *mask;
- fz_obj *cs;
+ fz_obj *cs = nil;
fz_obj *altcs;
int k;
@@ -378,13 +374,7 @@ gatherimages(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
continue;
filter = fz_dictgets(imagedict, "Filter");
- if (!filter)
- {
- error = fz_newname(&filter, "Raw");
- if (error)
- return fz_rethrow(error, "cannot create fake raw image filter (%d %d R)", fz_tonum(ref), fz_togen(ref));
- }
- if (!fz_isname(filter) && !fz_isarray(filter))
+ if (filter && !fz_isname(filter) && !fz_isarray(filter))
return fz_throw("not an image filter (%d %d R)", fz_tonum(ref), fz_togen(ref));
mask = fz_dictgets(imagedict, "ImageMask");
@@ -408,11 +398,8 @@ gatherimages(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
{
if (cs)
fz_warn("image mask (%d %d R) may not have colorspace", fz_tonum(ref), fz_togen(ref));
- error = fz_newname(&cs, "ImageMask");
- if (error)
- return fz_rethrow(error, "cannot create fake image mask colorspace (%d %d R)", fz_tonum(ref), fz_togen(ref));
}
- if (!fz_isname(cs))
+ if (cs && !fz_isname(cs))
return fz_throw("not an image colorspace (%d %d R)", fz_tonum(ref), fz_togen(ref));
if (altcs && !fz_isname(altcs))
return fz_throw("not an image alternate colorspace (%d %d R)", fz_tonum(ref), fz_togen(ref));
@@ -430,12 +417,6 @@ gatherimages(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
return fz_throw("not an image bits per component (%d %d R)", fz_tonum(ref), fz_togen(ref));
if (fz_tobool(mask) && fz_isint(bpc) && fz_toint(bpc) != 1)
return fz_throw("not an image mask bits per component (%d %d R)", fz_tonum(ref), fz_togen(ref));
- if (fz_tobool(mask) && !bpc)
- {
- error = fz_newint(&bpc, 1);
- if (error)
- return fz_rethrow(error, "cannot create fake image mask bits per components (%d %d R)", fz_tonum(ref), fz_togen(ref));
- }
for (k = 0; k < images; k++)
if (fz_tonum(image[k]->ref) == fz_tonum(ref) &&
@@ -642,7 +623,6 @@ gathershadings(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
fz_error
gatherpatterns(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
{
- fz_error error;
int i;
for (i = 0; i < fz_dictlen(dict); i++)
@@ -650,8 +630,8 @@ gatherpatterns(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
fz_obj *ref;
fz_obj *patterndict;
fz_obj *type;
- fz_obj *paint;
- fz_obj *tiling;
+ fz_obj *paint = nil;
+ fz_obj *tiling = nil;
int k;
patterndict = ref = fz_dictgetval(dict, i);
@@ -672,15 +652,6 @@ gatherpatterns(int page, fz_obj *pageref, fz_obj *pageobj, fz_obj *dict)
if (!fz_isint(tiling) || fz_toint(tiling) < 1 || fz_toint(tiling) > 3)
return fz_throw("not a pattern tiling type (%d %d R)", fz_tonum(ref), fz_togen(ref));
}
- else
- {
- error = fz_newint(&paint, 0);
- if (error)
- return fz_throw("cannot create fake pattern paint type");
- error = fz_newint(&tiling, 0);
- if (error)
- return fz_throw("cannot create fake pattern tiling type");
- }
for (k = 0; k < patterns; k++)
if (fz_tonum(pattern[k]->ref) == fz_tonum(ref) &&
@@ -846,7 +817,7 @@ printinfo(char *filename, int show, int page)
printf("Fonts (%d):\n", fonts);
for (i = 0; i < fonts; i++)
{
- printf(PAGE_FMT "%s %s (%d %d R)\n",
+ printf(PAGE_FMT "%s '%s' (%d %d R)\n",
font[i]->page,
fz_tonum(font[i]->pageref), fz_togen(font[i]->pageref),
fz_toname(font[i]->u.font.subtype),
@@ -878,14 +849,16 @@ printinfo(char *filename, int show, int page)
fz_toname(fz_arrayget(image[i]->u.image.filter, j)),
j == fz_arraylen(image[i]->u.image.filter) - 1 ? "" : " ");
}
- else
+ else if (image[i]->u.image.filter)
printf("%s", fz_toname(image[i]->u.image.filter));
+ else
+ printf("Raw");
printf(" ] %dx%d %dbpc %s%s%s (%d %d R)\n",
fz_toint(image[i]->u.image.width),
fz_toint(image[i]->u.image.height),
- fz_toint(image[i]->u.image.bpc),
- fz_toname(image[i]->u.image.cs),
+ image[i]->u.image.bpc ? fz_toint(image[i]->u.image.bpc) : 1,
+ image[i]->u.image.cs ? fz_toname(image[i]->u.image.cs) : "ImageMask",
image[i]->u.image.altcs ? " " : "",
image[i]->u.image.altcs ? fz_toname(image[i]->u.image.altcs) : "",
fz_tonum(image[i]->ref), fz_togen(image[i]->ref));