LCOV - code coverage report
Current view: top level - frmts/gtiff/libtiff - tif_warning.c (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 7 43 16.3 %
Date: 2024-05-04 12:52:34 Functions: 1 5 20.0 %

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 1988-1997 Sam Leffler
       3             :  * Copyright (c) 1991-1997 Silicon Graphics, Inc.
       4             :  *
       5             :  * Permission to use, copy, modify, distribute, and sell this software and
       6             :  * its documentation for any purpose is hereby granted without fee, provided
       7             :  * that (i) the above copyright notices and this permission notice appear in
       8             :  * all copies of the software and related documentation, and (ii) the names of
       9             :  * Sam Leffler and Silicon Graphics may not be used in any advertising or
      10             :  * publicity relating to the software without the specific, prior written
      11             :  * permission of Sam Leffler and Silicon Graphics.
      12             :  *
      13             :  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
      14             :  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
      15             :  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
      16             :  *
      17             :  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
      18             :  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
      19             :  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
      20             :  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
      21             :  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
      22             :  * OF THIS SOFTWARE.
      23             :  */
      24             : 
      25             : /*
      26             :  * TIFF Library.
      27             :  */
      28             : #include "tiffiop.h"
      29             : 
      30             : TIFFErrorHandlerExt _TIFFwarningHandlerExt = NULL;
      31             : 
      32           0 : TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler)
      33             : {
      34           0 :     TIFFErrorHandler prev = _TIFFwarningHandler;
      35           0 :     _TIFFwarningHandler = handler;
      36           0 :     return (prev);
      37             : }
      38             : 
      39           0 : TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt handler)
      40             : {
      41           0 :     TIFFErrorHandlerExt prev = _TIFFwarningHandlerExt;
      42           0 :     _TIFFwarningHandlerExt = handler;
      43           0 :     return (prev);
      44             : }
      45             : 
      46           0 : void TIFFWarning(const char *module, const char *fmt, ...)
      47             : {
      48             :     va_list ap;
      49           0 :     if (_TIFFwarningHandler)
      50             :     {
      51           0 :         va_start(ap, fmt);
      52           0 :         (*_TIFFwarningHandler)(module, fmt, ap);
      53           0 :         va_end(ap);
      54             :     }
      55           0 :     if (_TIFFwarningHandlerExt)
      56             :     {
      57           0 :         va_start(ap, fmt);
      58           0 :         (*_TIFFwarningHandlerExt)(0, module, fmt, ap);
      59           0 :         va_end(ap);
      60             :     }
      61           0 : }
      62             : 
      63           0 : void TIFFWarningExt(thandle_t fd, const char *module, const char *fmt, ...)
      64             : {
      65             :     va_list ap;
      66           0 :     if (_TIFFwarningHandler)
      67             :     {
      68           0 :         va_start(ap, fmt);
      69           0 :         (*_TIFFwarningHandler)(module, fmt, ap);
      70           0 :         va_end(ap);
      71             :     }
      72           0 :     if (_TIFFwarningHandlerExt)
      73             :     {
      74           0 :         va_start(ap, fmt);
      75           0 :         (*_TIFFwarningHandlerExt)(fd, module, fmt, ap);
      76           0 :         va_end(ap);
      77             :     }
      78           0 : }
      79             : 
      80         329 : void TIFFWarningExtR(TIFF *tif, const char *module, const char *fmt, ...)
      81             : {
      82             :     va_list ap;
      83         329 :     if (tif && tif->tif_warnhandler)
      84             :     {
      85         329 :         va_start(ap, fmt);
      86         329 :         int stop = (*tif->tif_warnhandler)(tif, tif->tif_warnhandler_user_data,
      87             :                                            module, fmt, ap);
      88         329 :         va_end(ap);
      89         329 :         if (stop)
      90         329 :             return;
      91             :     }
      92           0 :     if (_TIFFwarningHandler)
      93             :     {
      94           0 :         va_start(ap, fmt);
      95           0 :         (*_TIFFwarningHandler)(module, fmt, ap);
      96           0 :         va_end(ap);
      97             :     }
      98           0 :     if (_TIFFwarningHandlerExt)
      99             :     {
     100           0 :         va_start(ap, fmt);
     101           0 :         (*_TIFFwarningHandlerExt)(tif ? tif->tif_clientdata : 0, module, fmt,
     102             :                                   ap);
     103           0 :         va_end(ap);
     104             :     }
     105             : }

Generated by: LCOV version 1.14