LCOV - code coverage report
Current view: top level - frmts/gtiff/libtiff - tif_extension.c (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 0 32 0.0 %
Date: 2024-05-03 15:49:35 Functions: 0 5 0.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             :  * Various routines support external extension of the tag set, and other
      29             :  * application extension capabilities.
      30             :  */
      31             : 
      32             : #include "tiffiop.h"
      33             : 
      34           0 : int TIFFGetTagListCount(TIFF *tif)
      35             : 
      36             : {
      37           0 :     TIFFDirectory *td = &tif->tif_dir;
      38             : 
      39           0 :     return td->td_customValueCount;
      40             : }
      41             : 
      42           0 : uint32_t TIFFGetTagListEntry(TIFF *tif, int tag_index)
      43             : 
      44             : {
      45           0 :     TIFFDirectory *td = &tif->tif_dir;
      46             : 
      47           0 :     if (tag_index < 0 || tag_index >= td->td_customValueCount)
      48           0 :         return (uint32_t)(-1);
      49             :     else
      50           0 :         return td->td_customValues[tag_index].info->field_tag;
      51             : }
      52             : 
      53             : /*
      54             : ** This provides read/write access to the TIFFTagMethods within the TIFF
      55             : ** structure to application code without giving access to the private
      56             : ** TIFF structure.
      57             : */
      58           0 : TIFFTagMethods *TIFFAccessTagMethods(TIFF *tif)
      59             : 
      60             : {
      61           0 :     return &(tif->tif_tagmethods);
      62             : }
      63             : 
      64           0 : void *TIFFGetClientInfo(TIFF *tif, const char *name)
      65             : 
      66             : {
      67           0 :     TIFFClientInfoLink *psLink = tif->tif_clientinfo;
      68             : 
      69           0 :     while (psLink != NULL && strcmp(psLink->name, name) != 0)
      70           0 :         psLink = psLink->next;
      71             : 
      72           0 :     if (psLink != NULL)
      73           0 :         return psLink->data;
      74             :     else
      75           0 :         return NULL;
      76             : }
      77             : 
      78           0 : void TIFFSetClientInfo(TIFF *tif, void *data, const char *name)
      79             : 
      80             : {
      81           0 :     TIFFClientInfoLink *psLink = tif->tif_clientinfo;
      82             : 
      83             :     /*
      84             :     ** Do we have an existing link with this name?  If so, just
      85             :     ** set it.
      86             :     */
      87           0 :     while (psLink != NULL && strcmp(psLink->name, name) != 0)
      88           0 :         psLink = psLink->next;
      89             : 
      90           0 :     if (psLink != NULL)
      91             :     {
      92           0 :         psLink->data = data;
      93           0 :         return;
      94             :     }
      95             : 
      96             :     /*
      97             :     ** Create a new link.
      98             :     */
      99             : 
     100             :     psLink =
     101           0 :         (TIFFClientInfoLink *)_TIFFmallocExt(tif, sizeof(TIFFClientInfoLink));
     102           0 :     assert(psLink != NULL);
     103           0 :     psLink->next = tif->tif_clientinfo;
     104           0 :     psLink->name = (char *)_TIFFmallocExt(tif, (tmsize_t)(strlen(name) + 1));
     105           0 :     assert(psLink->name != NULL);
     106           0 :     strcpy(psLink->name, name);
     107           0 :     psLink->data = data;
     108             : 
     109           0 :     tif->tif_clientinfo = psLink;
     110             : }

Generated by: LCOV version 1.14