2
0

tif_error.c 2.3 KB

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