1 : /* $Header: /cvs/maptools/cvsroot/libtiff/libtiff/tif_error.c,v 1.4 2005/12/23 01:18:59 joris Exp $ */
2 :
3 : /*
4 : * Copyright (c) 1988-1997 Sam Leffler
5 : * Copyright (c) 1991-1997 Silicon Graphics, Inc.
6 : *
7 : * Permission to use, copy, modify, distribute, and sell this software and
8 : * its documentation for any purpose is hereby granted without fee, provided
9 : * that (i) the above copyright notices and this permission notice appear in
10 : * all copies of the software and related documentation, and (ii) the names of
11 : * Sam Leffler and Silicon Graphics may not be used in any advertising or
12 : * publicity relating to the software without the specific, prior written
13 : * permission of Sam Leffler and Silicon Graphics.
14 : *
15 : * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
16 : * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
17 : * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
18 : *
19 : * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
20 : * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
21 : * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
22 : * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 : * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24 : * OF THIS SOFTWARE.
25 : */
26 :
27 : /*
28 : * TIFF Library.
29 : */
30 : #include "tiffiop.h"
31 :
32 : TIFFErrorHandlerExt _TIFFerrorHandlerExt = NULL;
33 :
34 : TIFFErrorHandler
35 310 : TIFFSetErrorHandler(TIFFErrorHandler handler)
36 : {
37 310 : TIFFErrorHandler prev = _TIFFerrorHandler;
38 310 : _TIFFerrorHandler = handler;
39 310 : return (prev);
40 : }
41 :
42 : TIFFErrorHandlerExt
43 0 : TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler)
44 : {
45 0 : TIFFErrorHandlerExt prev = _TIFFerrorHandlerExt;
46 0 : _TIFFerrorHandlerExt = handler;
47 0 : return (prev);
48 : }
49 :
50 : void
51 0 : TIFFError(const char* module, const char* fmt, ...)
52 : {
53 : va_list ap;
54 0 : va_start(ap, fmt);
55 0 : if (_TIFFerrorHandler)
56 0 : (*_TIFFerrorHandler)(module, fmt, ap);
57 0 : if (_TIFFerrorHandlerExt)
58 0 : (*_TIFFerrorHandlerExt)(0, module, fmt, ap);
59 0 : va_end(ap);
60 0 : }
61 :
62 : void
63 0 : TIFFErrorExt(thandle_t fd, const char* module, const char* fmt, ...)
64 : {
65 : va_list ap;
66 0 : va_start(ap, fmt);
67 0 : if (_TIFFerrorHandler)
68 0 : (*_TIFFerrorHandler)(module, fmt, ap);
69 0 : if (_TIFFerrorHandlerExt)
70 0 : (*_TIFFerrorHandlerExt)(fd, module, fmt, ap);
71 0 : va_end(ap);
72 0 : }
73 :
|