Home | History | Annotate | Download | only in libtiff
      1 /* $Header: /cvs/maptools/cvsroot/libtiff/libtiff/tif_error.c,v 1.5 2010-03-10 18:56:48 bfriesen 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 TIFFSetErrorHandler(TIFFErrorHandler handler)
     36 {
     37 	TIFFErrorHandler prev = _TIFFerrorHandler;
     38 	_TIFFerrorHandler = handler;
     39 	return (prev);
     40 }
     41 
     42 TIFFErrorHandlerExt
     43 TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler)
     44 {
     45 	TIFFErrorHandlerExt prev = _TIFFerrorHandlerExt;
     46 	_TIFFerrorHandlerExt = handler;
     47 	return (prev);
     48 }
     49 
     50 void
     51 TIFFError(const char* module, const char* fmt, ...)
     52 {
     53 	va_list ap;
     54 	va_start(ap, fmt);
     55 	if (_TIFFerrorHandler)
     56 		(*_TIFFerrorHandler)(module, fmt, ap);
     57 	if (_TIFFerrorHandlerExt)
     58 		(*_TIFFerrorHandlerExt)(0, module, fmt, ap);
     59 	va_end(ap);
     60 }
     61 
     62 void
     63 TIFFErrorExt(thandle_t fd, const char* module, const char* fmt, ...)
     64 {
     65 	va_list ap;
     66 	va_start(ap, fmt);
     67 	if (_TIFFerrorHandler)
     68 		(*_TIFFerrorHandler)(module, fmt, ap);
     69 	if (_TIFFerrorHandlerExt)
     70 		(*_TIFFerrorHandlerExt)(fd, module, fmt, ap);
     71 	va_end(ap);
     72 }
     73 
     74 /*
     75  * Local Variables:
     76  * mode: c
     77  * c-basic-offset: 8
     78  * fill-column: 78
     79  * End:
     80  */
     81