2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <utils_i18n_private.h>
19 int _i18n_error_mapping ( int err )
21 if(err == U_STRING_NOT_TERMINATED_WARNING) return I18N_WARNING_STRING_NOT_TERMINATED;
22 else if(err == U_SORT_KEY_TOO_SHORT_WARNING) return I18N_WARNING_SORT_KEY_TOO_SHORT;
23 else if(err <= U_ZERO_ERROR) return I18N_ERROR_NONE;
26 case U_ILLEGAL_ARGUMENT_ERROR : return I18N_ERROR_INVALID_PARAMETER;
27 case U_MISSING_RESOURCE_ERROR : return I18N_ERROR_MISSING_RESOURCE;
28 case U_INVALID_FORMAT_ERROR : return I18N_ERROR_INVALID_FORMAT;
29 case U_FILE_ACCESS_ERROR : return I18N_ERROR_FILE_ACCESS;
30 case U_INTERNAL_PROGRAM_ERROR : return I18N_ERROR_INTERNAL_PROGRAM;
31 case U_MESSAGE_PARSE_ERROR : return I18N_ERROR_MESSAGE_PARSE;
32 case U_MEMORY_ALLOCATION_ERROR : return I18N_ERROR_OUT_OF_MEMORY;
33 case U_INDEX_OUTOFBOUNDS_ERROR : return I18N_ERROR_INDEX_OUTOFBOUNDS;
34 case U_PARSE_ERROR : return I18N_ERROR_PARSE;
35 case U_INVALID_CHAR_FOUND : return I18N_ERROR_INVALID_CHAR_FOUND;
36 case U_TRUNCATED_CHAR_FOUND : return I18N_ERROR_TRUNCATED_CHAR_FOUND;
37 case U_ILLEGAL_CHAR_FOUND : return I18N_ERROR_ILLEGAL_CHAR_FOUND;
38 case U_INVALID_TABLE_FORMAT : return I18N_ERROR_INVALID_TABLE_FORMAT;
39 case U_INVALID_TABLE_FILE : return I18N_ERROR_INVALID_TABLE_FILE;
40 case U_BUFFER_OVERFLOW_ERROR : return I18N_ERROR_BUFFER_OVERFLOW;
41 case U_UNSUPPORTED_ERROR : return I18N_ERROR_NOT_SUPPORTED;
42 case U_RESOURCE_TYPE_MISMATCH : return I18N_ERROR_RESOURCE_TYPE_MISMATCH;
43 case U_ILLEGAL_ESCAPE_SEQUENCE : return I18N_ERROR_ILLECAL_ESCAPE_SEQUENCE;
44 case U_UNSUPPORTED_ESCAPE_SEQUENCE : return I18N_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE;
45 case U_NO_SPACE_AVAILABLE : return I18N_ERROR_NO_SPACE_AVAILABLE;
46 case U_CE_NOT_FOUND_ERROR : return I18N_ERROR_CE_NOT_FOUND;
47 case U_PRIMARY_TOO_LONG_ERROR : return I18N_ERROR_PRIMARY_TOO_LONG;
48 case U_STATE_TOO_OLD_ERROR : return I18N_ERROR_STATE_TOO_OLD;
49 case U_TOO_MANY_ALIASES_ERROR : return I18N_ERROR_TOO_MANY_ALIASES;
50 case U_ENUM_OUT_OF_SYNC_ERROR : return I18N_ERROR_ENUM_OUT_OF_SYNC;
51 case U_INVARIANT_CONVERSION_ERROR : return I18N_ERROR_INVARIANT_CONVERSION;
52 case U_INVALID_STATE_ERROR : return I18N_ERROR_INVALID_STATE;
53 case U_COLLATOR_VERSION_MISMATCH : return I18N_ERROR_COLLATOR_VERSION_MISMATCH;
54 case U_USELESS_COLLATOR_ERROR : return I18N_ERROR_USELESS_COLLATOR;
55 case U_NO_WRITE_PERMISSION : return I18N_ERROR_NO_WRITE_PERMISSION;
56 case U_MALFORMED_SET : return I18N_ERROR_MALFORMED_SET;
57 case U_IDNA_STD3_ASCII_RULES_ERROR : return I18N_ERROR_STD3_ASCII_RULES;
58 case U_IDNA_UNASSIGNED_ERROR : return I18N_ERROR_UNASSIGNED;
59 default : return I18N_ERROR_UNKNOWN;
63 int _i18n_error_mapping_reverse ( int err )
66 case I18N_ERROR_NONE : return U_ZERO_ERROR;
67 case I18N_ERROR_INVALID_PARAMETER : return U_ILLEGAL_ARGUMENT_ERROR;
68 case I18N_ERROR_MISSING_RESOURCE : return U_MISSING_RESOURCE_ERROR;
69 case I18N_ERROR_INVALID_FORMAT : return U_INVALID_FORMAT_ERROR;
70 case I18N_ERROR_FILE_ACCESS : return U_FILE_ACCESS_ERROR;
71 case I18N_ERROR_INTERNAL_PROGRAM : return U_INTERNAL_PROGRAM_ERROR;
72 case I18N_ERROR_MESSAGE_PARSE : return U_MESSAGE_PARSE_ERROR;
73 case I18N_ERROR_OUT_OF_MEMORY : return U_MEMORY_ALLOCATION_ERROR;
74 case I18N_ERROR_INDEX_OUTOFBOUNDS : return U_INDEX_OUTOFBOUNDS_ERROR;
75 case I18N_ERROR_PARSE : return U_PARSE_ERROR;
76 case I18N_ERROR_INVALID_CHAR_FOUND : return U_INVALID_CHAR_FOUND;
77 case I18N_ERROR_TRUNCATED_CHAR_FOUND : return U_TRUNCATED_CHAR_FOUND;
78 case I18N_ERROR_ILLEGAL_CHAR_FOUND : return U_ILLEGAL_CHAR_FOUND;
79 case I18N_ERROR_INVALID_TABLE_FORMAT : return U_INVALID_TABLE_FORMAT;
80 case I18N_ERROR_INVALID_TABLE_FILE : return U_INVALID_TABLE_FILE;
81 case I18N_ERROR_BUFFER_OVERFLOW : return U_BUFFER_OVERFLOW_ERROR;
82 case I18N_ERROR_NOT_SUPPORTED : return U_UNSUPPORTED_ERROR;
83 case I18N_ERROR_RESOURCE_TYPE_MISMATCH : return U_RESOURCE_TYPE_MISMATCH;
84 case I18N_ERROR_ILLECAL_ESCAPE_SEQUENCE : return U_ILLEGAL_ESCAPE_SEQUENCE;
85 case I18N_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE : return U_UNSUPPORTED_ESCAPE_SEQUENCE;
86 case I18N_ERROR_NO_SPACE_AVAILABLE : return U_NO_SPACE_AVAILABLE;
87 case I18N_ERROR_CE_NOT_FOUND : return U_CE_NOT_FOUND_ERROR;
88 case I18N_ERROR_PRIMARY_TOO_LONG : return U_PRIMARY_TOO_LONG_ERROR;
89 case I18N_ERROR_STATE_TOO_OLD : return U_STATE_TOO_OLD_ERROR;
90 case I18N_ERROR_TOO_MANY_ALIASES : return U_TOO_MANY_ALIASES_ERROR;
91 case I18N_ERROR_ENUM_OUT_OF_SYNC : return U_ENUM_OUT_OF_SYNC_ERROR;
92 case I18N_ERROR_INVARIANT_CONVERSION : return U_INVARIANT_CONVERSION_ERROR;
93 case I18N_ERROR_INVALID_STATE : return U_INVALID_STATE_ERROR;
94 case I18N_ERROR_COLLATOR_VERSION_MISMATCH : return U_COLLATOR_VERSION_MISMATCH;
95 case I18N_ERROR_USELESS_COLLATOR : return U_USELESS_COLLATOR_ERROR;
96 case I18N_ERROR_NO_WRITE_PERMISSION : return U_NO_WRITE_PERMISSION;
97 case I18N_ERROR_MALFORMED_SET : return U_MALFORMED_SET;
98 case I18N_ERROR_STD3_ASCII_RULES : return U_IDNA_STD3_ASCII_RULES_ERROR;
99 case I18N_WARNING_STRING_NOT_TERMINATED : return U_STRING_NOT_TERMINATED_WARNING;
100 case I18N_ERROR_UNASSIGNED : return U_IDNA_UNASSIGNED_ERROR;
101 case I18N_WARNING_SORT_KEY_TOO_SHORT : return U_SORT_KEY_TOO_SHORT_WARNING;
102 default : return U_STANDARD_ERROR_LIMIT;