summaryrefslogtreecommitdiff
path: root/libtiff/tif_dirwrite.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtiff/tif_dirwrite.c')
-rw-r--r--libtiff/tif_dirwrite.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
index 3131d406..7363d869 100644
--- a/libtiff/tif_dirwrite.c
+++ b/libtiff/tif_dirwrite.c
@@ -1,4 +1,4 @@
-/* $Header: /usr/local/cvs/internal/libtiff/libtiff/tif_dirwrite.c,v 1.1.1.1 1999/07/27 21:50:27 mike Exp $ */
+/* $Header: /cvsroot/osrs/libtiff/libtiff/tif_dirwrite.c,v 1.3 1999/09/08 19:07:02 warmerda Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -474,6 +474,28 @@ TIFFWriteNormalTag(TIFF* tif, TIFFDirEntry* dir, const TIFFFieldInfo* fip)
return (0);
}
break;
+
+ /* added based on patch request from MARTIN.MCBRIDE.MM@agfa.co.uk,
+ correctness not verified (FW, 99/08) */
+ case TIFF_BYTE:
+ case TIFF_SBYTE:
+ if (wc > 1) {
+ char* cp;
+ if (wc == (u_short) TIFF_VARIABLE) {
+ TIFFGetField(tif, fip->field_tag, &wc, &cp);
+ dir->tdir_count = wc;
+ } else
+ TIFFGetField(tif, fip->field_tag, &cp);
+ if (!TIFFWriteByteArray(tif, dir, cp))
+ return (0);
+ } else {
+ char cv;
+ TIFFGetField(tif, fip->field_tag, &cv);
+ if (!TIFFWriteByteArray(tif, dir, &cv))
+ return (0);
+ }
+ break;
+
case TIFF_UNDEFINED:
{ char* cp;
if (wc == (u_short) TIFF_VARIABLE) {
@@ -488,6 +510,9 @@ TIFFWriteNormalTag(TIFF* tif, TIFFDirEntry* dir, const TIFFFieldInfo* fip)
return (0);
}
break;
+
+ case TIFF_NOTYPE:
+ break;
}
return (1);
}