opencv

Форк
0
/
tif_warning.c 
105 строк · 3.1 Кб
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 "tiffiop.h"
29

30
TIFFErrorHandlerExt _TIFFwarningHandlerExt = NULL;
31

32
TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler)
33
{
34
    TIFFErrorHandler prev = _TIFFwarningHandler;
35
    _TIFFwarningHandler = handler;
36
    return (prev);
37
}
38

39
TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt handler)
40
{
41
    TIFFErrorHandlerExt prev = _TIFFwarningHandlerExt;
42
    _TIFFwarningHandlerExt = handler;
43
    return (prev);
44
}
45

46
void TIFFWarning(const char *module, const char *fmt, ...)
47
{
48
    va_list ap;
49
    if (_TIFFwarningHandler)
50
    {
51
        va_start(ap, fmt);
52
        (*_TIFFwarningHandler)(module, fmt, ap);
53
        va_end(ap);
54
    }
55
    if (_TIFFwarningHandlerExt)
56
    {
57
        va_start(ap, fmt);
58
        (*_TIFFwarningHandlerExt)(0, module, fmt, ap);
59
        va_end(ap);
60
    }
61
}
62

63
void TIFFWarningExt(thandle_t fd, const char *module, const char *fmt, ...)
64
{
65
    va_list ap;
66
    if (_TIFFwarningHandler)
67
    {
68
        va_start(ap, fmt);
69
        (*_TIFFwarningHandler)(module, fmt, ap);
70
        va_end(ap);
71
    }
72
    if (_TIFFwarningHandlerExt)
73
    {
74
        va_start(ap, fmt);
75
        (*_TIFFwarningHandlerExt)(fd, module, fmt, ap);
76
        va_end(ap);
77
    }
78
}
79

80
void TIFFWarningExtR(TIFF *tif, const char *module, const char *fmt, ...)
81
{
82
    va_list ap;
83
    if (tif && tif->tif_warnhandler)
84
    {
85
        va_start(ap, fmt);
86
        int stop = (*tif->tif_warnhandler)(tif, tif->tif_warnhandler_user_data,
87
                                           module, fmt, ap);
88
        va_end(ap);
89
        if (stop)
90
            return;
91
    }
92
    if (_TIFFwarningHandler)
93
    {
94
        va_start(ap, fmt);
95
        (*_TIFFwarningHandler)(module, fmt, ap);
96
        va_end(ap);
97
    }
98
    if (_TIFFwarningHandlerExt)
99
    {
100
        va_start(ap, fmt);
101
        (*_TIFFwarningHandlerExt)(tif ? tif->tif_clientdata : 0, module, fmt,
102
                                  ap);
103
        va_end(ap);
104
    }
105
}
106

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.