Commit 5c8c694e authored by Jason Edmeades's avatar Jason Edmeades Committed by Alexandre Julliard

cmd.exe: Wildcards in directory names for CD.

parent eb6d084f
......@@ -1051,6 +1051,8 @@ void WCMD_setshow_default (char *command) {
BOOL status;
char string[1024];
char *pos;
WIN32_FIND_DATA fd;
HANDLE hff;
WINE_TRACE("Request change to directory '%s'\n", command);
if (strlen(command) == 0) {
......@@ -1068,6 +1070,37 @@ void WCMD_setshow_default (char *command) {
}
*pos = 0x00;
/* Search for approprate directory */
WINE_TRACE("Looking for directory '%s'\n", string);
hff = FindFirstFile (string, &fd);
while (hff != INVALID_HANDLE_VALUE) {
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
char fpath[MAX_PATH];
char drive[10];
char dir[MAX_PATH];
char fname[MAX_PATH];
char ext[MAX_PATH];
/* Convert path into actual directory spec */
GetFullPathName (string, sizeof(fpath), fpath, NULL);
WCMD_splitpath(fpath, drive, dir, fname, ext);
/* Rebuild path */
sprintf(string, "%s%s%s", drive, dir, fd.cFileName);
FindClose(hff);
hff = INVALID_HANDLE_VALUE;
break;
}
/* Step on to next match */
if (FindNextFile(hff, &fd) == 0) {
FindClose(hff);
hff = INVALID_HANDLE_VALUE;
break;
}
}
/* Change to that directory */
WINE_TRACE("Really changing to directory '%s'\n", string);
status = SetCurrentDirectory (string);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment