summaryrefslogtreecommitdiff
path: root/apps/pdfclean.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-11-29 04:40:31 +0100
committerTor Andersson <tor@ghostscript.com>2009-11-29 04:40:31 +0100
commit2c080e248a47cb94d2069f6523c314d039f70919 (patch)
tree46180621f350edfb63ac578a04125dcd9db31f9d /apps/pdfclean.c
parentaf27ce7576c323665bb9986fbbab63acb6c81c17 (diff)
downloadmupdf-2c080e248a47cb94d2069f6523c314d039f70919.tar.xz
Fix up indentation.
Diffstat (limited to 'apps/pdfclean.c')
-rw-r--r--apps/pdfclean.c462
1 files changed, 231 insertions, 231 deletions
diff --git a/apps/pdfclean.c b/apps/pdfclean.c
index a558d17d..755cb39c 100644
--- a/apps/pdfclean.c
+++ b/apps/pdfclean.c
@@ -26,333 +26,333 @@ static fz_error sweepref(pdf_xref *xref, fz_obj *ref);
static fz_error sweepobj(pdf_xref *xref, fz_obj *obj)
{
- fz_error error;
- int i;
+ fz_error error;
+ int i;
- if (fz_isindirect(obj))
- return sweepref(xref, obj);
+ if (fz_isindirect(obj))
+ return sweepref(xref, obj);
- if (fz_isdict(obj))
- {
- for (i = 0; i < fz_dictlen(obj); i++)
+ if (fz_isdict(obj))
{
- error = sweepobj(xref, fz_dictgetval(obj, i));
- if (error)
- return error; /* too deeply nested for rethrow */
+ for (i = 0; i < fz_dictlen(obj); i++)
+ {
+ error = sweepobj(xref, fz_dictgetval(obj, i));
+ if (error)
+ return error; /* too deeply nested for rethrow */
+ }
}
- }
- if (fz_isarray(obj))
- {
- for (i = 0; i < fz_arraylen(obj); i++)
+ if (fz_isarray(obj))
{
- error = sweepobj(xref, fz_arrayget(obj, i));
- if (error)
- return error; /* too deeply nested for rethrow */
+ for (i = 0; i < fz_arraylen(obj); i++)
+ {
+ error = sweepobj(xref, fz_arrayget(obj, i));
+ if (error)
+ return error; /* too deeply nested for rethrow */
+ }
}
- }
- return fz_okay;
+ return fz_okay;
}
static fz_error sweepref(pdf_xref *xref, fz_obj *ref)
{
- fz_error error;
- fz_obj *obj;
- fz_obj *len;
- int oid, gen;
+ fz_error error;
+ fz_obj *obj;
+ fz_obj *len;
+ int oid, gen;
- oid = fz_tonum(ref);
- gen = fz_tonum(ref);
+ oid = fz_tonum(ref);
+ gen = fz_tonum(ref);
- if (oid < 0 || oid >= xref->len)
- return fz_throw("object out of range (%d %d R)", oid, gen);
+ if (oid < 0 || oid >= xref->len)
+ return fz_throw("object out of range (%d %d R)", oid, gen);
- if (uselist[oid])
- return fz_okay;
+ if (uselist[oid])
+ return fz_okay;
- uselist[oid] = 1;
+ uselist[oid] = 1;
- obj = fz_resolveindirect(ref);
+ obj = fz_resolveindirect(ref);
- /* Bake in /Length in stream objects */
- if (xref->table[oid].stmofs)
- {
- len = fz_dictgets(obj, "Length");
- if (fz_isindirect(len))
+ /* Bake in /Length in stream objects */
+ if (xref->table[oid].stmofs)
{
- len = fz_resolveindirect(len);
- fz_dictputs(obj, "Length", len);
+ len = fz_dictgets(obj, "Length");
+ if (fz_isindirect(len))
+ {
+ len = fz_resolveindirect(len);
+ fz_dictputs(obj, "Length", len);
+ }
}
- }
- error = sweepobj(xref, obj);
- if (error)
- {
- fz_dropobj(obj);
- return error; /* too deeply nested for rethrow */
- }
+ error = sweepobj(xref, obj);
+ if (error)
+ {
+ fz_dropobj(obj);
+ return error; /* too deeply nested for rethrow */
+ }
- return fz_okay;
+ return fz_okay;
}
static void preloadobjstms(void)
{
- fz_error error;
- fz_obj *obj;
- int oid;
+ fz_error error;
+ fz_obj *obj;
+ int oid;
- for (oid = 0; oid < xref->len; oid++)
- {
- if (xref->table[oid].type == 'o')
+ for (oid = 0; oid < xref->len; oid++)
{
- error = pdf_loadobject(&obj, xref, oid, 0);
- if (error)
- die(error);
- fz_dropobj(obj);
+ if (xref->table[oid].type == 'o')
+ {
+ error = pdf_loadobject(&obj, xref, oid, 0);
+ if (error)
+ die(error);
+ fz_dropobj(obj);
+ }
}
- }
}
static void copystream(fz_obj *obj, int oid, int gen)
{
- fz_error error;
- fz_buffer *buf;
+ fz_error error;
+ fz_buffer *buf;
- error = pdf_loadrawstream(&buf, xref, oid, gen);
- if (error)
- die(error);
+ error = pdf_loadrawstream(&buf, xref, oid, gen);
+ if (error)
+ die(error);
- fprintf(out, "%d %d obj\n", oid, gen);
- fz_fprintobj(out, obj, !doexpand);
- fprintf(out, "stream\n");
- fwrite(buf->rp, 1, buf->wp - buf->rp, out);
- fprintf(out, "endstream\nendobj\n\n");
+ fprintf(out, "%d %d obj\n", oid, gen);
+ fz_fprintobj(out, obj, !doexpand);
+ fprintf(out, "stream\n");
+ fwrite(buf->rp, 1, buf->wp - buf->rp, out);
+ fprintf(out, "endstream\nendobj\n\n");
- fz_dropbuffer(buf);
+ fz_dropbuffer(buf);
}
static void expandstream(fz_obj *obj, int oid, int gen)
{
- fz_error error;
- fz_buffer *buf;
- fz_obj *newdict, *newlen;
+ fz_error error;
+ fz_buffer *buf;
+ fz_obj *newdict, *newlen;
- error = pdf_loadstream(&buf, xref, oid, gen);
- if (error)
- die(error);
+ error = pdf_loadstream(&buf, xref, oid, gen);
+ if (error)
+ die(error);
- newdict = fz_copydict(obj);
- fz_dictdels(newdict, "Filter");
- fz_dictdels(newdict, "DecodeParms");
+ newdict = fz_copydict(obj);
+ fz_dictdels(newdict, "Filter");
+ fz_dictdels(newdict, "DecodeParms");
- newlen = fz_newint(buf->wp - buf->rp);
- fz_dictputs(newdict, "Length", newlen);
- fz_dropobj(newlen);
+ newlen = fz_newint(buf->wp - buf->rp);
+ fz_dictputs(newdict, "Length", newlen);
+ fz_dropobj(newlen);
- fprintf(out, "%d %d obj\n", oid, gen);
- fz_fprintobj(out, newdict, !doexpand);
- fprintf(out, "stream\n");
- fwrite(buf->rp, 1, buf->wp - buf->rp, out);
- fprintf(out, "endstream\nendobj\n\n");
+ fprintf(out, "%d %d obj\n", oid, gen);
+ fz_fprintobj(out, newdict, !doexpand);
+ fprintf(out, "stream\n");
+ fwrite(buf->rp, 1, buf->wp - buf->rp, out);
+ fprintf(out, "endstream\nendobj\n\n");
- fz_dropobj(newdict);
+ fz_dropobj(newdict);
- fz_dropbuffer(buf);
+ fz_dropbuffer(buf);
}
static void saveobject(int oid, int gen)
{
- fz_error error;
- fz_obj *obj;
- fz_obj *type;
-
- error = pdf_loadobject(&obj, xref, oid, gen);
- if (error)
- die(error);
-
- /* skip ObjStm and XRef objects */
- if (fz_isdict(obj))
- {
- type = fz_dictgets(obj, "Type");
- if (fz_isname(type) && !strcmp(fz_toname(type), "ObjStm"))
- {
- uselist[oid] = 0;
- fz_dropobj(obj);
- return;
- }
- if (fz_isname(type) && !strcmp(fz_toname(type), "XRef"))
+ fz_error error;
+ fz_obj *obj;
+ fz_obj *type;
+
+ error = pdf_loadobject(&obj, xref, oid, gen);
+ if (error)
+ die(error);
+
+ /* skip ObjStm and XRef objects */
+ if (fz_isdict(obj))
{
- uselist[oid] = 0;
- fz_dropobj(obj);
- return;
+ type = fz_dictgets(obj, "Type");
+ if (fz_isname(type) && !strcmp(fz_toname(type), "ObjStm"))
+ {
+ uselist[oid] = 0;
+ fz_dropobj(obj);
+ return;
+ }
+ if (fz_isname(type) && !strcmp(fz_toname(type), "XRef"))
+ {
+ uselist[oid] = 0;
+ fz_dropobj(obj);
+ return;
+ }
}
- }
- if (!xref->table[oid].stmofs)
- {
- fprintf(out, "%d %d obj\n", oid, gen);
- fz_fprintobj(out, obj, !doexpand);
- fprintf(out, "endobj\n\n");
- }
- else
- {
- if (doexpand)
- expandstream(obj, oid, gen);
+ if (!xref->table[oid].stmofs)
+ {
+ fprintf(out, "%d %d obj\n", oid, gen);
+ fz_fprintobj(out, obj, !doexpand);
+ fprintf(out, "endobj\n\n");
+ }
else
- copystream(obj, oid, gen);
- }
+ {
+ if (doexpand)
+ expandstream(obj, oid, gen);
+ else
+ copystream(obj, oid, gen);
+ }
- fz_dropobj(obj);
+ fz_dropobj(obj);
}
static void savexref(void)
{
- fz_obj *trailer;
- fz_obj *obj;
- int startxref;
- int oid;
+ fz_obj *trailer;
+ fz_obj *obj;
+ int startxref;
+ int oid;
- startxref = ftell(out);
+ startxref = ftell(out);
- fprintf(out, "xref\n0 %d\n", xref->len);
- for (oid = 0; oid < xref->len; oid++)
- {
- if (uselist[oid])
- fprintf(out, "%010d %05d n \n", ofslist[oid], genlist[oid]);
- else
- fprintf(out, "%010d %05d f \n", ofslist[oid], genlist[oid]);
- }
- fprintf(out, "\n");
+ fprintf(out, "xref\n0 %d\n", xref->len);
+ for (oid = 0; oid < xref->len; oid++)
+ {
+ if (uselist[oid])
+ fprintf(out, "%010d %05d n \n", ofslist[oid], genlist[oid]);
+ else
+ fprintf(out, "%010d %05d f \n", ofslist[oid], genlist[oid]);
+ }
+ fprintf(out, "\n");
- trailer = fz_newdict(5);
+ trailer = fz_newdict(5);
- obj = fz_newint(xref->len);
- fz_dictputs(trailer, "Size", obj);
- fz_dropobj(obj);
+ obj = fz_newint(xref->len);
+ fz_dictputs(trailer, "Size", obj);
+ fz_dropobj(obj);
- obj = fz_dictgets(xref->trailer, "Info");
- if (obj)
- fz_dictputs(trailer, "Info", obj);
+ obj = fz_dictgets(xref->trailer, "Info");
+ if (obj)
+ fz_dictputs(trailer, "Info", obj);
- obj = fz_dictgets(xref->trailer, "Root");
- if (obj)
- fz_dictputs(trailer, "Root", obj);
+ obj = fz_dictgets(xref->trailer, "Root");
+ if (obj)
+ fz_dictputs(trailer, "Root", obj);
- obj = fz_dictgets(xref->trailer, "ID");
- if (obj)
- fz_dictputs(trailer, "ID", obj);
+ obj = fz_dictgets(xref->trailer, "ID");
+ if (obj)
+ fz_dictputs(trailer, "ID", obj);
- fprintf(out, "trailer\n");
- fz_fprintobj(out, trailer, !doexpand);
- fprintf(out, "\n");
+ fprintf(out, "trailer\n");
+ fz_fprintobj(out, trailer, !doexpand);
+ fprintf(out, "\n");
- fprintf(out, "startxref\n%d\n%%%%EOF\n", startxref);
+ fprintf(out, "startxref\n%d\n%%%%EOF\n", startxref);
}
static void cleanusage(void)
{
- fprintf(stderr,
- "usage: pdfclean [options] input.pdf [outfile.pdf]\n"
- " -p -\tpassword for decryption\n"
- " -g \tgarbage collect unused objects\n"
- " -x \texpand compressed streams\n");
- exit(1);
+ fprintf(stderr,
+ "usage: pdfclean [options] input.pdf [outfile.pdf]\n"
+ " -p -\tpassword for decryption\n"
+ " -g \tgarbage collect unused objects\n"
+ " -x \texpand compressed streams\n");
+ exit(1);
}
int main(int argc, char **argv)
{
- char *infile;
- char *outfile = "out.pdf";
- char *password = "";
- fz_error error;
- int c, oid;
- int lastfree;
-
- while ((c = fz_getopt(argc, argv, "gxp:")) != -1)
- {
- switch (c)
+ char *infile;
+ char *outfile = "out.pdf";
+ char *password = "";
+ fz_error error;
+ int c, oid;
+ int lastfree;
+
+ while ((c = fz_getopt(argc, argv, "gxp:")) != -1)
{
- case 'p': password = fz_optarg; break;
- case 'g': dogarbage ++; break;
- case 'x': doexpand ++; break;
- default: cleanusage(); break;
+ switch (c)
+ {
+ case 'p': password = fz_optarg; break;
+ case 'g': dogarbage ++; break;
+ case 'x': doexpand ++; break;
+ default: cleanusage(); break;
+ }
}
- }
-
- if (argc - fz_optind < 1)
- cleanusage();
- infile = argv[fz_optind++];
- if (argc - fz_optind > 0)
- outfile = argv[fz_optind++];
+ if (argc - fz_optind < 1)
+ cleanusage();
- openxref(infile, password, 0);
+ infile = argv[fz_optind++];
+ if (argc - fz_optind > 0)
+ outfile = argv[fz_optind++];
- out = fopen(outfile, "wb");
- if (!out)
- die(fz_throw("cannot open output file '%s'", outfile));
+ openxref(infile, password, 0);
- fprintf(out, "%%PDF-%d.%d\n", xref->version / 10, xref->version % 10);
- fprintf(out, "%%\342\343\317\323\n\n");
+ out = fopen(outfile, "wb");
+ if (!out)
+ die(fz_throw("cannot open output file '%s'", outfile));
- uselist = malloc(sizeof (char) * (xref->len + 1));
- ofslist = malloc(sizeof (int) * (xref->len + 1));
- genlist = malloc(sizeof (int) * (xref->len + 1));
+ fprintf(out, "%%PDF-%d.%d\n", xref->version / 10, xref->version % 10);
+ fprintf(out, "%%\342\343\317\323\n\n");
- for (oid = 0; oid < xref->len; oid++)
- {
- uselist[oid] = 0;
- ofslist[oid] = 0;
- genlist[oid] = 0;
- }
+ uselist = malloc(sizeof (char) * (xref->len + 1));
+ ofslist = malloc(sizeof (int) * (xref->len + 1));
+ genlist = malloc(sizeof (int) * (xref->len + 1));
- /* Make sure any objects hidden in compressed streams have been loaded */
- preloadobjstms();
-
- /* Sweep & mark objects from the trailer */
- error = sweepobj(xref, xref->trailer);
- if (error)
- die(fz_rethrow(error, "cannot mark used objects"));
-
- for (oid = 0; oid < xref->len; oid++)
- {
- if (xref->table[oid].type == 'f')
- uselist[oid] = 0;
+ for (oid = 0; oid < xref->len; oid++)
+ {
+ uselist[oid] = 0;
+ ofslist[oid] = 0;
+ genlist[oid] = 0;
+ }
- if (xref->table[oid].type == 'f')
- genlist[oid] = xref->table[oid].gen;
- if (xref->table[oid].type == 'n')
- genlist[oid] = xref->table[oid].gen;
- if (xref->table[oid].type == 'o')
- genlist[oid] = 0;
+ /* Make sure any objects hidden in compressed streams have been loaded */
+ preloadobjstms();
- if (dogarbage && !uselist[oid])
- continue;
+ /* Sweep & mark objects from the trailer */
+ error = sweepobj(xref, xref->trailer);
+ if (error)
+ die(fz_rethrow(error, "cannot mark used objects"));
- if (xref->table[oid].type == 'n' || xref->table[oid].type == 'o')
+ for (oid = 0; oid < xref->len; oid++)
{
- ofslist[oid] = ftell(out);
- saveobject(oid, genlist[oid]);
+ if (xref->table[oid].type == 'f')
+ uselist[oid] = 0;
+
+ if (xref->table[oid].type == 'f')
+ genlist[oid] = xref->table[oid].gen;
+ if (xref->table[oid].type == 'n')
+ genlist[oid] = xref->table[oid].gen;
+ if (xref->table[oid].type == 'o')
+ genlist[oid] = 0;
+
+ if (dogarbage && !uselist[oid])
+ continue;
+
+ if (xref->table[oid].type == 'n' || xref->table[oid].type == 'o')
+ {
+ ofslist[oid] = ftell(out);
+ saveobject(oid, genlist[oid]);
+ }
}
- }
- /* construct linked list of free object slots */
- lastfree = 0;
- for (oid = 0; oid < xref->len; oid++)
- {
- if (!uselist[oid])
+ /* construct linked list of free object slots */
+ lastfree = 0;
+ for (oid = 0; oid < xref->len; oid++)
{
- genlist[oid]++;
- ofslist[lastfree] = oid;
- lastfree = oid;
+ if (!uselist[oid])
+ {
+ genlist[oid]++;
+ ofslist[lastfree] = oid;
+ lastfree = oid;
+ }
}
- }
- savexref();
+ savexref();
- closexref();
+ closexref();
}