Annotation of embedaddon/libiconv/srclib/error.h, revision 1.1.1.3

1.1       misho       1: /* Declaration for error-reporting function
1.1.1.3 ! misho       2:    Copyright (C) 1995-1997, 2003, 2006, 2008-2019 Free Software Foundation,
1.1.1.2   misho       3:    Inc.
1.1       misho       4:    This file is part of the GNU C Library.
                      5: 
                      6:    This program is free software: you can redistribute it and/or modify
                      7:    it under the terms of the GNU General Public License as published by
                      8:    the Free Software Foundation; either version 3 of the License, or
                      9:    (at your option) any later version.
                     10: 
                     11:    This program is distributed in the hope that it will be useful,
                     12:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14:    GNU General Public License for more details.
                     15: 
                     16:    You should have received a copy of the GNU General Public License
1.1.1.3 ! misho      17:    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
1.1       misho      18: 
                     19: #ifndef _ERROR_H
                     20: #define _ERROR_H 1
                     21: 
1.1.1.2   misho      22: /* The __attribute__ feature is available in gcc versions 2.5 and later.
                     23:    The __-protected variants of the attributes 'format' and 'printf' are
                     24:    accepted by gcc versions 2.6.4 (effectively 2.7) and later.
                     25:    We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
                     26:    gnulib and libintl do '#define printf __printf__' when they override
                     27:    the 'printf' function.  */
                     28: #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
                     29: # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
                     30: #else
                     31: # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
1.1       misho      32: #endif
                     33: 
1.1.1.3 ! misho      34: /* On mingw, the flavor of printf depends on whether the extensions module
        !            35:  * is in use; the check for <stdio.h> determines the witness macro.  */
        !            36: #ifndef _GL_ATTRIBUTE_SPEC_PRINTF
        !            37: # if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
        !            38: #  define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__
        !            39: # else
        !            40: #  define _GL_ATTRIBUTE_SPEC_PRINTF __printf__
        !            41: # endif
        !            42: #endif
        !            43: 
1.1.1.2   misho      44: #ifdef __cplusplus
1.1       misho      45: extern "C" {
                     46: #endif
                     47: 
1.1.1.3 ! misho      48: /* Print a message with 'fprintf (stderr, FORMAT, ...)';
1.1       misho      49:    if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
1.1.1.3 ! misho      50:    If STATUS is nonzero, terminate the program with 'exit (STATUS)'.  */
1.1       misho      51: 
                     52: extern void error (int __status, int __errnum, const char *__format, ...)
1.1.1.3 ! misho      53:      _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4));
1.1       misho      54: 
                     55: extern void error_at_line (int __status, int __errnum, const char *__fname,
1.1.1.2   misho      56:                            unsigned int __lineno, const char *__format, ...)
1.1.1.3 ! misho      57:      _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6));
1.1       misho      58: 
                     59: /* If NULL, error will flush stdout, then print on stderr the program
                     60:    name, a colon and a space.  Otherwise, error will call this
                     61:    function without parameters instead.  */
                     62: extern DLL_VARIABLE void (*error_print_progname) (void);
                     63: 
1.1.1.3 ! misho      64: /* This variable is incremented each time 'error' is called.  */
1.1       misho      65: extern DLL_VARIABLE unsigned int error_message_count;
                     66: 
                     67: /* Sometimes we want to have at most one error per line.  This
                     68:    variable controls whether this mode is selected or not.  */
                     69: extern DLL_VARIABLE int error_one_per_line;
                     70: 
1.1.1.2   misho      71: #ifdef __cplusplus
1.1       misho      72: }
                     73: #endif
                     74: 
                     75: #endif /* error.h */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>