mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-4439 Fix / and \ usage on Windows.
X-SVN-Rev: 17342
This commit is contained in:
parent
169c88e9bd
commit
578b93841c
1 changed files with 27 additions and 15 deletions
|
@ -94,9 +94,9 @@ main(int argc, char* argv[]) {
|
|||
|
||||
/* Get the name of tool. */
|
||||
pname = uprv_strrchr(*argv, U_FILE_SEP_CHAR);
|
||||
#ifdef U_WINDOWS
|
||||
#if U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR
|
||||
if (!pname) {
|
||||
pname = uprv_strrchr(*argv, '/');
|
||||
pname = uprv_strrchr(*argv, U_FILE_ALT_SEP_CHAR);
|
||||
}
|
||||
#endif
|
||||
if (!pname) {
|
||||
|
@ -208,14 +208,20 @@ main(int argc, char* argv[]) {
|
|||
}
|
||||
|
||||
p = uprv_strrchr(arg, U_FILE_SEP_CHAR);
|
||||
#if U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR
|
||||
if (p == NULL) {
|
||||
p = uprv_strrchr(arg, U_FILE_ALT_SEP_CHAR);
|
||||
}
|
||||
#endif
|
||||
if (!p) {
|
||||
p = arg;
|
||||
} else {
|
||||
p++;
|
||||
p++;
|
||||
}
|
||||
q = uprv_strrchr(p, '.');
|
||||
if (!q) {
|
||||
for (q = p; *q; ++q);
|
||||
for (q = p; *q; ++q)
|
||||
;
|
||||
}
|
||||
uprv_strncpy(locale, p, q - p);
|
||||
locale[q - p] = 0;
|
||||
|
@ -225,19 +231,24 @@ main(int argc, char* argv[]) {
|
|||
#ifdef U_WINDOWS
|
||||
if (!absfilename) {
|
||||
absfilename = (uprv_strlen(arg) > 2 && isalpha(arg[0])
|
||||
&& arg[1] == ':' && arg[2] == U_FILE_SEP_CHAR);
|
||||
&& arg[1] == ':' && arg[2] == U_FILE_SEP_CHAR);
|
||||
}
|
||||
#endif
|
||||
if (absfilename) {
|
||||
thename = arg;
|
||||
} else {
|
||||
q = uprv_strrchr(arg, U_FILE_SEP_CHAR);
|
||||
uprv_strcpy(infile, inputDir);
|
||||
if(q != NULL) {
|
||||
uprv_strcat(infile, U_FILE_SEP_STRING),
|
||||
strncat(infile, arg, q-arg);
|
||||
}
|
||||
thename = infile;
|
||||
q = uprv_strrchr(arg, U_FILE_SEP_CHAR);
|
||||
#if U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR
|
||||
if (q == NULL) {
|
||||
q = uprv_strrchr(arg, U_FILE_ALT_SEP_CHAR);
|
||||
}
|
||||
#endif
|
||||
uprv_strcpy(infile, inputDir);
|
||||
if(q != NULL) {
|
||||
uprv_strcat(infile, U_FILE_SEP_STRING);
|
||||
strncat(infile, arg, q-arg);
|
||||
}
|
||||
thename = infile;
|
||||
}
|
||||
}
|
||||
status = U_ZERO_ERROR;
|
||||
|
@ -255,9 +266,9 @@ main(int argc, char* argv[]) {
|
|||
if (!locale || !tostdout) {
|
||||
filename = uprv_strrchr(arg, U_FILE_SEP_CHAR);
|
||||
|
||||
#ifdef U_WINDOWS
|
||||
#if U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR
|
||||
if (!filename) {
|
||||
filename = uprv_strrchr(arg, '/');
|
||||
filename = uprv_strrchr(arg, U_FILE_ALT_SEP_CHAR);
|
||||
}
|
||||
#endif
|
||||
if (!filename) {
|
||||
|
@ -336,7 +347,8 @@ main(int argc, char* argv[]) {
|
|||
if (out != stdout) {
|
||||
fclose(out);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
reportError(pname, &status, "opening resource file");
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue