diff --git a/cups-filters-format-mismatch.patch b/cups-filters-format-mismatch.patch new file mode 100644 index 0000000..ffe0f84 --- /dev/null +++ b/cups-filters-format-mismatch.patch @@ -0,0 +1,71 @@ +diff -up cups-filters-1.0.35/filter/pdfutils.c.format-mismatch cups-filters-1.0.35/filter/pdfutils.c +--- cups-filters-1.0.35/filter/pdfutils.c.format-mismatch 2013-10-01 12:22:16.244383288 +0100 ++++ cups-filters-1.0.35/filter/pdfutils.c 2013-10-01 12:24:05.510864420 +0100 +@@ -242,7 +242,7 @@ void pdfOut_finish_pdf(pdfOut *pdf) // { + "%010d 65535 f \n", + 0,pdf->xrefsize+1,0); + for (iA=0;iAxrefsize;iA++) { +- pdfOut_printf(pdf,"%010d 00000 n \n", ++ pdfOut_printf(pdf,"%010ld 00000 n \n", + pdf->xref[iA]); + } + pdfOut_printf(pdf,"trailer\n" +@@ -347,7 +347,7 @@ int pdfOut_write_font(pdfOut *pdf,EMB_PA + const int l0_obj=pdfOut_add_xref(pdf); + assert(l0_obj==ff_obj+1); + pdfOut_printf(pdf,"%d 0 obj\n" +- "%d\n" ++ "%ld\n" + "endobj\n" + ,l0_obj,streamsize); + +diff -up cups-filters-1.0.35/filter/pdfutils.h.format-mismatch cups-filters-1.0.35/filter/pdfutils.h +--- cups-filters-1.0.35/filter/pdfutils.h.format-mismatch 2012-06-22 17:10:47.000000000 +0100 ++++ cups-filters-1.0.35/filter/pdfutils.h 2013-10-01 12:07:07.393378641 +0100 +@@ -42,7 +42,8 @@ void pdfOut_finish_pdf(pdfOut *pdf); + /* General output routine for our pdf. + * Keeps track of characters actually written out + */ +-void pdfOut_printf(pdfOut *pdf,const char *fmt,...); ++void pdfOut_printf(pdfOut *pdf,const char *fmt,...) ++ __attribute__((format(printf, 2, 3))); + + /* write out an escaped pdf string: e.g. (Text \(Test\)\n) + * >len==-1: use strlen(str) +diff -up cups-filters-1.0.35/filter/texttopdf.c.format-mismatch cups-filters-1.0.35/filter/texttopdf.c +--- cups-filters-1.0.35/filter/texttopdf.c.format-mismatch 2013-10-01 12:24:41.218021702 +0100 ++++ cups-filters-1.0.35/filter/texttopdf.c 2013-10-01 12:24:41.863024579 +0100 +@@ -250,7 +250,7 @@ WritePage(void) + int len_obj=pdfOut_add_xref(pdf); + assert(len_obj==content+1); + pdfOut_printf(pdf,"%d 0 obj\n" +- "%d\n" ++ "%ld\n" + "endobj\n", + len_obj,size); + +diff -up cups-filters-1.0.35/fontembed/dynstring.h.format-mismatch cups-filters-1.0.35/fontembed/dynstring.h +--- cups-filters-1.0.35/fontembed/dynstring.h.format-mismatch 2012-06-22 17:10:47.000000000 +0100 ++++ cups-filters-1.0.35/fontembed/dynstring.h 2013-10-01 12:07:07.393378641 +0100 +@@ -9,7 +9,8 @@ typedef struct { + int dyn_init(DYN_STRING *ds,int reserve_size); // -1 on error + void dyn_free(DYN_STRING *ds); + int dyn_ensure(DYN_STRING *ds,int free_space); +-int dyn_printf(DYN_STRING *ds,const char *fmt,...); // appends ++int dyn_printf(DYN_STRING *ds,const char *fmt,...) // appends ++ __attribute__((format(printf, 2, 3))); + + #endif + +diff -up cups-filters-1.0.35/fontembed/embed_sfnt.c.format-mismatch cups-filters-1.0.35/fontembed/embed_sfnt.c +--- cups-filters-1.0.35/fontembed/embed_sfnt.c.format-mismatch 2013-10-01 12:25:24.164210823 +0100 ++++ cups-filters-1.0.35/fontembed/embed_sfnt.c 2013-10-01 12:25:39.727279359 +0100 +@@ -519,7 +519,7 @@ int emb_otf_ps(OTF_FILE *otf,unsigned sh + free(ds.buf); + return -1; + } +- dyn_printf(&ds,"%!PS-TrueTypeFont-%d-%d\n", ++ dyn_printf(&ds,"%%!PS-TrueTypeFont-%d-%d\n", + otf->version,get_ULONG(head+4)); + const int bbxmin=get_SHORT(head+36)*1000/otf->unitsPerEm, + bbymin=get_SHORT(head+38)*1000/otf->unitsPerEm, diff --git a/cups-filters.spec b/cups-filters.spec index 30fd3bf..99dfe07 100644 --- a/cups-filters.spec +++ b/cups-filters.spec @@ -4,7 +4,7 @@ Summary: OpenPrinting CUPS filters and backends Name: cups-filters Version: 1.0.38 -Release: 2%{?dist} +Release: 3%{?dist} # For a breakdown of the licensing, see COPYING file # GPLv2: filters: commandto*, imagetoraster, pdftops, rasterto*, @@ -22,6 +22,7 @@ Url: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups Source0: http://www.openprinting.org/download/cups-filters/cups-filters-%{version}.tar.xz Patch1: cups-filters-pdf-landscape.patch +Patch2: cups-filters-format-mismatch.patch Requires: cups-filters-libs%{?_isa} = %{version}-%{release} @@ -107,6 +108,9 @@ This is the development package for OpenPrinting CUPS filters and backends. # Fix landscape printing for PDFs (bug #768811). %patch1 -p1 -b .pdf-landscape +# Fixes for some printf-type format mismatches (bug #1014093). +%patch2 -p1 -b .format-mismatch + %build # work-around Rpath ./autogen.sh @@ -223,6 +227,9 @@ fi %{_libdir}/libfontembed.so %changelog +* Tue Oct 1 2013 Tim Waugh - 1.0.38-3 +- Fixes for some printf-type format mismatches (bug #1014093). + * Tue Sep 17 2013 Tim Waugh - 1.0.38-2 - Fix landscape printing for PDFs (bug #768811).