Blame tools/tiff2pdf.c.diff

Packit df99a1
--- tiff2pdf.c.orig	2014-07-08 17:16:30.856560449 -0400
Packit df99a1
+++ tiff2pdf.c	2014-07-08 17:16:52.260561336 -0400
Packit df99a1
@@ -1,3 +1,26 @@
Packit df99a1
+/*  -*- C -*-
Packit df99a1
+//C- -------------------------------------------------------------------
Packit df99a1
+//C- DjView4
Packit df99a1
+//C- Copyright (c) 2006  Leon Bottou
Packit df99a1
+//C-
Packit df99a1
+//C- This software is subject to, and may be distributed under, the
Packit df99a1
+//C- GNU General Public License, either version 2 of the license,
Packit df99a1
+//C- or (at your option) any later version. The license should have
Packit df99a1
+//C- accompanied the software or you may obtain a copy of the license
Packit df99a1
+//C- from the Free Software Foundation at http://www.fsf.org .
Packit df99a1
+//C-
Packit df99a1
+//C- This program is distributed in the hope that it will be useful,
Packit df99a1
+//C- but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit df99a1
+//C- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit df99a1
+//C- GNU General Public License for more details.
Packit df99a1
+//C-  ------------------------------------------------------------------
Packit df99a1
+//
Packit df99a1
+// The following code is derived from program "tiff2pdf"
Packit df99a1
+// whose copyright notice is reproduced below.
Packit df99a1
+// Changes were made to make it independent from the private
Packit df99a1
+// include file tiffiop.h.
Packit df99a1
+*/
Packit df99a1
+
Packit df99a1
 /* $Id: tiff2pdf.c,v 1.37.2.7 2009-01-01 00:10:43 bfriesen Exp $
Packit df99a1
  *
Packit df99a1
  * tiff2pdf - converts a TIFF image to a PDF document
Packit df99a1
@@ -24,7 +47,9 @@
Packit df99a1
  * OF THIS SOFTWARE.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-#include "tif_config.h"
Packit df99a1
+#include "tiff2pdf.h"
Packit df99a1
+
Packit df99a1
+#ifdef HAVE_TIFF2PDF
Packit df99a1
 
Packit df99a1
 #include <stdio.h>
Packit df99a1
 #include <stdlib.h>
Packit df99a1
@@ -40,17 +65,137 @@
Packit df99a1
 # include <fcntl.h>
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
-#ifdef HAVE_IO_H
Packit df99a1
-# include <io.h>
Packit df99a1
+#ifdef HAVE_GETOPT_H
Packit df99a1
+# include <getopt.h>
Packit df99a1
+#endif
Packit df99a1
+
Packit df99a1
+#if defined(__GNUC__) || defined(HAVE_LONG_LONG_INT)
Packit df99a1
+# define uint64 unsigned long long
Packit df99a1
+#elif defined(_MSC_VER)
Packit df99a1
+# define uint64 unsigned __int64
Packit df99a1
+#else
Packit df99a1
+# define uint64 size_t
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
-#include "tiffiop.h"
Packit df99a1
-#include "tiffio.h"
Packit df99a1
+#ifndef HAVE_GETOPT_H
Packit df99a1
+/*
Packit df99a1
+ * Copyright (c) 1987, 1993, 1994
Packit df99a1
+ *	The Regents of the University of California.  All rights reserved.
Packit df99a1
+ *
Packit df99a1
+ * Redistribution and use in source and binary forms, with or without
Packit df99a1
+ * modification, are permitted provided that the following conditions
Packit df99a1
+ * are met:
Packit df99a1
+ * 1. Redistributions of source code must retain the above copyright
Packit df99a1
+ *    notice, this list of conditions and the following disclaimer.
Packit df99a1
+ * 2. Redistributions in binary form must reproduce the above copyright
Packit df99a1
+ *    notice, this list of conditions and the following disclaimer in the
Packit df99a1
+ *    documentation and/or other materials provided with the distribution.
Packit df99a1
+ * 3. Neither the name of the University nor the names of its contributors
Packit df99a1
+ *    may be used to endorse or promote products derived from this software
Packit df99a1
+ *    without specific prior written permission.
Packit df99a1
+ *
Packit df99a1
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
Packit df99a1
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit df99a1
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit df99a1
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
Packit df99a1
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit df99a1
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Packit df99a1
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Packit df99a1
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
Packit df99a1
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
Packit df99a1
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
Packit df99a1
+ * SUCH DAMAGE.
Packit df99a1
+ */
Packit df99a1
+
Packit df99a1
+
Packit df99a1
+static int   opterr = 1,        /* if error message should be printed */
Packit df99a1
+             optind = 1,        /* index into parent argv vector */
Packit df99a1
+             optopt,            /* character checked for validity */
Packit df99a1
+             optreset;          /* reset getopt */
Packit df99a1
+static char *optarg;            /* argument associated with option */
Packit df99a1
+
Packit df99a1
+#define	BADCH	(int)'?'
Packit df99a1
+#define	BADARG	(int)':'
Packit df99a1
+#define	EMSG	""
Packit df99a1
+
Packit df99a1
+/*
Packit df99a1
+ * getopt --
Packit df99a1
+ *	Parse argc/argv argument vector.
Packit df99a1
+ */
Packit df99a1
+static int
Packit df99a1
+getopt(int argc, char * const argv[], const char *optstring)
Packit df99a1
+{
Packit df99a1
+	static char *place = EMSG;		/* option letter processing */
Packit df99a1
+	char *oli;				/* option letter list index */
Packit df99a1
+
Packit df99a1
+	if (optreset || *place == 0) {		/* update scanning pointer */
Packit df99a1
+		optreset = 0;
Packit df99a1
+		place = argv[optind];
Packit df99a1
+		if (optind >= argc || *place++ != '-') {
Packit df99a1
+			/* Argument is absent or is not an option */
Packit df99a1
+			place = EMSG;
Packit df99a1
+			return (-1);
Packit df99a1
+		}
Packit df99a1
+		optopt = *place++;
Packit df99a1
+		if (optopt == '-' && *place == 0) {
Packit df99a1
+			/* "--" => end of options */
Packit df99a1
+			++optind;
Packit df99a1
+			place = EMSG;
Packit df99a1
+			return (-1);
Packit df99a1
+		}
Packit df99a1
+		if (optopt == 0) {
Packit df99a1
+			/* Solitary '-', treat as a '-' option
Packit df99a1
+			   if the program (eg su) is looking for it. */
Packit df99a1
+			place = EMSG;
Packit df99a1
+			if (strchr(optstring, '-') == NULL)
Packit df99a1
+				return -1;
Packit df99a1
+			optopt = '-';
Packit df99a1
+		}
Packit df99a1
+	} else
Packit df99a1
+		optopt = *place++;
Packit df99a1
 
Packit df99a1
-#ifndef HAVE_GETOPT
Packit df99a1
-extern int getopt(int, char**, char*);
Packit df99a1
+	/* See if option letter is one the caller wanted... */
Packit df99a1
+	if (optopt == ':' || (oli = strchr(optstring, optopt)) == NULL) {
Packit df99a1
+		if (*place == 0)
Packit df99a1
+			++optind;
Packit df99a1
+		if (opterr && *optstring != ':')
Packit df99a1
+			(void)fprintf(stderr,
Packit df99a1
+                                      "unknown option -- %c\n", optopt);
Packit df99a1
+		return (BADCH);
Packit df99a1
+	}
Packit df99a1
+
Packit df99a1
+	/* Does this option need an argument? */
Packit df99a1
+	if (oli[1] != ':') {
Packit df99a1
+		/* don't need argument */
Packit df99a1
+		optarg = NULL;
Packit df99a1
+		if (*place == 0)
Packit df99a1
+			++optind;
Packit df99a1
+	} else {
Packit df99a1
+		/* Option-argument is either the rest of this argument or the
Packit df99a1
+		   entire next argument. */
Packit df99a1
+		if (*place)
Packit df99a1
+			optarg = place;
Packit df99a1
+		else if (argc > ++optind)
Packit df99a1
+			optarg = argv[optind];
Packit df99a1
+		else {
Packit df99a1
+			/* option-argument absent */
Packit df99a1
+			place = EMSG;
Packit df99a1
+			if (*optstring == ':')
Packit df99a1
+				return (BADARG);
Packit df99a1
+			if (opterr)
Packit df99a1
+				(void)fprintf(stderr,
Packit df99a1
+                                        "option requires an argument -- %c\n",
Packit df99a1
+                                        optopt);
Packit df99a1
+			return (BADCH);
Packit df99a1
+		}
Packit df99a1
+		place = EMSG;
Packit df99a1
+		++optind;
Packit df99a1
+	}
Packit df99a1
+	return (optopt);			/* return option letter */
Packit df99a1
+}
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
+
Packit df99a1
 #define TIFF2PDF_MODULE "tiff2pdf"
