Coverage Report

Created: 2026-06-05 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/dcmtk/oficonv/libsrc/citrus_stdenc.h
Line
Count
Source
1
/*-
2
 * Copyright (c)2003 Citrus Project,
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
7
 * are met:
8
 * 1. Redistributions of source code must retain the above copyright
9
 *    notice, this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright
11
 *    notice, this list of conditions and the following disclaimer in the
12
 *    documentation and/or other materials provided with the distribution.
13
 *
14
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
 * SUCH DAMAGE.
25
 *
26
 */
27
28
#ifndef _CITRUS_STDENC_H_
29
#define _CITRUS_STDENC_H_
30
31
#include "dcmtk/config/osconfig.h"
32
33
struct _citrus_stdenc;
34
struct _citrus_stdenc_ops;
35
struct _citrus_stdenc_traits;
36
37
0
#define _CITRUS_STDENC_SDID_GENERIC     0
38
struct _citrus_stdenc_state_desc
39
{
40
    union {
41
        struct {
42
            int state;
43
#define _CITRUS_STDENC_SDGEN_UNKNOWN        0
44
0
#define _CITRUS_STDENC_SDGEN_INITIAL        1
45
0
#define _CITRUS_STDENC_SDGEN_STABLE     2
46
0
#define _CITRUS_STDENC_SDGEN_INCOMPLETE_CHAR    3
47
0
#define _CITRUS_STDENC_SDGEN_INCOMPLETE_SHIFT   4
48
        } generic;
49
    } u;
50
};
51
52
#include "citrus_stdenc_local.h"
53
54
BEGIN_EXTERN_C
55
int  _citrus_stdenc_open(struct _citrus_stdenc * * ,
56
        char const * , const void * , size_t);
57
void     _citrus_stdenc_close(struct _citrus_stdenc *);
58
END_EXTERN_C
59
60
static __inline int
61
_citrus_stdenc_init_state(struct _citrus_stdenc * ce,
62
    void * ps)
63
0
{
64
65
0
    return ((*ce->ce_ops->eo_init_state)(ce, ps));
66
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_init_state
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_init_state
67
68
static __inline int
69
_citrus_stdenc_mbtocs(struct _citrus_stdenc * ce,
70
    _citrus_csid_t * csid, _citrus_index_t * idx,
71
    char ** s, size_t n, void * ps,
72
    size_t * nresult, struct iconv_hooks *hooks)
73
0
{
74
75
0
    return ((*ce->ce_ops->eo_mbtocs)(ce, csid, idx, s, n, ps, nresult,
76
0
        hooks));
77
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_mbtocs
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_mbtocs
78
79
static __inline int
80
_citrus_stdenc_cstomb(struct _citrus_stdenc * ce,
81
    char * s, size_t n, _citrus_csid_t csid, _citrus_index_t idx,
82
    void * ps, size_t * nresult,
83
    struct iconv_hooks *hooks)
84
0
{
85
86
0
    return ((*ce->ce_ops->eo_cstomb)(ce, s, n, csid, idx, ps, nresult,
87
0
        hooks));
88
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_cstomb
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_cstomb
89
90
static __inline int
91
_citrus_stdenc_wctomb(struct _citrus_stdenc * ce,
92
    char * s, size_t n, _citrus_wc_t wc, void * ps,
93
    size_t * nresult, struct iconv_hooks *hooks)
94
0
{
95
96
0
    return ((*ce->ce_ops->eo_wctomb)(ce, s, n, wc, ps, nresult, hooks));
97
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_wctomb
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_wctomb
98
99
static __inline int
100
_citrus_stdenc_put_state_reset(struct _citrus_stdenc * ce,
101
    char * s, size_t n, void * ps,
102
    size_t * nresult)
103
0
{
104
105
0
    return ((*ce->ce_ops->eo_put_state_reset)(ce, s, n, ps, nresult));
106
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_put_state_reset
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_put_state_reset
107
108
static __inline size_t
109
_citrus_stdenc_get_state_size(struct _citrus_stdenc *ce)
110
0
{
111
112
0
    return (ce->ce_traits->et_state_size);
113
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_state_size
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_state_size
114
115
static __inline size_t
116
_citrus_stdenc_get_mb_cur_min(struct _citrus_stdenc *ce)
117
0
{
118
119
0
       return (ce->ce_traits->et_mb_cur_min);
120
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_mb_cur_min
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_mb_cur_min
121
122
static __inline size_t
123
_citrus_stdenc_get_mb_cur_max(struct _citrus_stdenc *ce)
124
0
{
125
0
126
0
       return (ce->ce_traits->et_mb_cur_max);
127
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_mb_cur_max
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_mb_cur_max
128
129
static __inline int
130
_citrus_stdenc_get_state_desc(struct _citrus_stdenc * ce,
131
    void * ps, int id,
132
    struct _citrus_stdenc_state_desc * d)
133
0
{
134
135
0
    return ((*ce->ce_ops->eo_get_state_desc)(ce, ps, id, d));
136
0
}
Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_state_desc
Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_state_desc
137
#endif