winex11: Don't use the vulkan driver interface for xrandr.
[wine.git] / libs / tiff / libtiff / tif_error.c
blobac0b9c373a36c6309fef1285ca7e60d5af90bc9d
1 /*
2 * Copyright (c) 1988-1997 Sam Leffler
3 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
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.
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.
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.
26 * TIFF Library.
28 #include "tiffiop.h"
30 TIFFErrorHandlerExt _TIFFerrorHandlerExt = NULL;
32 TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler)
34 TIFFErrorHandler prev = _TIFFerrorHandler;
35 _TIFFerrorHandler = handler;
36 return (prev);
39 TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler)
41 TIFFErrorHandlerExt prev = _TIFFerrorHandlerExt;
42 _TIFFerrorHandlerExt = handler;
43 return (prev);
46 void TIFFError(const char *module, const char *fmt, ...)
48 va_list ap;
49 if (_TIFFerrorHandler)
51 va_start(ap, fmt);
52 (*_TIFFerrorHandler)(module, fmt, ap);
53 va_end(ap);
55 if (_TIFFerrorHandlerExt)
57 va_start(ap, fmt);
58 (*_TIFFerrorHandlerExt)(0, module, fmt, ap);
59 va_end(ap);
63 void TIFFErrorExt(thandle_t fd, const char *module, const char *fmt, ...)
65 va_list ap;
66 if (_TIFFerrorHandler)
68 va_start(ap, fmt);
69 (*_TIFFerrorHandler)(module, fmt, ap);
70 va_end(ap);
72 if (_TIFFerrorHandlerExt)
74 va_start(ap, fmt);
75 (*_TIFFerrorHandlerExt)(fd, module, fmt, ap);
76 va_end(ap);
80 void _TIFFErrorEarly(TIFFOpenOptions *opts, thandle_t clientdata,
81 const char *module, const char *fmt, ...)
83 va_list ap;
84 if (opts && opts->errorhandler)
86 va_start(ap, fmt);
87 int stop = opts->errorhandler(NULL, opts->errorhandler_user_data,
88 module, fmt, ap);
89 va_end(ap);
90 if (stop)
91 return;
93 if (_TIFFerrorHandler)
95 va_start(ap, fmt);
96 (*_TIFFerrorHandler)(module, fmt, ap);
97 va_end(ap);
99 if (_TIFFerrorHandlerExt)
101 va_start(ap, fmt);
102 (*_TIFFerrorHandlerExt)(clientdata, module, fmt, ap);
103 va_end(ap);
107 void TIFFErrorExtR(TIFF *tif, const char *module, const char *fmt, ...)
109 va_list ap;
110 if (tif && tif->tif_errorhandler)
112 va_start(ap, fmt);
113 int stop = (*tif->tif_errorhandler)(
114 tif, tif->tif_errorhandler_user_data, module, fmt, ap);
115 va_end(ap);
116 if (stop)
117 return;
119 if (_TIFFerrorHandler)
121 va_start(ap, fmt);
122 (*_TIFFerrorHandler)(module, fmt, ap);
123 va_end(ap);
125 if (_TIFFerrorHandlerExt)
127 va_start(ap, fmt);
128 (*_TIFFerrorHandlerExt)(tif ? tif->tif_clientdata : NULL, module, fmt,
129 ap);
130 va_end(ap);