diff options
Diffstat (limited to 'libtiff')
-rw-r--r-- | libtiff/tif_dir.c | 50 | ||||
-rw-r--r-- | libtiff/tif_dirread.c | 5 | ||||
-rw-r--r-- | libtiff/tif_fax3.c | 4 | ||||
-rw-r--r-- | libtiff/tif_ojpeg.c | 10 | ||||
-rw-r--r-- | libtiff/tif_predict.c | 4 | ||||
-rw-r--r-- | libtiff/tiff.h | 12 |
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 */ { |