OLD | NEW |
1 /* | 1 /* |
2 ******************************************************************************* | 2 ******************************************************************************* |
3 * | 3 * |
4 * Copyright (C) 1999-2010, International Business Machines | 4 * Copyright (C) 1999-2014, International Business Machines |
5 * Corporation and others. All Rights Reserved. | 5 * Corporation and others. All Rights Reserved. |
6 * | 6 * |
7 ******************************************************************************* | 7 ******************************************************************************* |
8 * file name: unistr_cnv.cpp | 8 * file name: unistr_cnv.cpp |
9 * encoding: US-ASCII | 9 * encoding: US-ASCII |
10 * tab size: 8 (not used) | 10 * tab size: 8 (not used) |
11 * indentation:2 | 11 * indentation:2 |
12 * | 12 * |
13 * created on: 2004aug19 | 13 * created on: 2004aug19 |
14 * created by: Markus W. Scherer | 14 * created by: Markus W. Scherer |
(...skipping 17 matching lines...) Expand all Loading... |
32 #include "ustr_imp.h" | 32 #include "ustr_imp.h" |
33 | 33 |
34 U_NAMESPACE_BEGIN | 34 U_NAMESPACE_BEGIN |
35 | 35 |
36 //======================================== | 36 //======================================== |
37 // Constructors | 37 // Constructors |
38 //======================================== | 38 //======================================== |
39 | 39 |
40 #if !U_CHARSET_IS_UTF8 | 40 #if !U_CHARSET_IS_UTF8 |
41 | 41 |
42 UnicodeString::UnicodeString(const char *codepageData) | 42 UnicodeString::UnicodeString(const char *codepageData) { |
43 : fShortLength(0), | 43 fUnion.fFields.fLengthAndFlags = kShortString; |
44 fFlags(kShortString) | |
45 { | |
46 if(codepageData != 0) { | 44 if(codepageData != 0) { |
47 doCodepageCreate(codepageData, (int32_t)uprv_strlen(codepageData), 0); | 45 doCodepageCreate(codepageData, (int32_t)uprv_strlen(codepageData), 0); |
48 } | 46 } |
49 } | 47 } |
50 | 48 |
51 UnicodeString::UnicodeString(const char *codepageData, | 49 UnicodeString::UnicodeString(const char *codepageData, |
52 int32_t dataLength) | 50 int32_t dataLength) { |
53 : fShortLength(0), | 51 fUnion.fFields.fLengthAndFlags = kShortString; |
54 fFlags(kShortString) | |
55 { | |
56 if(codepageData != 0) { | 52 if(codepageData != 0) { |
57 doCodepageCreate(codepageData, dataLength, 0); | 53 doCodepageCreate(codepageData, dataLength, 0); |
58 } | 54 } |
59 } | 55 } |
60 | 56 |
61 // else see unistr.cpp | 57 // else see unistr.cpp |
62 #endif | 58 #endif |
63 | 59 |
64 UnicodeString::UnicodeString(const char *codepageData, | 60 UnicodeString::UnicodeString(const char *codepageData, |
65 const char *codepage) | 61 const char *codepage) { |
66 : fShortLength(0), | 62 fUnion.fFields.fLengthAndFlags = kShortString; |
67 fFlags(kShortString) | |
68 { | |
69 if(codepageData != 0) { | 63 if(codepageData != 0) { |
70 doCodepageCreate(codepageData, (int32_t)uprv_strlen(codepageData), codep
age); | 64 doCodepageCreate(codepageData, (int32_t)uprv_strlen(codepageData), codep
age); |
71 } | 65 } |
72 } | 66 } |
73 | 67 |
74 UnicodeString::UnicodeString(const char *codepageData, | 68 UnicodeString::UnicodeString(const char *codepageData, |
75 int32_t dataLength, | 69 int32_t dataLength, |
76 const char *codepage) | 70 const char *codepage) { |
77 : fShortLength(0), | 71 fUnion.fFields.fLengthAndFlags = kShortString; |
78 fFlags(kShortString) | |
79 { | |
80 if(codepageData != 0) { | 72 if(codepageData != 0) { |
81 doCodepageCreate(codepageData, dataLength, codepage); | 73 doCodepageCreate(codepageData, dataLength, codepage); |
82 } | 74 } |
83 } | 75 } |
84 | 76 |
85 UnicodeString::UnicodeString(const char *src, int32_t srcLength, | 77 UnicodeString::UnicodeString(const char *src, int32_t srcLength, |
86 UConverter *cnv, | 78 UConverter *cnv, |
87 UErrorCode &errorCode) | 79 UErrorCode &errorCode) { |
88 : fShortLength(0), | 80 fUnion.fFields.fLengthAndFlags = kShortString; |
89 fFlags(kShortString) | |
90 { | |
91 if(U_SUCCESS(errorCode)) { | 81 if(U_SUCCESS(errorCode)) { |
92 // check arguments | 82 // check arguments |
93 if(src==NULL) { | 83 if(src==NULL) { |
94 // treat as an empty string, do nothing more | 84 // treat as an empty string, do nothing more |
95 } else if(srcLength<-1) { | 85 } else if(srcLength<-1) { |
96 errorCode=U_ILLEGAL_ARGUMENT_ERROR; | 86 errorCode=U_ILLEGAL_ARGUMENT_ERROR; |
97 } else { | 87 } else { |
98 // get input length | 88 // get input length |
99 if(srcLength==-1) { | 89 if(srcLength==-1) { |
100 srcLength=(int32_t)uprv_strlen(src); | 90 srcLength=(int32_t)uprv_strlen(src); |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 arraySize = (int32_t)(length() + 2 * (mySourceEnd - mySource)); | 406 arraySize = (int32_t)(length() + 2 * (mySourceEnd - mySource)); |
417 } else { | 407 } else { |
418 break; | 408 break; |
419 } | 409 } |
420 } | 410 } |
421 } | 411 } |
422 | 412 |
423 U_NAMESPACE_END | 413 U_NAMESPACE_END |
424 | 414 |
425 #endif | 415 #endif |
OLD | NEW |