| OLD | NEW |
| 1 /* | 1 /* |
| 2 ******************************************************************************* | 2 ******************************************************************************* |
| 3 * | 3 * |
| 4 * Copyright (C) 1999-2012, International Business Machines | 4 * Copyright (C) 1999-2015 International Business Machines |
| 5 * Corporation and others. All Rights Reserved. | 5 * Corporation and others. All Rights Reserved. |
| 6 * | 6 * |
| 7 ******************************************************************************* | 7 ******************************************************************************* |
| 8 * file name: gencnval.c | 8 * file name: gencnval.c |
| 9 * encoding: US-ASCII | 9 * encoding: US-ASCII |
| 10 * tab size: 8 (not used) | 10 * tab size: 8 (not used) |
| 11 * indentation:4 | 11 * indentation:4 |
| 12 * | 12 * |
| 13 * created on: 1999nov05 | 13 * created on: 1999nov05 |
| 14 * created by: Markus W. Scherer | 14 * created by: Markus W. Scherer |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 static uint16_t knownAliasesCount = 0; | 128 static uint16_t knownAliasesCount = 0; |
| 129 /*static uint16_t duplicateKnownAliasesCount = 0;*/ | 129 /*static uint16_t duplicateKnownAliasesCount = 0;*/ |
| 130 | 130 |
| 131 /* Used for storing the lists section that point to aliases */ | 131 /* Used for storing the lists section that point to aliases */ |
| 132 static uint16_t aliasLists[MAX_LIST_SIZE]; | 132 static uint16_t aliasLists[MAX_LIST_SIZE]; |
| 133 static uint16_t aliasListsSize = 0; | 133 static uint16_t aliasListsSize = 0; |
| 134 | 134 |
| 135 /* Were the standard tags declared before the aliases. */ | 135 /* Were the standard tags declared before the aliases. */ |
| 136 static UBool standardTagsUsed = FALSE; | 136 static UBool standardTagsUsed = FALSE; |
| 137 static UBool verbose = FALSE; | 137 static UBool verbose = FALSE; |
| 138 static UBool quiet = FALSE; |
| 138 static int lineNum = 1; | 139 static int lineNum = 1; |
| 139 | 140 |
| 140 static UConverterAliasOptions tableOptions = { | 141 static UConverterAliasOptions tableOptions = { |
| 141 UCNV_IO_STD_NORMALIZED, | 142 UCNV_IO_STD_NORMALIZED, |
| 142 1 /* containsCnvOptionInfo */ | 143 1 /* containsCnvOptionInfo */ |
| 143 }; | 144 }; |
| 144 | 145 |
| 145 | 146 |
| 146 /** | 147 /** |
| 147 * path to convrtrs.txt | 148 * path to convrtrs.txt |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 #define GET_ALIAS_NUM(str) ((uint16_t)((str - stringStore) >> 1)) | 197 #define GET_ALIAS_NUM(str) ((uint16_t)((str - stringStore) >> 1)) |
| 197 #define GET_TAG_NUM(str) ((uint16_t)((str - tagStore) >> 1)) | 198 #define GET_TAG_NUM(str) ((uint16_t)((str - tagStore) >> 1)) |
| 198 | 199 |
| 199 enum | 200 enum |
| 200 { | 201 { |
| 201 HELP1, | 202 HELP1, |
| 202 HELP2, | 203 HELP2, |
| 203 VERBOSE, | 204 VERBOSE, |
| 204 COPYRIGHT, | 205 COPYRIGHT, |
| 205 DESTDIR, | 206 DESTDIR, |
| 206 SOURCEDIR | 207 SOURCEDIR, |
| 208 QUIET |
| 207 }; | 209 }; |
| 208 | 210 |
| 209 static UOption options[]={ | 211 static UOption options[]={ |
| 210 UOPTION_HELP_H, | 212 UOPTION_HELP_H, |
| 211 UOPTION_HELP_QUESTION_MARK, | 213 UOPTION_HELP_QUESTION_MARK, |
| 212 UOPTION_VERBOSE, | 214 UOPTION_VERBOSE, |
| 213 UOPTION_COPYRIGHT, | 215 UOPTION_COPYRIGHT, |
| 214 UOPTION_DESTDIR, | 216 UOPTION_DESTDIR, |
| 215 UOPTION_SOURCEDIR | 217 UOPTION_SOURCEDIR, |
| 218 UOPTION_QUIET |
| 216 }; | 219 }; |
| 217 | 220 |
| 218 extern int | 221 extern int |
| 219 main(int argc, char* argv[]) { | 222 main(int argc, char* argv[]) { |
| 220 int i, n; | 223 int i, n; |
| 221 char pathBuf[512]; | 224 char pathBuf[512]; |
| 222 FileStream *in; | 225 FileStream *in; |
| 223 UNewDataMemory *out; | 226 UNewDataMemory *out; |
| 224 UErrorCode errorCode=U_ZERO_ERROR; | 227 UErrorCode errorCode=U_ZERO_ERROR; |
| 225 | 228 |
| 226 U_MAIN_INIT_ARGS(argc, argv); | 229 U_MAIN_INIT_ARGS(argc, argv); |
| 227 | 230 |
| 228 /* preset then read command line options */ | 231 /* preset then read command line options */ |
| 229 options[DESTDIR].value=options[SOURCEDIR].value=u_getDataDirectory(); | 232 options[DESTDIR].value=options[SOURCEDIR].value=u_getDataDirectory(); |
| 230 argc=u_parseArgs(argc, argv, sizeof(options)/sizeof(options[0]), options); | 233 argc=u_parseArgs(argc, argv, sizeof(options)/sizeof(options[0]), options); |
| 231 | 234 |
| 232 /* error handling, printing usage message */ | 235 /* error handling, printing usage message */ |
| 233 if(argc<0) { | 236 if(argc<0) { |
| 234 fprintf(stderr, | 237 fprintf(stderr, |
| 235 "error in command line argument \"%s\"\n", | 238 "error in command line argument \"%s\"\n", |
| 236 argv[-argc]); | 239 argv[-argc]); |
| 237 } | 240 } |
| 238 if(argc<0 || options[HELP1].doesOccur || options[HELP2].doesOccur) { | 241 if(argc<0 || options[HELP1].doesOccur || options[HELP2].doesOccur) { |
| 239 fprintf(stderr, | 242 fprintf(stderr, |
| 240 "usage: %s [-options] [convrtrs.txt]\n" | 243 "usage: %s [-options] [convrtrs.txt]\n" |
| 241 "\tread convrtrs.txt and create " U_ICUDATA_NAME "_" DATA_NAME "." D
ATA_TYPE "\n" | 244 "\tread convrtrs.txt and create " U_ICUDATA_NAME "_" DATA_NAME "." D
ATA_TYPE "\n" |
| 242 "options:\n" | 245 "options:\n" |
| 243 "\t-h or -? or --help this usage text\n" | 246 "\t-h or -? or --help this usage text\n" |
| 244 "\t-v or --verbose prints out extra information about the alias
table\n" | 247 "\t-v or --verbose prints out extra information about the alias
table\n" |
| 248 "\t-q or --quiet do not display warnings and progress\n" |
| 245 "\t-c or --copyright include a copyright notice\n" | 249 "\t-c or --copyright include a copyright notice\n" |
| 246 "\t-d or --destdir destination directory, followed by the path\n
" | 250 "\t-d or --destdir destination directory, followed by the path\n
" |
| 247 "\t-s or --sourcedir source directory, followed by the path\n", | 251 "\t-s or --sourcedir source directory, followed by the path\n", |
| 248 argv[0]); | 252 argv[0]); |
| 249 return argc<0 ? U_ILLEGAL_ARGUMENT_ERROR : U_ZERO_ERROR; | 253 return argc<0 ? U_ILLEGAL_ARGUMENT_ERROR : U_ZERO_ERROR; |
| 250 } | 254 } |
| 251 | 255 |
| 252 if(options[VERBOSE].doesOccur) { | 256 if(options[VERBOSE].doesOccur) { |
| 253 verbose = TRUE; | 257 verbose = TRUE; |
| 254 } | 258 } |
| 255 | 259 |
| 260 if(options[QUIET].doesOccur) { |
| 261 quiet = TRUE; |
| 262 } |
| 263 |
| 256 if(argc>=2) { | 264 if(argc>=2) { |
| 257 path=argv[1]; | 265 path=argv[1]; |
| 258 } else { | 266 } else { |
| 259 path=options[SOURCEDIR].value; | 267 path=options[SOURCEDIR].value; |
| 260 if(path!=NULL && *path!=0) { | 268 if(path!=NULL && *path!=0) { |
| 261 char *end; | 269 char *end; |
| 262 | 270 |
| 263 uprv_strcpy(pathBuf, path); | 271 uprv_strcpy(pathBuf, path); |
| 264 end = uprv_strchr(pathBuf, 0); | 272 end = uprv_strchr(pathBuf, 0); |
| 265 if(*(end-1)!=U_FILE_SEP_CHAR) { | 273 if(*(end-1)!=U_FILE_SEP_CHAR) { |
| (...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 922 GET_TAG_STR(tags[tag].tag), | 930 GET_TAG_STR(tags[tag].tag), |
| 923 GET_ALIAS_STR(converters[converter].converter));*/ | 931 GET_ALIAS_STR(converters[converter].converter));*/ |
| 924 for (aliasNum = 0; aliasNum < aliasList->aliasCount; aliasNum++) { | 932 for (aliasNum = 0; aliasNum < aliasList->aliasCount; aliasNum++) { |
| 925 uint16_t value; | 933 uint16_t value; |
| 926 /* printf(" %s\n", | 934 /* printf(" %s\n", |
| 927 GET_ALIAS_STR(aliasList->aliases[aliasNum]));*/ | 935 GET_ALIAS_STR(aliasList->aliases[aliasNum]));*/ |
| 928 if (aliasList->aliases[aliasNum]) { | 936 if (aliasList->aliases[aliasNum]) { |
| 929 value = aliasList->aliases[aliasNum] + offset; | 937 value = aliasList->aliases[aliasNum] + offset; |
| 930 } else { | 938 } else { |
| 931 value = 0; | 939 value = 0; |
| 932 if (tag != 0) { /* Only show the warning when it's not the lefto
ver tag. */ | 940 if (tag != 0 && !quiet) { /* Only show the warning when it's not
the leftover tag. */ |
| 933 fprintf(stderr, "%s: warning: tag %s does not have a default
alias for %s\n", | 941 fprintf(stderr, "%s: warning: tag %s does not have a default
alias for %s\n", |
| 934 path, | 942 path, |
| 935 GET_TAG_STR(tags[tag].tag), | 943 GET_TAG_STR(tags[tag].tag), |
| 936 GET_ALIAS_STR(converters[converter].converter)); | 944 GET_ALIAS_STR(converters[converter].converter)); |
| 937 } | 945 } |
| 938 } | 946 } |
| 939 aliasLists[aliasListsSize++] = value; | 947 aliasLists[aliasListsSize++] = value; |
| 940 if (aliasListsSize >= MAX_LIST_SIZE) { | 948 if (aliasListsSize >= MAX_LIST_SIZE) { |
| 941 fprintf(stderr, "%s: error: Too many alias lists\n", path); | 949 fprintf(stderr, "%s: error: Too many alias lists\n", path); |
| 942 exit(U_BUFFER_OVERFLOW_ERROR); | 950 exit(U_BUFFER_OVERFLOW_ERROR); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1119 | 1127 |
| 1120 /* | 1128 /* |
| 1121 * Hey, Emacs, please set the following: | 1129 * Hey, Emacs, please set the following: |
| 1122 * | 1130 * |
| 1123 * Local Variables: | 1131 * Local Variables: |
| 1124 * indent-tabs-mode: nil | 1132 * indent-tabs-mode: nil |
| 1125 * End: | 1133 * End: |
| 1126 * | 1134 * |
| 1127 */ | 1135 */ |
| 1128 | 1136 |
| OLD | NEW |