libtiff: Merge branch 'fix_type_related_warnings_in_error' into 'master'

From 8d5fbea923d0909416a840d3a70570cef80800f0 Mon Sep 17 00:00:00 2001
From: Even Rouault <[EMAIL REDACTED]>
Date: Tue, 13 Dec 2022 22:45:19 +0100
Subject: [PATCH 1/2] TIFFAdvanceDirectory()/TIFFUnlinkDirectory(): fix build
 warnings/errors on OSX due to uint16_t->tdir_t type change

---
 libtiff/tif_dir.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
index 901dff82..4a366545 100644
--- a/libtiff/tif_dir.c
+++ b/libtiff/tif_dir.c
@@ -1982,8 +1982,8 @@ static int TIFFAdvanceDirectory(TIFF *tif, uint64_t *nextdiroff, uint64_t *off,
         {
             TIFFWarningExtR(
                 tif, module,
-                "the next directory %" PRIu16 " at offset 0x%" PRIx64
-                " (%" PRIu64 ") might be an IFD loop. Treating directory %d as "
+                "the next directory %u at offset 0x%" PRIx64 " (%" PRIu64
+                ") might be an IFD loop. Treating directory %d as "
                 "last directory",
                 *nextdirnum, *nextdiroff, *nextdiroff, (int)(*nextdirnum) - 1);
             *nextdiroff = 0;
@@ -2160,8 +2160,7 @@ int TIFFUnlinkDirectory(TIFF *tif, tdir_t dirn)
     {
         if (nextdir == 0)
         {
-            TIFFErrorExtR(tif, module, "Directory %" PRIu16 " does not exist",
-                          dirn);
+            TIFFErrorExtR(tif, module, "Directory %u does not exist", dirn);
             return (0);
         }
         if (!TIFFAdvanceDirectory(tif, &nextdir, &off, &nextdirnum))

From a9de164cfa3a20b0323a569530e30d2893eed976 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Tue, 13 Dec 2022 22:56:54 +0100
Subject: [PATCH 2/2] tiffinfo/tiffgt: more corect casts related to tdir_t
 changes

---
 tools/tiffgt.c   | 4 ++--
 tools/tiffinfo.c | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/tiffgt.c b/tools/tiffgt.c
index 96c692b2..bd7f45af 100644
--- a/tools/tiffgt.c
+++ b/tools/tiffgt.c
@@ -196,7 +196,7 @@ int main(int argc, char *argv[])
      */
     glutInitWindowSize(width, height);
     snprintf(title, TITLE_LENGTH - 1, "%s [%u]", filelist[fileindex],
-             (unsigned int)TIFFCurrentDirectory(tif));
+             TIFFCurrentDirectory(tif));
     glutCreateWindow(title);
     glutDisplayFunc(raster_draw);
     glutReshapeFunc(raster_reshape);
@@ -322,7 +322,7 @@ static void raster_reshape(int win_w, int win_h)
     glPixelZoom(xratio, yratio);
     glViewport(0, 0, win_w, win_h);
     snprintf(title, 1024, "%s [%u] %d%%", filelist[fileindex],
-             (unsigned int)TIFFCurrentDirectory(tif), ratio);
+             TIFFCurrentDirectory(tif), ratio);
     glutSetWindowTitle(title);
 }
 
diff --git a/tools/tiffinfo.c b/tools/tiffinfo.c
index 43436036..6e24d0f0 100644
--- a/tools/tiffinfo.c
+++ b/tools/tiffinfo.c
@@ -185,11 +185,11 @@ int main(int argc, char *argv[])
                 {
                     toff_t offset = 0;
                     tdir_t curdir = TIFFCurrentDirectory(tif);
-                    printf("=== TIFF directory %d ===\n", curdir);
+                    printf("=== TIFF directory %u ===\n", curdir);
                     tiffinfo(tif, order, flags, 1);
                     if (TIFFGetField(tif, TIFFTAG_EXIFIFD, &offset))
                     {
-                        printf("--- EXIF directory within directory %d \n",
+                        printf("--- EXIF directory within directory %u \n",
                                curdir);
                         if (TIFFReadEXIFDirectory(tif, offset))
                         {
@@ -201,7 +201,7 @@ int main(int argc, char *argv[])
                     }
                     if (TIFFGetField(tif, TIFFTAG_GPSIFD, &offset))
                     {
-                        printf("--- GPS directory within directory %d \n",
+                        printf("--- GPS directory within directory %u \n",
                                curdir);
                         if (TIFFReadGPSDirectory(tif, offset))
                         {
@@ -223,7 +223,7 @@ int main(int argc, char *argv[])
                                 memcpy(subIFDoffsets, vPtr,
                                        nCount * sizeof(subIFDoffsets[0]));
                                 printf("--- SubIFD image descriptor tag within "
-                                       "TIFF directory %d with array of %d "
+                                       "TIFF directory %u with array of %d "
                                        "SubIFD chains ---\n",
                                        curdir, nCount);
                                 for (int i = 0; i < nCount; i++)