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 <precomp.h> 29 30 TIFFErrorHandlerExt _TIFFerrorHandlerExt = NULL; 31 32 TIFFErrorHandler 33 TIFFSetErrorHandler(TIFFErrorHandler handler) 34 { 35 TIFFErrorHandler prev = _TIFFerrorHandler; 36 _TIFFerrorHandler = handler; 37 return (prev); 38 } 39 40 TIFFErrorHandlerExt 41 TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler) 42 { 43 TIFFErrorHandlerExt prev = _TIFFerrorHandlerExt; 44 _TIFFerrorHandlerExt = handler; 45 return (prev); 46 } 47 48 void 49 TIFFError(const char* module, const char* fmt, ...) 50 { 51 va_list ap; 52 if (_TIFFerrorHandler) { 53 va_start(ap, fmt); 54 (*_TIFFerrorHandler)(module, fmt, ap); 55 va_end(ap); 56 } 57 if (_TIFFerrorHandlerExt) { 58 va_start(ap, fmt); 59 (*_TIFFerrorHandlerExt)(0, module, fmt, ap); 60 va_end(ap); 61 } 62 } 63 64 void 65 TIFFErrorExt(thandle_t fd, const char* module, const char* fmt, ...) 66 { 67 va_list ap; 68 if (_TIFFerrorHandler) { 69 va_start(ap, fmt); 70 (*_TIFFerrorHandler)(module, fmt, ap); 71 va_end(ap); 72 } 73 if (_TIFFerrorHandlerExt) { 74 va_start(ap, fmt); 75 (*_TIFFerrorHandlerExt)(fd, module, fmt, ap); 76 va_end(ap); 77 } 78 } 79 80 /* 81 * Local Variables: 82 * mode: c 83 * c-basic-offset: 8 84 * fill-column: 78 85 * End: 86 */ 87