summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-04-08 11:29:06 +0200
committerTor Andersson <tor@ghostscript.com>2009-04-08 11:29:06 +0200
commitc8264eba716eda2bc498a3ad9491e46c394987e8 (patch)
treeff707a8504940441eee7e5fb22eb3f9461cb231f
parent2378cfec70539869d47a453fecbbc93444ce1a0b (diff)
downloadmupdf-c8264eba716eda2bc498a3ad9491e46c394987e8.tar.xz
Make sure cmapdump.c doesn't generate empty arrays.
-rw-r--r--mupdf/cmapdump.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/mupdf/cmapdump.c b/mupdf/cmapdump.c
index 0c322a78..d40c51b1 100644
--- a/mupdf/cmapdump.c
+++ b/mupdf/cmapdump.c
@@ -104,8 +104,12 @@ main(int argc, char **argv)
fprintf(fo, "/*\n * %s\n */\n\n", cmap->cmapname);
- fprintf(fo, "static const pdf_range pdf_cmap_%s_ranges[%d] =\n{\n",
- name, cmap->rlen);
+ fprintf(fo, "static const pdf_range pdf_cmap_%s_ranges[] =\n{\n", name);
+ if (cmap->rlen == 0)
+ {
+ fprintf(fo, " /* dummy entry for non-c99 compilers */\n");
+ fprintf(fo, " { 0x0, 0x0, PDF_CMAP_RANGE, 0 }\n");
+ }
for (k = 0; k < cmap->rlen; k++)
{
fprintf(fo, " { 0x%04x, 0x%04x, %s %d },\n",
@@ -141,6 +145,12 @@ main(int argc, char **argv)
fprintf(fo, " %d, /* codespace table */\n", cmap->ncspace);
fprintf(fo, " {\n");
+
+ if (cmap->ncspace == 0)
+ {
+ fprintf(fo, " /* dummy entry for non-c99 compilers */\n");
+ fprintf(fo, " { 0, 0x0, 0x0 },\n");
+ }
for (k = 0; k < cmap->ncspace; k++)
{
fprintf(fo, "\t{ %d, 0x%04x, 0x%04x },\n",