From 4b64bf1cee3d3d5cc612e75dcf3b9973a1effe8b Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Sun, 5 Apr 2020 19:33:02 +0200 Subject: tiffset: pass size for TIFFTAG_INKNAMES Uses TIFFFieldPassCount() to know which arguments need to be passed to TiffSetField() fixes #18 see http://bugzilla.maptools.org/show_bug.cgi?id=2202 --- tools/tiffset.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/tiffset.c b/tools/tiffset.c index f32af23f..3725aa61 100644 --- a/tools/tiffset.c +++ b/tools/tiffset.c @@ -321,6 +321,7 @@ main(int argc, char* argv[]) const TIFFField *fip; char *text; size_t len; + int ret; arg_index++; fip = GetField(tiff, argv[arg_index]); @@ -354,7 +355,12 @@ main(int argc, char* argv[]) fclose( fp ); - if(TIFFSetField( tiff, TIFFFieldTag(fip), text ) != 1) { + if(TIFFFieldPassCount( fip )) { + ret = TIFFSetField( tiff, TIFFFieldTag(fip), (uint16)len, text ); + } else { + ret = TIFFSetField( tiff, TIFFFieldTag(fip), text ); + } + if(!ret) { fprintf(stderr, "Failed to set %s from file %s\n", TIFFFieldName(fip), argv[arg_index]); } -- cgit v1.2.1