diff options
Diffstat (limited to 'Build/source/texk/web2c/pdftexdir')
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/ChangeLog | 15 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/am/libpdftex.am | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/epdf.c | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/epdf.h | 28 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/image.h | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/inc-epdf.h | 20 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/inc-extra.h | 7 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/pdftex-common.h | 65 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/pdftoepdf.cc | 26 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/ptexlib.h | 14 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/utils.c | 1 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/writeenc.c | 5 |
12 files changed, 102 insertions, 94 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog index 91b0f568c01..dce43196f03 100644 --- a/Build/source/texk/web2c/pdftexdir/ChangeLog +++ b/Build/source/texk/web2c/pdftexdir/ChangeLog @@ -1,3 +1,18 @@ +2010-04-29 Peter Breitenlohner <peb@mppmu.mpg.de> + + * epdf.c, pdftoepdf.cc, writeenc.c: Change various function + params, return values, and struct members from integer to int. + + Avoid duplicate function prototypes in different headers. + * epdf.c: Drop #include "inc-epdf.h". + * inc-extra.h (deleted): Move prototypes ... + * ptexlib.h: #include "pdftex-common.h", move some prototypes ... + * epdf.h: #include "pdftex-common.h" instead of "inc-epdf.h" and + "inc-extra.h", move some prototypes ... + * image.h: Move some prototypes ... + * pdftex-common.h (new): ... to here. + * am/libpdftex.am: Adjusted. + 2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de> * pdftex.web: Adapt to ../etexdir/etex.ch: diff --git a/Build/source/texk/web2c/pdftexdir/am/libpdftex.am b/Build/source/texk/web2c/pdftexdir/am/libpdftex.am index 0842c91fd14..e26eb4bfd67 100644 --- a/Build/source/texk/web2c/pdftexdir/am/libpdftex.am +++ b/Build/source/texk/web2c/pdftexdir/am/libpdftex.am @@ -21,6 +21,7 @@ libpdftex_a_SOURCES = \ pdftexdir/image.h \ pdftexdir/mapfile.c \ pdftexdir/pdftex.h \ + pdftexdir/pdftex-common.h \ pdftexdir/pdftoepdf.cc \ pdftexdir/pkin.c \ pdftexdir/ptexlib.h \ @@ -48,11 +49,6 @@ libpdftex_a_SOURCES += \ pdftexdir/regex/regex.h endif MINGW32 -## FIXME: temporary additional headers: -libpdftex_a_SOURCES += \ - pdftexdir/inc-epdf.h \ - pdftexdir/inc-extra.h - # We must create pdftexd.h (and xpdf...) before building the libpdftex_a_OBJECTS. $(libpdftex_a_OBJECTS): pdftexd.h $(XPDF_DEPEND) $(ZLIB_DEPEND) $(LIBPNG_DEPEND) diff --git a/Build/source/texk/web2c/pdftexdir/epdf.c b/Build/source/texk/web2c/pdftexdir/epdf.c index 8d3849c60b8..337469d3d87 100644 --- a/Build/source/texk/web2c/pdftexdir/epdf.c +++ b/Build/source/texk/web2c/pdftexdir/epdf.c @@ -19,7 +19,6 @@ Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ptexlib.h" -#include "inc-epdf.h" #include <string.h> @@ -49,13 +48,13 @@ fd_entry *epdf_create_fontdescriptor(fm_entry * fm, int stemV) return fd; } -integer get_fd_objnum(fd_entry * fd) +int get_fd_objnum(fd_entry * fd) { assert(fd->fd_objnum != 0); return fd->fd_objnum; } -integer get_fn_objnum(fd_entry * fd) +int get_fn_objnum(fd_entry * fd) { if (fd->fn_objnum == 0) fd->fn_objnum = pdfnewobjnum(); diff --git a/Build/source/texk/web2c/pdftexdir/epdf.h b/Build/source/texk/web2c/pdftexdir/epdf.h index 0569915225e..7c9b787b163 100644 --- a/Build/source/texk/web2c/pdftexdir/epdf.h +++ b/Build/source/texk/web2c/pdftexdir/epdf.h @@ -78,41 +78,15 @@ extern "C" { extern integer get_fontfile(struct fm_entry *); extern integer get_fontname(struct fm_entry *); extern integer pdfnewobjnum(void); - extern integer read_pdf_info(char *, char *, integer, integer, integer, - integer); - extern void epdf_delete(void); - extern void epdf_free(void); - __attribute__ ((format(printf, 1, 2))) - extern void pdf_printf(const char *fmt, ...); - extern void pdf_puts(const char *); - extern void pdf_newline(void); extern void pdfbeginstream(void); extern void pdfendobj(void); extern void pdfendstream(void); extern void pdfflush(void); - __attribute__ ((noreturn, format(printf, 1, 2))) - extern void pdftex_fail(const char *fmt, ...); - __attribute__ ((format(printf, 1, 2))) - extern void pdftex_warn(const char *fmt, ...); - __attribute__ ((format(printf, 1, 2))) - extern void tex_printf(const char *, ...); - extern void write_epdf(void); extern void zpdfbegindict(integer, bool); extern void zpdfbeginobj(integer, bool); extern void zpdfcreateobj(integer, integer); extern void zpdfnewdict(integer, integer, bool); extern void zpdfosgetosbuf(integer); -/* utils.c */ - extern char *convertStringToPDFString(char *in, int len); - -/* config.c */ - extern integer cfgpar(integer); - -/* avlstuff.c */ - extern void avl_put_obj(integer, integer); - extern integer avl_find_obj(integer, integer, integer); - -#include "inc-epdf.h" -#include "inc-extra.h" +#include "pdftex-common.h" } diff --git a/Build/source/texk/web2c/pdftexdir/image.h b/Build/source/texk/web2c/pdftexdir/image.h index 638dfe0331e..0c295fc3dcf 100644 --- a/Build/source/texk/web2c/pdftexdir/image.h +++ b/Build/source/texk/web2c/pdftexdir/image.h @@ -105,10 +105,6 @@ extern integer image_max; #define jbig2_ptr(N) (img_ptr(N)->image_struct.jbig2) #define tif_ptr(N) (img_ptr(N)->image_struct.tif) -extern integer read_pdf_info(char *, char *, integer, integer, integer, - integer); -extern void write_epdf(void); -extern void epdf_delete(void); extern void read_png_info(integer); extern void write_png(integer); extern void read_jpg_info(integer); diff --git a/Build/source/texk/web2c/pdftexdir/inc-epdf.h b/Build/source/texk/web2c/pdftexdir/inc-epdf.h deleted file mode 100644 index 30e5ae954f5..00000000000 --- a/Build/source/texk/web2c/pdftexdir/inc-epdf.h +++ /dev/null @@ -1,20 +0,0 @@ -/* prototypes used in epdf.c and pdftoepdf.cc */ - -/* epdf.c */ -#ifdef __cplusplus -# define fd_entry struct fd_entry -# define fm_entry struct fm_entry -# define integer int -#endif - extern int is_subsetable(fm_entry *); - extern fd_entry *epdf_create_fontdescriptor(fm_entry *, int); - extern void epdf_mark_glyphs(fd_entry *, char *); - extern integer get_fd_objnum(fd_entry *); - extern integer get_fn_objnum(fd_entry *); - extern void embed_whole_font(fd_entry *); -#undef fd_entry -#undef fm_entry -#undef integer - -/* pdftoepdf.cc */ - extern void epdf_check_mem(void); diff --git a/Build/source/texk/web2c/pdftexdir/inc-extra.h b/Build/source/texk/web2c/pdftexdir/inc-extra.h deleted file mode 100644 index 2e2e6b38b33..00000000000 --- a/Build/source/texk/web2c/pdftexdir/inc-extra.h +++ /dev/null @@ -1,7 +0,0 @@ -/* prototypes used in pdftoepdf.cc and in C code */ - -/* utils.c */ - extern char *stripzeros(char *a); - -/* writeenc.c */ - extern void epdf_write_enc(char **, integer); diff --git a/Build/source/texk/web2c/pdftexdir/pdftex-common.h b/Build/source/texk/web2c/pdftexdir/pdftex-common.h new file mode 100644 index 00000000000..a31c6deb1c2 --- /dev/null +++ b/Build/source/texk/web2c/pdftexdir/pdftex-common.h @@ -0,0 +1,65 @@ +/* +Copyright (c) 2010 Han The Thanh, <thanh@pdftex.org> + +This file is part of pdfTeX. + +pdfTeX is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +pdfTeX is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with pdfTeX; if not, write to the Free Software Foundation, Inc., 51 +Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +*/ + +/* Whereas the C code uses: #include "ptexlib.h" + pdftoepdf.cc uses: #include "epdf.h" + + Unfortunately these to headers are incompatible; thus they + include this file with prototypes required in both cases. +*/ + +/* epdf.c */ +#ifdef __cplusplus +# define fd_entry struct fd_entry +# define fm_entry struct fm_entry +#endif +extern void embed_whole_font(fd_entry *); +extern fd_entry *epdf_create_fontdescriptor(fm_entry *, int); +extern void epdf_free(void); +extern void epdf_mark_glyphs(fd_entry *, char *); +extern int get_fd_objnum(fd_entry *); +extern int get_fn_objnum(fd_entry *); +extern int is_subsetable(fm_entry *); +#undef fd_entry +#undef fm_entry + +/* pdftoepdf.cc */ +extern void epdf_check_mem(void); +extern void epdf_delete(void); +extern int read_pdf_info(char *, char *, int, int, int, int); + +/* utils.c */ +extern char *convertStringToPDFString(const char *in, int len); +extern void pdf_newline(void); +__attribute__ ((format(printf, 1, 2))) +extern void pdf_printf(const char *, ...); +extern void pdf_puts(const char *); +__attribute__ ((noreturn, format(printf, 1, 2))) +extern void pdftex_fail(const char *, ...); +__attribute__ ((format(printf, 1, 2))) +extern void pdftex_warn(const char *, ...); +extern char *stripzeros(char *a); +__attribute__ ((format(printf, 1, 2))) +extern void tex_printf(const char *, ...); +extern void write_epdf(void); + +/* writeenc.c */ +extern void epdf_write_enc(char **, int); diff --git a/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc b/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc index 7d2faa5d69e..19f06c27dff 100644 --- a/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc +++ b/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc @@ -103,14 +103,14 @@ struct InObj { Ref ref; // ref in original PDF InObjType type; // object type InObj *next; // next entry in list of indirect objects - integer num; // new object number in output PDF + int num; // new object number in output PDF fd_entry *fd; // pointer to /FontDescriptor object structure - integer enc_objnum; // Encoding for objFont + int enc_objnum; // Encoding for objFont int written; // has it been written to output PDF? }; struct UsedEncoding { - integer enc_objnum; + int enc_objnum; GfxFont *font; UsedEncoding *next; }; @@ -229,7 +229,7 @@ static int addEncoding(GfxFont * gfont) #define addOther(ref) \ addInObj(objOther, ref, 0, 0) -static int addInObj(InObjType type, Ref ref, fd_entry * fd, integer e) +static int addInObj(InObjType type, Ref ref, fd_entry * fd, int e) { InObj *p, *q, *n = new InObj; if (ref.num == 0) @@ -329,9 +329,9 @@ static void copyFontDict(Object * obj, InObj * r) copyDictEntry(obj, i); } // write new FontDescriptor, BaseFont, and Encoding - pdf_printf("/FontDescriptor %d 0 R\n", (int) get_fd_objnum(r->fd)); - pdf_printf("/BaseFont %d 0 R\n", (int) get_fn_objnum(r->fd)); - pdf_printf("/Encoding %d 0 R\n", (int) r->enc_objnum); + pdf_printf("/FontDescriptor %d 0 R\n", get_fd_objnum(r->fd)); + pdf_printf("/BaseFont %d 0 R\n", get_fn_objnum(r->fd)); + pdf_printf("/Encoding %d 0 R\n", r->enc_objnum); pdf_puts(">>"); } @@ -380,7 +380,7 @@ static void copyFont(char *tag, Object * fontRef) for (p = inObjList; p; p = p->next) { if (p->ref.num == ref.num && p->ref.gen == ref.gen) { copyName(tag); - pdf_printf(" %d 0 R ", (int) p->num); + pdf_printf(" %d 0 R ", p->num); return; } } @@ -664,7 +664,7 @@ static void writeEncodings() } // get the pagebox according to the pagebox_spec -static PDFRectangle *get_pagebox(Page * page, integer pagebox_spec) +static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) { if (pagebox_spec == pdfboxspecmedia) return page->getMediaBox(); @@ -689,10 +689,10 @@ static PDFRectangle *get_pagebox(Page * page, integer pagebox_spec) // It makes no sense to give page_name _and_ page_num. // Returns the page number. -integer -read_pdf_info(char *image_name, char *page_name, integer page_num, - integer pagebox_spec, integer minor_pdf_version_wanted, - integer pdf_inclusion_errorlevel) +int +read_pdf_info(char *image_name, char *page_name, int page_num, + int pagebox_spec, int minor_pdf_version_wanted, + int pdf_inclusion_errorlevel) { PdfDocument *pdf_doc; Page *page; diff --git a/Build/source/texk/web2c/pdftexdir/ptexlib.h b/Build/source/texk/web2c/pdftexdir/ptexlib.h index fa555341ebc..82b4806f145 100644 --- a/Build/source/texk/web2c/pdftexdir/ptexlib.h +++ b/Build/source/texk/web2c/pdftexdir/ptexlib.h @@ -168,10 +168,12 @@ extern const char *ptexbanner; /* pdftexlib function prototypes */ +/* prototypes used in C code as well as pdftoepdf.cc */ +#include "pdftex-common.h" + /* epdf.c */ extern integer get_fontfile_num(int); extern integer get_fontname_num(int); -extern void epdf_free(void); /* mapfile.c */ extern fm_entry *lookup_fontmap(char *); @@ -220,18 +222,8 @@ extern void fb_seek(integer); extern void libpdffinish(void); extern char *makecfilename(strnumber s); extern void make_subset_tag(fd_entry *); -__attribute__ ((format(printf, 1, 2))) -extern void pdf_printf(const char *, ...); -extern void pdf_puts(const char *); -__attribute__ ((noreturn, format(printf, 1, 2))) -extern void pdftex_fail(const char *, ...); -__attribute__ ((format(printf, 1, 2))) -extern void pdftex_warn(const char *, ...); extern void setjobid(int, int, int, int); -__attribute__ ((format(printf, 1, 2))) -extern void tex_printf(const char *, ...); extern void writestreamlength(integer, longinteger); -extern char *convertStringToPDFString(const char *in, int len); extern void printID(strnumber); extern void printcreationdate(void); extern void printmoddate(void); diff --git a/Build/source/texk/web2c/pdftexdir/utils.c b/Build/source/texk/web2c/pdftexdir/utils.c index d7ccc213efd..ccf5c1ee51d 100644 --- a/Build/source/texk/web2c/pdftexdir/utils.c +++ b/Build/source/texk/web2c/pdftexdir/utils.c @@ -41,7 +41,6 @@ Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "md5.h" #include "zlib.h" #include "ptexlib.h" -#include "inc-extra.h" #include "png.h" #ifdef POPPLER_VERSION #include "poppler-config.h" diff --git a/Build/source/texk/web2c/pdftexdir/writeenc.c b/Build/source/texk/web2c/pdftexdir/writeenc.c index aae0a1a9f1a..7b1b959a6ee 100644 --- a/Build/source/texk/web2c/pdftexdir/writeenc.c +++ b/Build/source/texk/web2c/pdftexdir/writeenc.c @@ -19,7 +19,6 @@ Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ptexlib.h" -#include "inc-extra.h" /**********************************************************************/ /* All encoding entries go into AVL tree for fast search by name. */ @@ -85,7 +84,7 @@ fe_entry *get_fe_entry(char *s) /**********************************************************************/ -void epdf_write_enc(char **glyph_names, integer fe_objnum) +void epdf_write_enc(char **glyph_names, int fe_objnum) { int i, i_old; assert(glyph_names != NULL); @@ -109,7 +108,7 @@ void epdf_write_enc(char **glyph_names, integer fe_objnum) pdfenddict(); } -static void write_enc(char **glyph_names, struct avl_table *tx_tree, integer fe_objnum) +static void write_enc(char **glyph_names, struct avl_table *tx_tree, int fe_objnum) { int i_old, *p; struct avl_traverser t; |