Packit df99a1
 
Packit df99a1
 #define PS_UNIT_SIZE	72.0F
Packit df99a1
@@ -232,8 +377,7 @@
Packit df99a1
 
Packit df99a1
 /* These functions are called by main. */
Packit df99a1
 
Packit df99a1
-void tiff2pdf_usage(void);
Packit df99a1
-int tiff2pdf_match_paper_size(float*, float*, char*);
Packit df99a1
+static int tiff2pdf_match_paper_size(float*, float*, char*);
Packit df99a1
 
Packit df99a1
 /* These functions are used to generate a PDF from a TIFF. */ 
Packit df99a1
 
Packit df99a1
@@ -241,76 +385,76 @@
Packit df99a1
 extern "C" {
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
-T2P* t2p_init(void);
Packit df99a1
-void t2p_validate(T2P*);
Packit df99a1
-tsize_t t2p_write_pdf(T2P*, TIFF*, TIFF*);
Packit df99a1
-void t2p_free(T2P*);
Packit df99a1
+static T2P* t2p_init(void);
Packit df99a1
+static void t2p_validate(T2P*);
Packit df99a1
+static tsize_t t2p_write_pdf(T2P*, TIFF*, TIFF*);
Packit df99a1
+static void t2p_free(T2P*);
Packit df99a1
 
Packit df99a1
 #ifdef __cplusplus
Packit df99a1
 }
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
-void t2p_read_tiff_init(T2P*, TIFF*);
Packit df99a1
-int t2p_cmp_t2p_page(const void*, const void*);
Packit df99a1
-void t2p_read_tiff_data(T2P*, TIFF*);
Packit df99a1
-void t2p_read_tiff_size(T2P*, TIFF*);
Packit df99a1
-void t2p_read_tiff_size_tile(T2P*, TIFF*, ttile_t);
Packit df99a1
-int t2p_tile_is_right_edge(T2P_TILES, ttile_t);
Packit df99a1
-int t2p_tile_is_bottom_edge(T2P_TILES, ttile_t);
Packit df99a1
-int t2p_tile_is_edge(T2P_TILES, ttile_t);
Packit df99a1
-int t2p_tile_is_corner_edge(T2P_TILES, ttile_t);
Packit df99a1
-tsize_t t2p_readwrite_pdf_image(T2P*, TIFF*, TIFF*);
Packit df99a1
-tsize_t t2p_readwrite_pdf_image_tile(T2P*, TIFF*, TIFF*, ttile_t);
Packit df99a1
+static void t2p_read_tiff_init(T2P*, TIFF*);
Packit df99a1
+static int t2p_cmp_t2p_page(const void*, const void*);
Packit df99a1
+static void t2p_read_tiff_data(T2P*, TIFF*);
Packit df99a1
+static void t2p_read_tiff_size(T2P*, TIFF*);
Packit df99a1
+static void t2p_read_tiff_size_tile(T2P*, TIFF*, ttile_t);
Packit df99a1
+static int t2p_tile_is_right_edge(T2P_TILES, ttile_t);
Packit df99a1
+static int t2p_tile_is_bottom_edge(T2P_TILES, ttile_t);
Packit df99a1
+/* static int t2p_tile_is_edge(T2P_TILES, ttile_t); */
Packit df99a1
+/* static int t2p_tile_is_corner_edge(T2P_TILES, ttile_t); */
Packit df99a1
+static tsize_t t2p_readwrite_pdf_image(T2P*, TIFF*, TIFF*);
Packit df99a1
+static tsize_t t2p_readwrite_pdf_image_tile(T2P*, TIFF*, TIFF*, ttile_t);
Packit df99a1
 #ifdef OJPEG_SUPPORT
Packit df99a1
-int t2p_process_ojpeg_tables(T2P*, TIFF*);
Packit df99a1
+static int t2p_process_ojpeg_tables(T2P*, TIFF*);
Packit df99a1
 #endif
Packit df99a1
 #ifdef JPEG_SUPPORT
Packit df99a1
-int t2p_process_jpeg_strip(unsigned char*, tsize_t*, unsigned char*, tsize_t*, tstrip_t, uint32);
Packit df99a1
+static int t2p_process_jpeg_strip(unsigned char*, tsize_t*, unsigned char*, tsize_t*, tstrip_t, uint32);
Packit df99a1
 #endif
