summaryrefslogtreecommitdiff
path: root/libtiff
diff options
context:
space:
mode:
Diffstat (limited to 'libtiff')
-rw-r--r--libtiff/tif_dir.c50
-rw-r--r--libtiff/tif_dirread.c5
-rw-r--r--libtiff/tif_fax3.c4
-rw-r--r--libtiff/tif_ojpeg.c10
-rw-r--r--libtiff/tif_predict.c4
-rw-r--r--libtiff/tiff.h12
6 files changed, 48 insertions, 37 deletions
diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
index 063bbb64..855008c0 100644
--- a/libtiff/tif_dir.c
+++ b/libtiff/tif_dir.c
@@ -1,4 +1,4 @@
-/* $Id: tif_dir.c,v 1.90 2007-06-26 12:31:26 joris Exp $ */
+/* $Id: tif_dir.c,v 1.91 2007-06-27 12:28:15 joris Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -82,7 +82,7 @@ setExtraSamples(TIFFDirectory* td, va_list ap, uint32* v)
uint16* va;
uint32 i;
- *v = (uint16) va_arg(ap, uint16);
+ *v = (uint16) va_arg(ap, uint16_vap);
if ((uint16) *v > td->td_samplesperpixel)
return 0;
va = va_arg(ap, uint16*);
@@ -156,7 +156,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
td->td_imagelength = (uint32) va_arg(ap, uint32);
break;
case TIFFTAG_BITSPERSAMPLE:
- td->td_bitspersample = (uint16) va_arg(ap, uint16);
+ td->td_bitspersample = (uint16) va_arg(ap, uint16_vap);
/*
* If the data require post-decoding processing to byte-swap
* samples, set it up here. Note that since tags are required
@@ -178,7 +178,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
}
break;
case TIFFTAG_COMPRESSION:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
/*
* If we're changing the compression scheme, the notify the
* previous module so that it can cleanup any state it's
@@ -199,26 +199,26 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
status = 0;
break;
case TIFFTAG_PHOTOMETRIC:
- td->td_photometric = (uint16) va_arg(ap, uint16);
+ td->td_photometric = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_THRESHHOLDING:
- td->td_threshholding = (uint16) va_arg(ap, uint16);
+ td->td_threshholding = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_FILLORDER:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v != FILLORDER_LSB2MSB && v != FILLORDER_MSB2LSB)
goto badvalue;
td->td_fillorder = (uint16) v;
break;
case TIFFTAG_ORIENTATION:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v < ORIENTATION_TOPLEFT || ORIENTATION_LEFTBOT < v)
goto badvalue;
else
td->td_orientation = (uint16) v;
break;
case TIFFTAG_SAMPLESPERPIXEL:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v == 0)
goto badvalue;
td->td_samplesperpixel = (uint16) v;
@@ -234,10 +234,10 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
}
break;
case TIFFTAG_MINSAMPLEVALUE:
- td->td_minsamplevalue = (uint16) va_arg(ap, uint16);
+ td->td_minsamplevalue = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_MAXSAMPLEVALUE:
- td->td_maxsamplevalue = (uint16) va_arg(ap, uint16);
+ td->td_maxsamplevalue = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_SMINSAMPLEVALUE:
td->td_sminsamplevalue = (double) va_arg(ap, double);
@@ -252,7 +252,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
td->td_yresolution = (float) va_arg(ap, double);
break;
case TIFFTAG_PLANARCONFIG:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v != PLANARCONFIG_CONTIG && v != PLANARCONFIG_SEPARATE)
goto badvalue;
td->td_planarconfig = (uint16) v;
@@ -264,18 +264,18 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
td->td_yposition = (float) va_arg(ap, double);
break;
case TIFFTAG_RESOLUTIONUNIT:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v < RESUNIT_NONE || RESUNIT_CENTIMETER < v)
goto badvalue;
td->td_resolutionunit = (uint16) v;
break;
case TIFFTAG_PAGENUMBER:
- td->td_pagenumber[0] = (uint16) va_arg(ap, uint16);
- td->td_pagenumber[1] = (uint16) va_arg(ap, uint16);
+ td->td_pagenumber[0] = (uint16) va_arg(ap, uint16_vap);
+ td->td_pagenumber[1] = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_HALFTONEHINTS:
- td->td_halftonehints[0] = (uint16) va_arg(ap, uint16);
- td->td_halftonehints[1] = (uint16) va_arg(ap, uint16);
+ td->td_halftonehints[0] = (uint16) va_arg(ap, uint16_vap);
+ td->td_halftonehints[1] = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_COLORMAP:
v32 = (uint32)(1L<<td->td_bitspersample);
@@ -288,7 +288,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
goto badvalue;
break;
case TIFFTAG_MATTEING:
- td->td_extrasamples = (uint16) (va_arg(ap, uint16) != 0);
+ td->td_extrasamples = (((uint16) va_arg(ap, uint16_vap)) != 0);
if (td->td_extrasamples) {
uint16 sv = EXTRASAMPLE_ASSOCALPHA;
_TIFFsetShortArray(&td->td_sampleinfo, &sv, 1);
@@ -323,7 +323,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
td->td_tiledepth = v32;
break;
case TIFFTAG_DATATYPE:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
switch (v) {
case DATATYPE_VOID: v = SAMPLEFORMAT_VOID; break;
case DATATYPE_INT: v = SAMPLEFORMAT_INT; break;
@@ -334,7 +334,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
td->td_sampleformat = (uint16) v;
break;
case TIFFTAG_SAMPLEFORMAT:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
if (v < SAMPLEFORMAT_UINT || SAMPLEFORMAT_COMPLEXIEEEFP < v)
goto badvalue;
td->td_sampleformat = (uint16) v;
@@ -355,7 +355,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
break;
case TIFFTAG_SUBIFD:
if ((tif->tif_flags & TIFF_INSUBIFD) == 0) {
- td->td_nsubifd = (uint16) va_arg(ap, uint16);
+ td->td_nsubifd = (uint16) va_arg(ap, uint16_vap);
_TIFFsetLong8Array(&td->td_subifd, (uint64*) va_arg(ap, uint64*),
(long) td->td_nsubifd);
} else {
@@ -366,11 +366,11 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
}
break;
case TIFFTAG_YCBCRPOSITIONING:
- td->td_ycbcrpositioning = (uint16) va_arg(ap, uint16);
+ td->td_ycbcrpositioning = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_YCBCRSUBSAMPLING:
- td->td_ycbcrsubsampling[0] = (uint16) va_arg(ap, uint16);
- td->td_ycbcrsubsampling[1] = (uint16) va_arg(ap, uint16);
+ td->td_ycbcrsubsampling[0] = (uint16) va_arg(ap, uint16_vap);
+ td->td_ycbcrsubsampling[1] = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_TRANSFERFUNCTION:
v = (td->td_samplesperpixel - td->td_extrasamples) > 1 ? 3 : 1;
@@ -379,7 +379,7 @@ _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
va_arg(ap, uint16*), 1L<<td->td_bitspersample);
break;
case TIFFTAG_INKNAMES:
- v = (uint16) va_arg(ap, uint16);
+ v = (uint16) va_arg(ap, uint16_vap);
s = va_arg(ap, char*);
v = checkInkNamesString(tif, v, s);
status = v > 0;
diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
index b233e78e..88f64596 100644
--- a/libtiff/tif_dirread.c
+++ b/libtiff/tif_dirread.c
@@ -1,4 +1,4 @@
-/* $Id: tif_dirread.c,v 1.120 2007-06-26 12:31:26 joris Exp $ */
+/* $Id: tif_dirread.c,v 1.121 2007-06-27 12:28:15 joris Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -2321,7 +2321,8 @@ static enum TIFFReadDirEntryErr TIFFReadDirEntryFloatArray(TIFF* tif, TIFFDirEnt
{
if (tif->tif_flags&TIFF_SWAB)
TIFFSwabLong(ma);
- maa=*((int32*)ma)++;
+ maa=*(int32*)ma;
+ ma++;
if (tif->tif_flags&TIFF_SWAB)
TIFFSwabLong(ma);
mab=*ma++;
diff --git a/libtiff/tif_fax3.c b/libtiff/tif_fax3.c
index 9af93cb1..913c29e7 100644
--- a/libtiff/tif_fax3.c
+++ b/libtiff/tif_fax3.c
@@ -1,4 +1,4 @@
-/* $Id: tif_fax3.c,v 1.57 2007-06-26 20:05:40 bfriesen Exp $ */
+/* $Id: tif_fax3.c,v 1.58 2007-06-27 12:28:16 joris Exp $ */
/*
* Copyright (c) 1990-1997 Sam Leffler
@@ -1168,7 +1168,7 @@ Fax3VSetField(TIFF* tif, uint32 tag, va_list ap)
sp->badfaxlines = (uint32) va_arg(ap, uint32);
break;
case TIFFTAG_CLEANFAXDATA:
- sp->cleanfaxdata = (uint16) va_arg(ap, uint16);
+ sp->cleanfaxdata = (uint16) va_arg(ap, uint16_vap);
break;
case TIFFTAG_CONSECUTIVEBADFAXLINES:
sp->badfaxrun = (uint32) va_arg(ap, uint32);
diff --git a/libtiff/tif_ojpeg.c b/libtiff/tif_ojpeg.c
index 23fa9154..db1ea892 100644
--- a/libtiff/tif_ojpeg.c
+++ b/libtiff/tif_ojpeg.c
@@ -1,4 +1,4 @@
-/* $Id: tif_ojpeg.c,v 1.35 2007-06-26 12:31:26 joris Exp $ */
+/* $Id: tif_ojpeg.c,v 1.36 2007-06-27 12:28:16 joris Exp $ */
/* WARNING: The type of JPEG encapsulation defined by the TIFF Version 6.0
specification is now totally obsolete and deprecated for new applications and
@@ -511,8 +511,8 @@ OJPEGVSetField(TIFF* tif, uint32 tag, va_list ap)
break;
case TIFFTAG_YCBCRSUBSAMPLING:
sp->subsampling_tag=1;
- sp->subsampling_hor=(uint8)va_arg(ap,uint16);
- sp->subsampling_ver=(uint8)va_arg(ap,uint16);
+ sp->subsampling_hor=(uint8)va_arg(ap,uint16_vap);
+ sp->subsampling_ver=(uint8)va_arg(ap,uint16_vap);
tif->tif_dir.td_ycbcrsubsampling[0]=sp->subsampling_hor;
tif->tif_dir.td_ycbcrsubsampling[1]=sp->subsampling_ver;
break;
@@ -562,10 +562,10 @@ OJPEGVSetField(TIFF* tif, uint32 tag, va_list ap)
}
break;
case TIFFTAG_JPEGPROC:
- sp->jpeg_proc=(uint8)va_arg(ap,uint16);
+ sp->jpeg_proc=(uint8)va_arg(ap,uint16_vap);
break;
case TIFFTAG_JPEGRESTARTINTERVAL:
- sp->restart_interval=(uint16)va_arg(ap,uint16);
+ sp->restart_interval=(uint16)va_arg(ap,uint16_vap);
break;
default:
return (*sp->vsetparent)(tif,tag,ap);
diff --git a/libtiff/tif_predict.c b/libtiff/tif_predict.c
index b4174cff..82a7edfb 100644
--- a/libtiff/tif_predict.c
+++ b/libtiff/tif_predict.c
@@ -1,4 +1,4 @@
-/* $Id: tif_predict.c,v 1.22 2007-06-23 01:06:08 joris Exp $ */
+/* $Id: tif_predict.c,v 1.23 2007-06-27 12:28:16 joris Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -547,7 +547,7 @@ PredictorVSetField(TIFF* tif, uint32 tag, va_list ap)
switch (tag) {
case TIFFTAG_PREDICTOR:
- sp->predictor = (uint16) va_arg(ap, uint16);
+ sp->predictor = (uint16) va_arg(ap, uint16_vap);
TIFFSetFieldBit(tif, FIELD_PREDICTOR);
break;
default:
diff --git a/libtiff/tiff.h b/libtiff/tiff.h
index ed816aed..bbc90262 100644
--- a/libtiff/tiff.h
+++ b/libtiff/tiff.h
@@ -1,4 +1,4 @@
-/* $Id: tiff.h,v 1.60 2007-06-26 10:30:13 joris Exp $ */
+/* $Id: tiff.h,v 1.61 2007-06-27 12:28:16 joris Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -77,6 +77,16 @@ typedef TIFF_UINT32_T uint32;
typedef TIFF_INT64_T int64;
typedef TIFF_UINT64_T uint64;
+/*
+ * Some types as promoted in a variable argument list
+ * We use uint16_vap rather then directly using int, because this way
+ * we document the type we actually want to pass through, conceptually,
+ * rather then confusing the issue by merely stating the type it gets
+ * promoted to
+ */
+
+typedef int uint16_vap;
+
/* For TIFFReassignTagToIgnore */
enum TIFFIgnoreSense /* IGNORE tag table */
{