opencv
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
30TIFFErrorHandlerExt _TIFFwarningHandlerExt = NULL;31
32TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler)33{
34TIFFErrorHandler prev = _TIFFwarningHandler;35_TIFFwarningHandler = handler;36return (prev);37}
38
39TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt handler)40{
41TIFFErrorHandlerExt prev = _TIFFwarningHandlerExt;42_TIFFwarningHandlerExt = handler;43return (prev);44}
45
46void TIFFWarning(const char *module, const char *fmt, ...)47{
48va_list ap;49if (_TIFFwarningHandler)50{51va_start(ap, fmt);52(*_TIFFwarningHandler)(module, fmt, ap);53va_end(ap);54}55if (_TIFFwarningHandlerExt)56{57va_start(ap, fmt);58(*_TIFFwarningHandlerExt)(0, module, fmt, ap);59va_end(ap);60}61}
62
63void TIFFWarningExt(thandle_t fd, const char *module, const char *fmt, ...)64{
65va_list ap;66if (_TIFFwarningHandler)67{68va_start(ap, fmt);69(*_TIFFwarningHandler)(module, fmt, ap);70va_end(ap);71}72if (_TIFFwarningHandlerExt)73{74va_start(ap, fmt);75(*_TIFFwarningHandlerExt)(fd, module, fmt, ap);76va_end(ap);77}78}
79
80void TIFFWarningExtR(TIFF *tif, const char *module, const char *fmt, ...)81{
82va_list ap;83if (tif && tif->tif_warnhandler)84{85va_start(ap, fmt);86int stop = (*tif->tif_warnhandler)(tif, tif->tif_warnhandler_user_data,87module, fmt, ap);88va_end(ap);89if (stop)90return;91}92if (_TIFFwarningHandler)93{94va_start(ap, fmt);95(*_TIFFwarningHandler)(module, fmt, ap);96va_end(ap);97}98if (_TIFFwarningHandlerExt)99{100va_start(ap, fmt);101(*_TIFFwarningHandlerExt)(tif ? tif->tif_clientdata : 0, module, fmt,102ap);103va_end(ap);104}105}
106