LCOV - GNU Libidn - lib/strerror-pr29.c

LCOV - code coverage report
Current view: top level - lib - strerror-pr29.c (source / functions) Hit Total Coverage
Test: GNU Libidn Lines: 16 16 100.0 %
Date: 2020年07月22日 17:53:13 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

 Line data Source code
 1  : /* strerror-pr29.c --- Convert PR29 errors into text.
 2  : Copyright (C) 2004-2020 Simon Josefsson
 3  : 
 4  : This file is part of GNU Libidn.
 5  : 
 6  : GNU Libidn is free software: you can redistribute it and/or
 7  : modify it under the terms of either:
 8  : 
 9  : * the GNU Lesser General Public License as published by the Free
 10  : Software Foundation; either version 3 of the License, or (at
 11  : your option) any later version.
 12  : 
 13  : or
 14  : 
 15  : * the GNU General Public License as published by the Free
 16  : Software Foundation; either version 2 of the License, or (at
 17  : your option) any later version.
 18  : 
 19  : or both in parallel, as here.
 20  : 
 21  : GNU Libidn is distributed in the hope that it will be useful,
 22  : but WITHOUT ANY WARRANTY; without even the implied warranty of
 23  : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 24  : General Public License for more details.
 25  : 
 26  : You should have received copies of the GNU General Public License and
 27  : the GNU Lesser General Public License along with this program. If
 28  : not, see <http://www.gnu.org/licenses/>. */
 29  : 
 30  : #ifdef HAVE_CONFIG_H
 31  : # include "config.h"
 32  : #endif
 33  : 
 34  : #include "pr29.h"
 35  : 
 36  : #include "gettext.h"
 37  : #define _(String) dgettext (PACKAGE, String)
 38  : 
 39  : /**
 40  : * pr29_strerror:
 41  : * @rc: an #Pr29_rc return code.
 42  : *
 43  : * Convert a return code integer to a text string. This string can be
 44  : * used to output a diagnostic message to the user.
 45  : *
 46  : * PR29_SUCCESS: Successful operation. This value is guaranteed to
 47  : * always be zero, the remaining ones are only guaranteed to hold
 48  : * non-zero values, for logical comparison purposes.
 49  : * PR29_PROBLEM: A problem sequence was encountered.
 50  : * PR29_STRINGPREP_ERROR: The character set conversion failed (only
 51  : * for pr29_8z()).
 52  : *
 53  : * Return value: Returns a pointer to a statically allocated string
 54  : * containing a description of the error with the return code @rc.
 55  : **/
 56  : const char *
 57  7 : pr29_strerror (Pr29_rc rc)
 58  : {
 59  : const char *p;
 60  : 
 61  7 : bindtextdomain (PACKAGE, LOCALEDIR);
 62  : 
 63  7 : switch (rc)
 64  : {
 65  2 : case PR29_SUCCESS:
 66  2 : p = _("Success");
 67  2 : break;
 68  : 
 69  1 : case PR29_PROBLEM:
 70  1 : p = _("String not idempotent under Unicode NFKC normalization");
 71  1 : break;
 72  : 
 73  1 : case PR29_STRINGPREP_ERROR:
 74  1 : p = _("String preparation failed");
 75  1 : break;
 76  : 
 77  3 : default:
 78  3 : p = _("Unknown error");
 79  3 : break;
 80  : }
 81  : 
 82  7 : return p;
 83  : }

Generated by: LCOV version 1.13

AltStyle によって変換されたページ (->オリジナル) /