diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2004-06-28 18:06:11 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2004-06-28 18:06:11 +0000 |
commit | 19d2f800f5ce867b734d7061c37eb2e656643ce4 (patch) | |
tree | 2fbc20bddb39f96db0fef2965e2ee6a43ec3650a | |
parent | 6be53ad8bcf640c7fdd4944bd623c2827829de03 (diff) | |
download | libapr-19d2f800f5ce867b734d7061c37eb2e656643ce4.tar.gz |
Simplify excessive copies when the string isn't transformed to upper.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65224 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | file_io/os2/filesys.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/file_io/os2/filesys.c b/file_io/os2/filesys.c index b323e488d..ef597b38e 100644 --- a/file_io/os2/filesys.c +++ b/file_io/os2/filesys.c @@ -94,12 +94,13 @@ apr_status_t filepath_drive_get(char **rootpath, char drive, apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p) { - char path[APR_PATH_MAX]; - - strcpy(path, root); - if (path[1] == ':') - path[0] = apr_toupper(path[0]); - *rootpath = apr_pstrdup(p, path); + if (root[0] && apr_islower(root[0]) && root[1] == ':') { + *rootpath = apr_pstrdup(p, root); + (*rootpath)[0] = apr_toupper((*rootpath)[0]); + } + else { + *rootpath = root; + } return APR_SUCCESS; } |