+ hFind = FindFirstFileW(path, &dat);
+ if (hFind != INVALID_HANDLE_VALUE) {
+ if (dat.cAlternateFileName[0] != L'\0') {
+ DEBUG("\"%ls\": short name \"%ls\"", path, dat.cAlternateFileName);
+ size_t short_name_nbytes = wcslen(dat.cAlternateFileName) *
+ sizeof(wchar_t);
+ size_t n = short_name_nbytes + sizeof(wchar_t);
+ dentry->short_name = MALLOC(n);
+ if (dentry->short_name) {
+ memcpy(dentry->short_name, dat.cAlternateFileName, n);
+ dentry->short_name_nbytes = short_name_nbytes;
+ } else {
+ ret = WIMLIB_ERR_NOMEM;
+ }
+ }
+ FindClose(hFind);
+ }
+ return ret;