Coverage Report

Created: 2026-03-12 06:42

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
877k
  : textIn(NULL), confidence(0), fCharsetName(NULL), fLang(NULL)
25
877k
{
26
    // nothing else to do.
27
877k
}
28
29
void CharsetMatch::set(InputText *input, const CharsetRecognizer *cr, int32_t conf,
30
                       const char *csName, const char *lang)
31
917k
{
32
917k
    textIn = input;
33
917k
    confidence = conf; 
34
917k
    fCharsetName = csName;
35
917k
    fLang = lang;
36
917k
    if (cr != NULL) {
37
917k
        if (fCharsetName == NULL) {
38
687k
            fCharsetName = cr->getName();
39
687k
        }
40
917k
        if (fLang == NULL) {
41
687k
            fLang = cr->getLanguage();
42
687k
        }
43
917k
    }
44
917k
}
45
46
const char* CharsetMatch::getName()const
47
85.9k
{
48
85.9k
    return fCharsetName; 
49
85.9k
}
50
51
const char* CharsetMatch::getLanguage()const
52
0
{
53
0
    return fLang; 
54
0
}
55
56
int32_t CharsetMatch::getConfidence()const
57
447k
{
58
447k
    return confidence;
59
447k
}
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