1
0
Fork 0
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:
nobu 2016-04-28 06:54:03 +00:00
parent 51cf90c514
commit 1e775c18e5

View file

@ -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;
} }