Coverage Report

Created: 2026-04-29 07:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/icu/source/i18n/csmatch.cpp
Line
Count
Source
1
// © 2016 and later: Unicode, Inc. and others.
2
// License & terms of use: http://www.unicode.org/copyright.html
3
/*
4
 **********************************************************************
5
 *   Copyright (C) 2005-2012, International Business Machines
6
 *   Corporation and others.  All Rights Reserved.
7
 **********************************************************************
8
 */
9
10
#include "unicode/utypes.h"
11
12
#if !UCONFIG_NO_CONVERSION
13
#include "unicode/unistr.h"
14
#include "unicode/ucnv.h"
15
16
#include "csmatch.h"
17
18
#include "csrecog.h"
19
#include "inputext.h"
20
21
U_NAMESPACE_BEGIN
22
23
CharsetMatch::CharsetMatch()
24
1.09M
  : textIn(NULL), confidence(0), fCharsetName(NULL), fLang(NULL)
25
1.09M
{
26
    // nothing else to do.
27
1.09M
}
28
29
void CharsetMatch::set(InputText *input, const CharsetRecognizer *cr, int32_t conf,
30
                       const char *csName, const char *lang)
31
1.12M
{
32
1.12M
    textIn = input;
33
1.12M
    confidence = conf; 
34
1.12M
    fCharsetName = csName;
35
1.12M
    fLang = lang;
36
1.12M
    if (cr != NULL) {
37
1.12M
        if (fCharsetName == NULL) {
38
854k
            fCharsetName = cr->getName();
39
854k
        }
40
1.12M
        if (fLang == NULL) {
41
854k
            fLang = cr->getLanguage();
42
854k
        }
43
1.12M
    }
44
1.12M
}
45
46
const char* CharsetMatch::getName()const
47
88.8k
{
48
88.8k
    return fCharsetName; 
49
88.8k
}
50
51
const char* CharsetMatch::getLanguage()const
52
0
{
53
0
    return fLang; 
54
0
}
55
56
int32_t CharsetMatch::getConfidence()const
57
535k
{
58
535k
    return confidence;
59
535k
}
60
61
int32_t CharsetMatch::getUChars(UChar *buf, int32_t cap, UErrorCode *status) const
62
0
{
63
0
    UConverter *conv = ucnv_open(getName(), status);
64
0
    int32_t result = ucnv_toUChars(conv, buf, cap, (const char *) textIn->fRawInput, textIn->fRawLength, status);
65
66
0
    ucnv_close(conv);
67
68
0
    return result;
69
0
}
70
71
U_NAMESPACE_END
72
73
#endif