Packit df99a1
-void t2p_tile_collapse_left(tdata_t, tsize_t, uint32, uint32, uint32);
Packit df99a1
-void t2p_write_advance_directory(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_sample_planar_separate_to_contig(T2P*, unsigned char*, unsigned char*, tsize_t);
Packit df99a1
-tsize_t t2p_sample_realize_palette(T2P*, unsigned char*);
Packit df99a1
-tsize_t t2p_sample_abgr_to_rgb(tdata_t, uint32);
Packit df99a1
-tsize_t t2p_sample_rgba_to_rgb(tdata_t, uint32);
Packit df99a1
-tsize_t t2p_sample_rgbaa_to_rgb(tdata_t, uint32);
Packit df99a1
-tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t, uint32);
Packit df99a1
-tsize_t t2p_write_pdf_header(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_obj_start(uint32, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_obj_end(TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_name(unsigned char*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_string(unsigned char*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream(tdata_t, tsize_t, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_start(TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_end(TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict(tsize_t, uint32, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict_start(TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict_end(TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_stream_length(tsize_t, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_catalog(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_info(T2P*, TIFF*, TIFF*);
Packit df99a1
-void t2p_pdf_currenttime(T2P*);
Packit df99a1
-void t2p_pdf_tifftime(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_pages(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_page(uint32, T2P*, TIFF*);
Packit df99a1
-void t2p_compose_pdf_page(T2P*);
Packit df99a1
-void t2p_compose_pdf_page_orient(T2P_BOX*, uint16);
Packit df99a1
-void t2p_compose_pdf_page_orient_flip(T2P_BOX*, uint16);
Packit df99a1
-tsize_t t2p_write_pdf_page_content(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t, T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_cs(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_transfer(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_transfer_dict(T2P*, TIFF*, uint16);
Packit df99a1
-tsize_t t2p_write_pdf_transfer_stream(T2P*, TIFF*, uint16);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_calcs(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs_dict(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs_stream(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_cs_stream(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_decode(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t, T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_xreftable(T2P*, TIFF*);
Packit df99a1
-tsize_t t2p_write_pdf_trailer(T2P*, TIFF*);
Packit df99a1
+static void t2p_tile_collapse_left(tdata_t, tsize_t, uint32, uint32, uint32);
Packit df99a1
+static void t2p_write_advance_directory(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_sample_planar_separate_to_contig(T2P*, unsigned char*, unsigned char*, tsize_t);
Packit df99a1
+static tsize_t t2p_sample_realize_palette(T2P*, unsigned char*);
Packit df99a1
+static tsize_t t2p_sample_abgr_to_rgb(tdata_t, uint32);
Packit df99a1
+static tsize_t t2p_sample_rgba_to_rgb(tdata_t, uint32);
Packit df99a1
+static tsize_t t2p_sample_rgbaa_to_rgb(tdata_t, uint32);
Packit df99a1
+static tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t, uint32);
Packit df99a1
+static tsize_t t2p_write_pdf_header(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_obj_start(uint32, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_obj_end(TIFF*);
Packit df99a1
+/* static tsize_t t2p_write_pdf_name(unsigned char*, TIFF*); */
Packit df99a1
+static tsize_t t2p_write_pdf_string(unsigned char*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream(tdata_t, tsize_t, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_start(TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_end(TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict(tsize_t, uint32, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict_start(TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict_end(TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_stream_length(tsize_t, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_catalog(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_info(T2P*, TIFF*, TIFF*);
Packit df99a1
+static void t2p_pdf_currenttime(T2P*);
Packit df99a1
+static void t2p_pdf_tifftime(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_pages(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_page(uint32, T2P*, TIFF*);
Packit df99a1
+static void t2p_compose_pdf_page(T2P*);
Packit df99a1
+static void t2p_compose_pdf_page_orient(T2P_BOX*, uint16);
Packit df99a1
+static void t2p_compose_pdf_page_orient_flip(T2P_BOX*, uint16);
Packit df99a1
+/* static tsize_t t2p_write_pdf_page_content(T2P*, TIFF*); */
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t, T2P*, TIFF*); 
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_cs(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_transfer(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_transfer_dict(T2P*, TIFF*, uint16);
Packit df99a1
+static tsize_t t2p_write_pdf_transfer_stream(T2P*, TIFF*, uint16);
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_calcs(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs_dict(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs_stream(T2P*, TIFF*);
Packit df99a1
+/* static tsize_t t2p_write_pdf_xobject_cs_stream(T2P*, TIFF*); */
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_decode(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t, T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_xreftable(T2P*, TIFF*);
Packit df99a1
+static tsize_t t2p_write_pdf_trailer(T2P*, TIFF*);
Packit df99a1
 
Packit df99a1
 static void
Packit df99a1
 t2p_disable(TIFF *tif)
Packit df99a1
@@ -563,16 +707,17 @@
Packit df99a1
     See also libtiff.3t, tiffcp.
Packit df99a1
   */
Packit df99a1
 
Packit df99a1
-int main(int argc, char** argv){
Packit df99a1
-
Packit df99a1
-	extern char *optarg;
Packit df99a1
-	extern int optind;
Packit df99a1
-	const char *outfilename = NULL;
Packit df99a1
+int
Packit df99a1
+tiff2pdf(TIFF *input, FILE *outputfile, int argc, const char **argv)
Packit df99a1
+{
Packit df99a1
+        char *outfilename = "<null>";
Packit df99a1
         T2P *t2p = NULL;
Packit df99a1
-	TIFF *input = NULL, *output = NULL;
Packit df99a1
+        TIFF *output = NULL;
Packit df99a1
 	tsize_t written = 0;
Packit df99a1
 	int c;
Packit df99a1
 
Packit df99a1
+        (void)written;
Packit df99a1
+
Packit df99a1
 	t2p = t2p_init();
Packit df99a1
 
Packit df99a1
 	if (t2p == NULL){
Packit df99a1
@@ -581,7 +726,7 @@
Packit df99a1
 	}
Packit df99a1
 
Packit df99a1
 	while (argv &&
Packit df99a1
-	       (c = getopt(argc, argv,
Packit df99a1
+	       (c = getopt(argc, (void*)argv,
Packit df99a1
 			   "o:q:u:x:y:w:l:r:p:e:c:a:t:s:k:jzndifbh")) != -1){
Packit df99a1
 		switch (c) {
Packit df99a1
 			case 'o':
Packit df99a1
@@ -690,8 +835,8 @@
Packit df99a1
 					_TIFFmalloc(strlen(optarg) + 1);
Packit df99a1
 				if(t2p->pdf_creator==NULL){
Packit df99a1
 					TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for main", 
Packit df99a1
-						  strlen(optarg) + 1); 
Packit df99a1
+				"Can't allocate %lu bytes of memory for main", 
Packit df99a1
+						  (long)strlen(optarg) + 1); 
Packit df99a1
 					goto fail;
Packit df99a1
 				}
Packit df99a1
 				strcpy((char *)t2p->pdf_creator, optarg);
Packit df99a1
@@ -703,8 +848,8 @@
Packit df99a1
 				if(t2p->pdf_author==NULL){
Packit df99a1
 					TIFFError(
Packit df99a1
 						TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for main", 
Packit df99a1
-						strlen(optarg) + 1); 
Packit df99a1
+				"Can't allocate %lu bytes of memory for main", 
Packit df99a1
+						(long)strlen(optarg) + 1); 
Packit df99a1
 					goto fail;
Packit df99a1
 				}
Packit df99a1
 				strcpy((char *)t2p->pdf_author, optarg);
Packit df99a1
@@ -716,8 +861,8 @@
Packit df99a1
 				if(t2p->pdf_title==NULL){
Packit df99a1
 					TIFFError(
Packit df99a1
 						TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for main", 
Packit df99a1
-						strlen(optarg) + 1); 
Packit df99a1
+				"Can't allocate %lu bytes of memory for main", 
Packit df99a1
+						(long)strlen(optarg) + 1); 
Packit df99a1
 					goto fail;
Packit df99a1
 				}
Packit df99a1
 				strcpy((char *)t2p->pdf_title, optarg);
Packit df99a1
@@ -729,8 +874,8 @@
Packit df99a1
 				if(t2p->pdf_subject==NULL){
Packit df99a1
 					TIFFError(
Packit df99a1
 						TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for main", 
Packit df99a1
-						strlen(optarg)+1); 
Packit df99a1
+				"Can't allocate %lu bytes of memory for main", 
Packit df99a1
+						(long)strlen(optarg)+1); 
Packit df99a1
 					goto fail;
Packit df99a1
 				}
Packit df99a1
 				strcpy((char *)t2p->pdf_subject, optarg);
Packit df99a1
@@ -742,8 +887,8 @@
Packit df99a1
 				if(t2p->pdf_keywords==NULL){
Packit df99a1
 					TIFFError(
Packit df99a1
 						TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for main", 
Packit df99a1
-						strlen(optarg) + 1); 
Packit df99a1
+				"Can't allocate %lu bytes of memory for main", 
Packit df99a1
+						(long)strlen(optarg) + 1); 
Packit df99a1
 					goto fail;
Packit df99a1
 				}
Packit df99a1
 				strcpy((char *)t2p->pdf_keywords, optarg);
Packit df99a1
@@ -752,54 +897,14 @@
Packit df99a1
 			case 'b':
Packit df99a1
 				t2p->pdf_image_interpolate = 1;
Packit df99a1
 				break;
Packit df99a1
-			case 'h': 
Packit df99a1
-			case '?': 
Packit df99a1
-				tiff2pdf_usage();
Packit df99a1
-				goto success;
Packit df99a1
-				break;
Packit df99a1
-		}
Packit df99a1
-		}
Packit df99a1
-
Packit df99a1
-	/*
Packit df99a1
-	 * Input
Packit df99a1
-	 */
Packit df99a1
-	if(argc > optind) {
Packit df99a1
-		input = TIFFOpen(argv[optind++], "r");
Packit df99a1
-		if (input==NULL) {
Packit df99a1
-			TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-				  "Can't open input file %s for reading", 
Packit df99a1
-				  argv[optind-1]);
Packit df99a1
-			goto fail;
Packit df99a1
 		}
Packit df99a1
-	} else {
Packit df99a1
-		TIFFError(TIFF2PDF_MODULE, "No input file specified"); 
Packit df99a1
-		tiff2pdf_usage();
Packit df99a1
-		goto fail;
Packit df99a1
-	}
Packit df99a1
-
Packit df99a1
-	if(argc > optind) {
Packit df99a1
-		TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-			  "No support for multiple input files"); 
Packit df99a1
-		tiff2pdf_usage();
Packit df99a1
-		goto fail;
Packit df99a1
 	}
Packit df99a1
 
Packit df99a1
 	/*
Packit df99a1
 	 * Output
Packit df99a1
 	 */
Packit df99a1
 	t2p->outputdisable = 0;
Packit df99a1
-	if (outfilename) {
Packit df99a1
-		t2p->outputfile = fopen(outfilename, "wb");
Packit df99a1
-		if (t2p->outputfile == NULL) {
Packit df99a1
-			TIFFError(TIFF2PDF_MODULE,
Packit df99a1
-				  "Can't open output file %s for writing",
Packit df99a1
-				  outfilename);
Packit df99a1
-			goto fail;
Packit df99a1
-		}
Packit df99a1
-	} else {
Packit df99a1
-		outfilename = "-";
Packit df99a1
-		t2p->outputfile = stdout;
Packit df99a1
-	}
Packit df99a1
+        t2p->outputfile = outputfile;
Packit df99a1
 
Packit df99a1
 	output = TIFFClientOpen(outfilename, "w", (thandle_t) t2p,
Packit df99a1
 				t2p_readproc, t2p_writeproc, t2p_seekproc, 
Packit df99a1
@@ -827,7 +932,7 @@
Packit df99a1
 		goto fail;
Packit df99a1
 	}
Packit df99a1
 
Packit df99a1
-success:
Packit df99a1
+/* success: */
Packit df99a1
 	if (output != NULL)
Packit df99a1
 		TIFFClose(output);
Packit df99a1
 	if (t2p != NULL)
Packit df99a1
@@ -845,50 +950,8 @@
Packit df99a1
   
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-void tiff2pdf_usage(){
Packit df99a1
-	char* lines[]={
Packit df99a1
-	"usage:  tiff2pdf [options] input.tiff",
Packit df99a1
-	"options:",
Packit df99a1
-	" -o: output to file name",
Packit df99a1
-#ifdef JPEG_SUPPORT
Packit df99a1
-	" -j: compress with JPEG", 
Packit df99a1
-#endif
Packit df99a1
-#ifdef ZIP_SUPPORT
Packit df99a1
-	" -z: compress with Zip/Deflate",
Packit df99a1
-#endif
Packit df99a1
-	" -q: compression quality",
Packit df99a1
-	" -n: no compressed data passthrough",
Packit df99a1
-	" -d: do not compress (decompress)",
Packit df99a1
-	" -i: invert colors",
Packit df99a1
-	" -u: set distance unit, 'i' for inch, 'm' for centimeter",
Packit df99a1
-	" -x: set x resolution default in dots per unit",
Packit df99a1
-	" -y: set y resolution default in dots per unit",
Packit df99a1
-	" -w: width in units",
Packit df99a1
-	" -l: length in units",
Packit df99a1
-	" -r: 'd' for resolution default, 'o' for resolution override",
Packit df99a1
-	" -p: paper size, eg \"letter\", \"legal\", \"A4\"",
Packit df99a1
-	" -f: set PDF \"Fit Window\" user preference",
Packit df99a1
-	" -e: date, overrides image or current date/time default, YYYYMMDDHHMMSS",
Packit df99a1
-	" -c: sets document creator, overrides image software default",
Packit df99a1
-	" -a: sets document author, overrides image artist default",
Packit df99a1
-	" -t: sets document title, overrides image document name default",
Packit df99a1
-	" -s: sets document subject, overrides image image description default",
Packit df99a1
-	" -k: sets document keywords",
Packit df99a1
-	" -b: set PDF \"Interpolate\" user preference",
Packit df99a1
-	" -h: usage",
Packit df99a1
-	NULL
Packit df99a1
-	};
Packit df99a1
-	int i=0;
Packit df99a1
 
Packit df99a1
-	fprintf(stderr, "%s\n\n", TIFFGetVersion());
Packit df99a1
-	for (i=0;lines[i]!=NULL;i++){
Packit df99a1
-		fprintf(stderr, "%s\n", lines[i]);
Packit df99a1
-	}
Packit df99a1
-
Packit df99a1
-	return;
Packit df99a1
-}
Packit df99a1
-
Packit df99a1
-int tiff2pdf_match_paper_size(float* width, float* length, char* papersize){
Packit df99a1
+static int tiff2pdf_match_paper_size(float* width, float* length, char* papersize){
Packit df99a1
 
Packit df99a1
 	size_t i, len;
Packit df99a1
 	const char* sizes[]={
Packit df99a1
@@ -952,14 +1015,14 @@
Packit df99a1
 	This function allocates and initializes a T2P context struct pointer.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-T2P* t2p_init(){
Packit df99a1
+static T2P* t2p_init(){
Packit df99a1
 
Packit df99a1
 	T2P* t2p = (T2P*) _TIFFmalloc(sizeof(T2P));
Packit df99a1
 	if(t2p==NULL){
Packit df99a1
 		TIFFError(
Packit df99a1
 			TIFF2PDF_MODULE, 
Packit df99a1
-			"Can't allocate %u bytes of memory for t2p_init", 
Packit df99a1
-			sizeof(T2P));
Packit df99a1
+			"Can't allocate %lu bytes of memory for t2p_init", 
Packit df99a1
+			(long)sizeof(T2P));
Packit df99a1
 		return( (T2P*) NULL );
Packit df99a1
 	}
Packit df99a1
 	_TIFFmemset(t2p, 0x00, sizeof(T2P));
Packit df99a1
@@ -978,7 +1041,7 @@
Packit df99a1
 	This function frees a T2P context struct pointer and any allocated data fields of it.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_free(T2P* t2p){
Packit df99a1
+static void t2p_free(T2P* t2p){
Packit df99a1
 
Packit df99a1
 	int i=0;
Packit df99a1
 
Packit df99a1
@@ -1037,7 +1100,7 @@
Packit df99a1
         before calling t2p_write_pdf with it.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_validate(T2P* t2p){
Packit df99a1
+static void t2p_validate(T2P* t2p){
Packit df99a1
 
Packit df99a1
 #ifdef JPEG_SUPPORT
Packit df99a1
 	if(t2p->pdf_defaultcompression==T2P_COMPRESS_JPEG){
Packit df99a1
@@ -1079,7 +1142,7 @@
Packit df99a1
         with the output of the PDF document as a whole.  
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_read_tiff_init(T2P* t2p, TIFF* input){
Packit df99a1
+static void t2p_read_tiff_init(T2P* t2p, TIFF* input){
Packit df99a1
 
Packit df99a1
 	tdir_t directorycount=0;
Packit df99a1
 	tdir_t i=0;
Packit df99a1
@@ -1092,8 +1155,8 @@
Packit df99a1
 	if(t2p->tiff_pages==NULL){
Packit df99a1
 		TIFFError(
Packit df99a1
 			TIFF2PDF_MODULE, 
Packit df99a1
-			"Can't allocate %u bytes of memory for tiff_pages array, %s", 
Packit df99a1
-			directorycount * sizeof(T2P_PAGE), 
Packit df99a1
+			"Can't allocate %lu bytes of memory for tiff_pages array, %s", 
Packit df99a1
+			directorycount * (long)sizeof(T2P_PAGE), 
Packit df99a1
 			TIFFFileName(input));
Packit df99a1
 		t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 		return;
Packit df99a1
@@ -1103,8 +1166,8 @@
Packit df99a1
 	if(t2p->tiff_tiles==NULL){
Packit df99a1
 		TIFFError(
Packit df99a1
 			TIFF2PDF_MODULE, 
Packit df99a1
-			"Can't allocate %u bytes of memory for tiff_tiles array, %s", 
Packit df99a1
-			directorycount * sizeof(T2P_TILES), 
Packit df99a1
+			"Can't allocate %lu bytes of memory for tiff_tiles array, %s", 
Packit df99a1
+			directorycount * (long)sizeof(T2P_TILES), 
Packit df99a1
 			TIFFFileName(input));
Packit df99a1
 		t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 		return;
Packit df99a1
@@ -1236,8 +1299,8 @@
Packit df99a1
 			if( t2p->tiff_tiles[i].tiles_tiles == NULL){
Packit df99a1
 				TIFFError(
Packit df99a1
 					TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory for t2p_read_tiff_init, %s", 
Packit df99a1
-					t2p->tiff_tiles[i].tiles_tilecount * sizeof(T2P_TILE), 
Packit df99a1
+					"Can't allocate %lu bytes of memory for t2p_read_tiff_init, %s", 
Packit df99a1
+					t2p->tiff_tiles[i].tiles_tilecount * (long)sizeof(T2P_TILE), 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return;
Packit df99a1
@@ -1253,7 +1316,7 @@
Packit df99a1
  * by page number.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-int t2p_cmp_t2p_page(const void* e1, const void* e2){
Packit df99a1
+static int t2p_cmp_t2p_page(const void* e1, const void* e2){
Packit df99a1
 
Packit df99a1
 	return( ((T2P_PAGE*)e1)->page_number - ((T2P_PAGE*)e2)->page_number );
Packit df99a1
 }
Packit df99a1
@@ -1270,7 +1333,7 @@
Packit df99a1
 	requiring transcoding of the image data.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_read_tiff_data(T2P* t2p, TIFF* input){
Packit df99a1
+static void t2p_read_tiff_data(T2P* t2p, TIFF* input){
Packit df99a1
 
Packit df99a1
 	int i=0;
Packit df99a1
 	uint16* r;
Packit df99a1
@@ -1850,7 +1913,7 @@
Packit df99a1
 	uncompressed image data from the input TIFF for a page.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_read_tiff_size(T2P* t2p, TIFF* input){
Packit df99a1
+static void t2p_read_tiff_size(T2P* t2p, TIFF* input){
Packit df99a1
 
Packit df99a1
 	uint32* sbc=NULL;
Packit df99a1
 #if defined(JPEG_SUPPORT) || defined (OJPEG_SUPPORT)
Packit df99a1
@@ -1891,7 +1954,7 @@
Packit df99a1
 			if(TIFFGetField(input, TIFFTAG_JPEGIFOFFSET, &(t2p->tiff_dataoffset))){
Packit df99a1
 				if(t2p->tiff_dataoffset != 0){
Packit df99a1
 					if(TIFFGetField(input, TIFFTAG_JPEGIFBYTECOUNT, &(t2p->tiff_datasize))!=0){
Packit df99a1
-						if(t2p->tiff_datasize < k) {
Packit df99a1
+                                          if((uint64)t2p->tiff_datasize < k) {
Packit df99a1
 							TIFFWarning(TIFF2PDF_MODULE, 
Packit df99a1
 								"Input file %s has short JPEG interchange file byte count", 
Packit df99a1
 								TIFFFileName(input));
Packit df99a1
@@ -1984,7 +2047,7 @@
Packit df99a1
 	uncompressed image data from the input TIFF for a tile of a page.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_read_tiff_size_tile(T2P* t2p, TIFF* input, ttile_t tile){
Packit df99a1
+static void t2p_read_tiff_size_tile(T2P* t2p, TIFF* input, ttile_t tile){
Packit df99a1
 
Packit df99a1
 	uint32* tbc = NULL;
Packit df99a1
 	uint16 edge=0;
Packit df99a1
@@ -2060,7 +2123,7 @@
Packit df99a1
  * and does not have full imaged tile width.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-int t2p_tile_is_right_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
+static int t2p_tile_is_right_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
 
Packit df99a1
 	if( ((tile+1) % tiles.tiles_tilecountx == 0) 
Packit df99a1
 		&& (tiles.tiles_edgetilewidth != 0) ){
Packit df99a1
@@ -2075,7 +2138,7 @@
Packit df99a1
  * and does not have full imaged tile length.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-int t2p_tile_is_bottom_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
+static int t2p_tile_is_bottom_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
 
Packit df99a1
 	if( ((tile+1) > (tiles.tiles_tilecount-tiles.tiles_tilecountx) )
Packit df99a1
 		&& (tiles.tiles_edgetilelength != 0) ){
Packit df99a1
@@ -2086,33 +2149,12 @@
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
 /*
Packit df99a1
- * This function returns a non-zero value when the tile is a right edge tile
Packit df99a1
- * or a bottom edge tile.
Packit df99a1
- */
Packit df99a1
-
Packit df99a1
-int t2p_tile_is_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
-
Packit df99a1
-	return(t2p_tile_is_right_edge(tiles, tile) | t2p_tile_is_bottom_edge(tiles, tile) );
Packit df99a1
-}
Packit df99a1
-
Packit df99a1
-/*
Packit df99a1
-	This function returns a non-zero value when the tile is a right edge tile and a bottom 
Packit df99a1
-	edge tile.
Packit df99a1
-*/
Packit df99a1
-
Packit df99a1
-int t2p_tile_is_corner_edge(T2P_TILES tiles, ttile_t tile){
Packit df99a1
-
Packit df99a1
-	return(t2p_tile_is_right_edge(tiles, tile) & t2p_tile_is_bottom_edge(tiles, tile) );
Packit df99a1
-}
Packit df99a1
-
Packit df99a1
-
Packit df99a1
-/*
Packit df99a1
 	This function reads the raster image data from the input TIFF for an image and writes 
Packit df99a1
 	the data to the output PDF XObject image dictionary stream.  It returns the amount written 
Packit df99a1
 	or zero on error.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_readwrite_pdf_image(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
+static tsize_t t2p_readwrite_pdf_image(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	unsigned char* buffer=NULL;
Packit df99a1
@@ -2153,8 +2195,8 @@
Packit df99a1
 				_TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if (buffer == NULL) {
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2182,8 +2224,8 @@
Packit df99a1
                         memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 			if(buffer == NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2209,8 +2251,8 @@
Packit df99a1
                                 memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 				if(buffer == NULL) {
Packit df99a1
 					TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-						t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+						(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 						TIFFFileName(input));
Packit df99a1
 					t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 					return(0);
Packit df99a1
@@ -2285,8 +2327,8 @@
Packit df99a1
                                 memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 				if(buffer==NULL){
Packit df99a1
 					TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-						t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+						(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 						TIFFFileName(input));
Packit df99a1
 					t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 					return(0);
Packit df99a1
@@ -2328,8 +2370,8 @@
Packit df99a1
                         memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2390,8 +2432,8 @@
Packit df99a1
                 memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 		if(buffer==NULL){
Packit df99a1
 			TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-				t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+				(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 				TIFFFileName(input));
Packit df99a1
 			t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 			return(0);
Packit df99a1
@@ -2428,8 +2470,8 @@
Packit df99a1
                         memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2437,8 +2479,8 @@
Packit df99a1
 			samplebuffer = (unsigned char*) _TIFFmalloc(stripsize);
Packit df99a1
 			if(samplebuffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2477,8 +2519,8 @@
Packit df99a1
                 memset(buffer, 0, t2p->tiff_datasize);
Packit df99a1
 		if(buffer==NULL){
Packit df99a1
 			TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-				t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+				(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 				TIFFFileName(input));
Packit df99a1
 			t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 			return(0);
Packit df99a1
@@ -2510,8 +2552,8 @@
Packit df99a1
 				t2p->tiff_datasize * t2p->tiff_samplesperpixel);
Packit df99a1
 			if(samplebuffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 			  _TIFFfree(buffer);
Packit df99a1
@@ -2540,8 +2582,8 @@
Packit df99a1
 				t2p->tiff_width*t2p->tiff_length*4);
Packit df99a1
 			if(samplebuffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-	"Can't allocate %u bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+	"Can't allocate %lu bytes of memory for t2p_readwrite_pdf_image, %s", 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				_TIFFfree(buffer);
Packit df99a1
@@ -2699,7 +2741,7 @@
Packit df99a1
  * for the tile.  It returns the amount written or zero on error.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_readwrite_pdf_image_tile(T2P* t2p, TIFF* input, TIFF* output, ttile_t tile){
Packit df99a1
+static tsize_t t2p_readwrite_pdf_image_tile(T2P* t2p, TIFF* input, TIFF* output, ttile_t tile){
Packit df99a1
 
Packit df99a1
 	uint16 edge=0;
Packit df99a1
 	tsize_t written=0;
Packit df99a1
@@ -2718,6 +2760,7 @@
Packit df99a1
 	float* xfloatp;
Packit df99a1
 	uint32 xuint32=0;
Packit df99a1
 #endif
Packit df99a1
+        (void)tilesize;
Packit df99a1
 
Packit df99a1
 	/* Fail if prior error (in particular, can't trust tiff_datasize) */
Packit df99a1
 	if (t2p->t2p_error != T2P_ERR_OK)
Packit df99a1
@@ -2737,9 +2780,9 @@
Packit df99a1
 			buffer= (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2758,9 +2801,9 @@
Packit df99a1
 			buffer= (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2787,9 +2830,9 @@
Packit df99a1
 			buffer=(unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2828,9 +2871,9 @@
Packit df99a1
 			buffer= (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2871,9 +2914,9 @@
Packit df99a1
 		buffer = (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 		if(buffer==NULL){
Packit df99a1
 			TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-				"Can't allocate %u bytes of memory for "
Packit df99a1
+				"Can't allocate %lu bytes of memory for "
Packit df99a1
                                 "t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-				t2p->tiff_datasize, 
Packit df99a1
+				(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 				TIFFFileName(input));
Packit df99a1
 			t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 			return(0);
Packit df99a1
@@ -2904,9 +2947,9 @@
Packit df99a1
 			buffer = (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2914,9 +2957,9 @@
Packit df99a1
 			samplebuffer = (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(samplebuffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -2953,9 +2996,9 @@
Packit df99a1
 			buffer = (unsigned char*) _TIFFmalloc(t2p->tiff_datasize);
Packit df99a1
 			if(buffer==NULL){
Packit df99a1
 				TIFFError(TIFF2PDF_MODULE, 
Packit df99a1
-					"Can't allocate %u bytes of memory "
Packit df99a1
+					"Can't allocate %lu bytes of memory "
Packit df99a1
                                         "for t2p_readwrite_pdf_image_tile, %s", 
Packit df99a1
-					t2p->tiff_datasize, 
Packit df99a1
+					(unsigned long)t2p->tiff_datasize, 
Packit df99a1
 					TIFFFileName(input));
Packit df99a1
 				t2p->t2p_error = T2P_ERR_ERROR;
Packit df99a1
 				return(0);
Packit df99a1
@@ -3140,7 +3183,7 @@
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
 #ifdef OJPEG_SUPPORT
Packit df99a1
-int t2p_process_ojpeg_tables(T2P* t2p, TIFF* input){
Packit df99a1
+static int t2p_process_ojpeg_tables(T2P* t2p, TIFF* input){
Packit df99a1
 	uint16 proc=0;
Packit df99a1
 	void* q;
Packit df99a1
 	uint32 q_length=0;
Packit df99a1
@@ -3384,7 +3427,7 @@
Packit df99a1
 #endif
Packit df99a1
 
Packit df99a1
 #ifdef JPEG_SUPPORT
Packit df99a1
-int t2p_process_jpeg_strip(
Packit df99a1
+static int t2p_process_jpeg_strip(
Packit df99a1
 	unsigned char* strip, 
Packit df99a1
 	tsize_t* striplength, 
Packit df99a1
 	unsigned char* buffer, 
Packit df99a1
@@ -3477,7 +3520,7 @@
Packit df99a1
 	This functions converts a tilewidth x tilelength buffer of samples into an edgetilewidth x 
Packit df99a1
 	tilelength buffer of samples.
Packit df99a1
 */
Packit df99a1
-void t2p_tile_collapse_left(
Packit df99a1
+static void t2p_tile_collapse_left(
Packit df99a1
 	tdata_t buffer, 
Packit df99a1
 	tsize_t scanwidth, 
Packit df99a1
 	uint32 tilewidth, 
Packit df99a1
@@ -3488,7 +3531,7 @@
Packit df99a1
 	tsize_t edgescanwidth=0;
Packit df99a1
 	
Packit df99a1
 	edgescanwidth = (scanwidth * edgetilewidth + (tilewidth - 1))/ tilewidth;
Packit df99a1
-	for(i=i;i
Packit df99a1
+	for(i=0;i
Packit df99a1
 		_TIFFmemcpy( 
Packit df99a1
 			&(((char*)buffer)[edgescanwidth*i]), 
Packit df99a1
 			&(((char*)buffer)[scanwidth*i]), 
Packit df99a1
@@ -3505,7 +3548,7 @@
Packit df99a1
  * implementations, then it replaces the original implementations.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-void
Packit df99a1
+static void
Packit df99a1
 t2p_write_advance_directory(T2P* t2p, TIFF* output)
Packit df99a1
 {
Packit df99a1
 	t2p_disable(output);
Packit df99a1
@@ -3520,8 +3563,7 @@
Packit df99a1
 	return;
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_sample_planar_separate_to_contig(
Packit df99a1
-											T2P* t2p, 
Packit df99a1
+static tsize_t t2p_sample_planar_separate_to_contig(T2P* t2p, 
Packit df99a1
                                                     unsigned char* buffer, 
Packit df99a1
                                                     unsigned char* samplebuffer, 
Packit df99a1
                                                     tsize_t samplebuffersize){
Packit df99a1
@@ -3540,7 +3582,7 @@
Packit df99a1
 	return(samplebuffersize);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_sample_realize_palette(T2P* t2p, unsigned char* buffer){
Packit df99a1
+static tsize_t t2p_sample_realize_palette(T2P* t2p, unsigned char* buffer){
Packit df99a1
 
Packit df99a1
 	uint32 sample_count=0;
Packit df99a1
 	uint16 component_count=0;
Packit df99a1
@@ -3567,7 +3609,7 @@
Packit df99a1
 	into RGB interleaved data, discarding A.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_sample_abgr_to_rgb(tdata_t data, uint32 samplecount)
Packit df99a1
+static tsize_t t2p_sample_abgr_to_rgb(tdata_t data, uint32 samplecount)
Packit df99a1
 {
Packit df99a1
 	uint32 i=0;
Packit df99a1
 	uint32 sample=0;
Packit df99a1
@@ -3587,7 +3629,7 @@
Packit df99a1
  * into RGB interleaved data, discarding A.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-tsize_t
Packit df99a1
+static tsize_t
Packit df99a1
 t2p_sample_rgbaa_to_rgb(tdata_t data, uint32 samplecount)
Packit df99a1
 {
Packit df99a1
 	uint32 i;
Packit df99a1
@@ -3603,7 +3645,7 @@
Packit df99a1
  * into RGB interleaved data, adding 255-A to each component sample.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-tsize_t
Packit df99a1
+static tsize_t
Packit df99a1
 t2p_sample_rgba_to_rgb(tdata_t data, uint32 samplecount)
Packit df99a1
 {
Packit df99a1
 	uint32 i = 0;
Packit df99a1
@@ -3627,7 +3669,7 @@
Packit df99a1
 	to unsigned.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t buffer, uint32 samplecount){
Packit df99a1
+static tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t buffer, uint32 samplecount){
Packit df99a1
 
Packit df99a1
 	uint32 i=0;
Packit df99a1
 
Packit df99a1
@@ -3653,7 +3695,7 @@
Packit df99a1
 	This function writes the PDF header to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -3670,7 +3712,7 @@
Packit df99a1
 	This function writes the beginning of a PDF object to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -3687,7 +3729,7 @@
Packit df99a1
 	This function writes the end of a PDF object to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_obj_end(TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_obj_end(TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3697,108 +3739,10 @@
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
 /*
Packit df99a1
-	This function writes a PDF name object to output.
Packit df99a1
-*/
Packit df99a1
-
Packit df99a1
-tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
Packit df99a1
-
Packit df99a1
-	tsize_t written=0;
Packit df99a1
-	uint32 i=0;
Packit df99a1
-	char buffer[64];
Packit df99a1
-	uint16 nextchar=0;
Packit df99a1
-	uint32 namelen=0;
Packit df99a1
-	
Packit df99a1
-	namelen = strlen((char *)name);
Packit df99a1
-	if (namelen>126) {
Packit df99a1
-		namelen=126;
Packit df99a1
-	}
Packit df99a1
-	written += t2pWriteFile(output, (tdata_t) "/", 1);
Packit df99a1
-	for (i=0;i
Packit df99a1
-		if ( ((unsigned char)name[i]) < 0x21){
Packit df99a1
-			sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-			buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-			written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-			nextchar=1;
Packit df99a1
-		}
Packit df99a1
-		if ( ((unsigned char)name[i]) > 0x7E){
Packit df99a1
-			sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-			buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-			written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-			nextchar=1;
Packit df99a1
-		}
Packit df99a1
-		if (nextchar==0){
Packit df99a1
-			switch (name[i]){
Packit df99a1
-				case 0x23:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x25:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x28:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x29:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x2F:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x3C:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x3E:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x5B:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x5D:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]);
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x7B:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				case 0x7D:
Packit df99a1
-					sprintf(buffer, "#%.2X", name[i]); 
Packit df99a1
-					buffer[sizeof(buffer) - 1] = '\0';
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) buffer, 3);
Packit df99a1
-					break;
Packit df99a1
-				default:
Packit df99a1
-					written += t2pWriteFile(output, (tdata_t) &name[i], 1);
Packit df99a1
-			}
Packit df99a1
-		}
Packit df99a1
-		nextchar=0;
Packit df99a1
-	}
Packit df99a1
-	written += t2pWriteFile(output, (tdata_t) " ", 1);
Packit df99a1
-
Packit df99a1
-	return(written);
Packit df99a1
-}
Packit df99a1
-
Packit df99a1
-/*
Packit df99a1
 	This function writes a PDF string object to output.
Packit df99a1
 */
Packit df99a1
 	
Packit df99a1
-tsize_t t2p_write_pdf_string(unsigned char* pdfstr, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_string(unsigned char* pdfstr, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written = 0;
Packit df99a1
 	uint32 i = 0;
Packit df99a1
@@ -3853,7 +3797,7 @@
Packit df99a1
 	This function writes a buffer of data to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream(tdata_t buffer, tsize_t len, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream(tdata_t buffer, tsize_t len, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3866,7 +3810,7 @@
Packit df99a1
 	This functions writes the beginning of a PDF stream to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_start(TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_start(TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3879,7 +3823,7 @@
Packit df99a1
 	This function writes the end of a PDF stream to output. 
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_end(TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_end(TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3892,7 +3836,7 @@
Packit df99a1
 	This function writes a stream dictionary for a PDF stream to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
Packit df99a1
 	
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -3914,7 +3858,7 @@
Packit df99a1
 	This functions writes the beginning of a PDF stream dictionary to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict_start(TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict_start(TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3927,7 +3871,7 @@
Packit df99a1
 	This function writes the end of a PDF stream dictionary to output. 
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -3940,7 +3884,7 @@
Packit df99a1
 	This function writes a number to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -3957,7 +3901,7 @@
Packit df99a1
 	This function writes the PDF Catalog structure to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -3983,13 +3927,15 @@
Packit df99a1
 	This function writes the PDF Info structure to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written = 0;
Packit df99a1
 	unsigned char* info;
Packit df99a1
 	char buffer[512];
Packit df99a1
 	int buflen = 0;
Packit df99a1
 
Packit df99a1
+        (void) buflen;
Packit df99a1
+
Packit df99a1
 	if(t2p->pdf_datetime==NULL){
Packit df99a1
 		t2p_pdf_tifftime(t2p, input);
Packit df99a1
 	}
Packit df99a1
@@ -4107,7 +4053,7 @@
Packit df99a1
  * date string, it is called by t2p_pdf_tifftime.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-void t2p_pdf_currenttime(T2P* t2p)
Packit df99a1
+static void t2p_pdf_currenttime(T2P* t2p)
Packit df99a1
 {
Packit df99a1
 
Packit df99a1
 	struct tm* currenttime;
Packit df99a1
@@ -4131,7 +4077,7 @@
Packit df99a1
  * TIFF file if it exists or the current time as a PDF date string.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-void t2p_pdf_tifftime(T2P* t2p, TIFF* input){
Packit df99a1
+static void t2p_pdf_tifftime(T2P* t2p, TIFF* input){
Packit df99a1
 
Packit df99a1
 	char* datetime;
Packit df99a1
 
Packit df99a1
@@ -4172,7 +4118,7 @@
Packit df99a1
  * This function writes a PDF Pages Tree structure to output.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
Packit df99a1
+static tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
Packit df99a1
 {
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	tdir_t i=0;
Packit df99a1
@@ -4211,7 +4157,7 @@
Packit df99a1
 	This function writes a PDF Page structure to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	unsigned int i=0;
Packit df99a1
 	tsize_t written=0;
Packit df99a1
@@ -4306,7 +4252,7 @@
Packit df99a1
 	This function composes the page size and image and tile locations on a page.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-void t2p_compose_pdf_page(T2P* t2p){
Packit df99a1
+static void t2p_compose_pdf_page(T2P* t2p){
Packit df99a1
 
Packit df99a1
 	uint32 i=0;
Packit df99a1
 	uint32 i2=0;
Packit df99a1
@@ -4493,7 +4439,7 @@
Packit df99a1
 	return;
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-void t2p_compose_pdf_page_orient(T2P_BOX* boxp, uint16 orientation){
Packit df99a1
+static void t2p_compose_pdf_page_orient(T2P_BOX* boxp, uint16 orientation){
Packit df99a1
 
Packit df99a1
 	float m1[9];
Packit df99a1
 	float f=0.0;
Packit df99a1
@@ -4568,7 +4514,7 @@
Packit df99a1
 	return;
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-void t2p_compose_pdf_page_orient_flip(T2P_BOX* boxp, uint16 orientation){
Packit df99a1
+static void t2p_compose_pdf_page_orient_flip(T2P_BOX* boxp, uint16 orientation){
Packit df99a1
 
Packit df99a1
 	float m1[9];
Packit df99a1
 	float f=0.0;
Packit df99a1
@@ -4630,7 +4576,7 @@
Packit df99a1
 	This function writes a PDF Contents stream to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	ttile_t i=0;
Packit df99a1
@@ -4676,7 +4622,7 @@
Packit df99a1
 	This function writes a PDF Image XObject stream dictionary to output. 
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile, 
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile, 
Packit df99a1
                                                  T2P* t2p, 
Packit df99a1
                                                  TIFF* output){
Packit df99a1
 
Packit df99a1
@@ -4758,7 +4704,7 @@
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[128];
Packit df99a1
@@ -4839,7 +4785,7 @@
Packit df99a1
 	return(written);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -4873,7 +4819,7 @@
Packit df99a1
 	return(written);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
Packit df99a1
+static tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[32];
Packit df99a1
@@ -4891,7 +4837,7 @@
Packit df99a1
 	return(written);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
Packit df99a1
+static tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -4907,7 +4853,7 @@
Packit df99a1
 	This function writes a PDF Image XObject Colorspace array to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[128];
Packit df99a1
@@ -5003,7 +4949,7 @@
Packit df99a1
 	This function writes a PDF Image XObject Colorspace array to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -5017,7 +4963,7 @@
Packit df99a1
 	return(written);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -5035,7 +4981,7 @@
Packit df99a1
 	return(written);
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_icccs_stream(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_icccs_stream(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -5051,7 +4997,7 @@
Packit df99a1
 	This function writes a palette stream for an indexed color space to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_palettecs_stream(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_palettecs_stream(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 
Packit df99a1
@@ -5067,7 +5013,7 @@
Packit df99a1
 	This function writes a PDF Image XObject Decode array to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	int i=0;
Packit df99a1
@@ -5086,7 +5032,7 @@
Packit df99a1
 	output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[16];
Packit df99a1
@@ -5196,7 +5142,7 @@
Packit df99a1
 	This function writes a PDF xref table to output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	char buffer[21];
Packit df99a1
@@ -5220,7 +5166,7 @@
Packit df99a1
  * This function writes a PDF trailer to output.
Packit df99a1
  */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
Packit df99a1
+static tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
Packit df99a1
 {
Packit df99a1
 
Packit df99a1
 	tsize_t written = 0;
Packit df99a1
@@ -5229,10 +5175,9 @@
Packit df99a1
 	char fileidbuf[16];
Packit df99a1
 	int i = 0;
Packit df99a1
 
Packit df99a1
-	((int*)fileidbuf)[0] = rand();
Packit df99a1
-	((int*)fileidbuf)[1] = rand();
Packit df99a1
-	((int*)fileidbuf)[2] = rand();
Packit df99a1
-	((int*)fileidbuf)[3] = rand();
Packit df99a1
+        for (i=0; i<(int)sizeof(fileidbuf); i++)
Packit df99a1
+          fileidbuf[i] = (char) rand();
Packit df99a1
+
Packit df99a1
 	t2p->pdf_fileid = (unsigned char*)_TIFFmalloc(33);
Packit df99a1
 	if(t2p->pdf_fileid == NULL) {
Packit df99a1
 		TIFFError(
Packit df99a1
@@ -5312,7 +5257,7 @@
Packit df99a1
   and TIFFClose on output.
Packit df99a1
 */
Packit df99a1
 
Packit df99a1
-tsize_t t2p_write_pdf(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
+static tsize_t t2p_write_pdf(T2P* t2p, TIFF* input, TIFF* output){
Packit df99a1
 
Packit df99a1
 	tsize_t written=0;
Packit df99a1
 	ttile_t i2=0;
Packit df99a1
@@ -5325,8 +5270,8 @@
Packit df99a1
 	if(t2p->pdf_xrefoffsets==NULL){
Packit df99a1
 		TIFFError(
Packit df99a1
 			TIFF2PDF_MODULE, 
Packit df99a1
-			"Can't allocate %u bytes of memory for t2p_write_pdf", 
Packit df99a1
-			t2p->pdf_xrefcount * sizeof(uint32) );
Packit df99a1
+			"Can't allocate %lu bytes of memory for t2p_write_pdf", 
Packit df99a1
+			t2p->pdf_xrefcount * (long)sizeof(uint32) );
Packit df99a1
 		return(written);
Packit df99a1
 	}
Packit df99a1
 	t2p->pdf_xrefcount=0;
Packit df99a1
@@ -5475,3 +5420,5 @@
Packit df99a1
 }
Packit df99a1
 
Packit df99a1
 /* vim: set ts=8 sts=8 sw=8 noet: */
Packit df99a1
+
Packit df99a1
+#endif