mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
win32/file.c: remove unnecessary code
* win32/file.c (replace_to_long_name): remove unnecessary backward scan for the last directory separator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
51cf90c514
commit
1e775c18e5
1 changed files with 4 additions and 9 deletions
13
win32/file.c
13
win32/file.c
|
@ -257,24 +257,19 @@ replace_to_long_name(wchar_t **wfullpath, size_t size, int heap)
|
||||||
|
|
||||||
find_handle = FindFirstFileW(*wfullpath, &find_data);
|
find_handle = FindFirstFileW(*wfullpath, &find_data);
|
||||||
if (find_handle != INVALID_HANDLE_VALUE) {
|
if (find_handle != INVALID_HANDLE_VALUE) {
|
||||||
size_t trail_pos = wcslen(*wfullpath);
|
size_t trail_pos = pos - *wfullpath + IS_DIR_SEPARATOR_P(*pos);
|
||||||
size_t file_len = wcslen(find_data.cFileName);
|
size_t file_len = wcslen(find_data.cFileName);
|
||||||
|
|
||||||
FindClose(find_handle);
|
FindClose(find_handle);
|
||||||
while (trail_pos > 0) {
|
size = trail_pos + file_len;
|
||||||
if (IS_DIR_SEPARATOR_P((*wfullpath)[trail_pos]))
|
|
||||||
break;
|
|
||||||
trail_pos--;
|
|
||||||
}
|
|
||||||
size = trail_pos + 1 + file_len;
|
|
||||||
if ((size + 1) > sizeof(*wfullpath) / sizeof((*wfullpath)[0])) {
|
if ((size + 1) > sizeof(*wfullpath) / sizeof((*wfullpath)[0])) {
|
||||||
wchar_t *buf = (wchar_t *)xmalloc((size + 1) * sizeof(wchar_t));
|
wchar_t *buf = (wchar_t *)xmalloc((size + 1) * sizeof(wchar_t));
|
||||||
wcsncpy(buf, *wfullpath, trail_pos + 1);
|
wcsncpy(buf, *wfullpath, trail_pos);
|
||||||
if (heap)
|
if (heap)
|
||||||
xfree(*wfullpath);
|
xfree(*wfullpath);
|
||||||
*wfullpath = buf;
|
*wfullpath = buf;
|
||||||
}
|
}
|
||||||
wcsncpy(*wfullpath + trail_pos + 1, find_data.cFileName, file_len + 1);
|
wcsncpy(*wfullpath + trail_pos, find_data.cFileName, file_len + 1);
|
||||||
}
|
}
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue