Commit f4680554 authored by Paul Vriens's avatar Paul Vriens Committed by Alexandre Julliard

cmd: Remove some unneeded extension checking.

parent cffd28f7
...@@ -47,35 +47,15 @@ extern DWORD errorlevel; ...@@ -47,35 +47,15 @@ extern DWORD errorlevel;
void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HANDLE pgmHandle) { void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HANDLE pgmHandle) {
#define WCMD_BATCH_EXT_SIZE 5
HANDLE h = INVALID_HANDLE_VALUE; HANDLE h = INVALID_HANDLE_VALUE;
WCHAR string[MAXSTRING];
static const WCHAR extension_batch[][WCMD_BATCH_EXT_SIZE] = {{'.','b','a','t','\0'},
{'.','c','m','d','\0'}};
static const WCHAR extension_exe[WCMD_BATCH_EXT_SIZE] = {'.','e','x','e','\0'};
unsigned int i;
BATCH_CONTEXT *prev_context; BATCH_CONTEXT *prev_context;
if (startLabel == NULL) { if (startLabel == NULL) {
for(i=0; (i<sizeof(extension_batch)/(WCMD_BATCH_EXT_SIZE * sizeof(WCHAR))) && h = CreateFileW (file, GENERIC_READ, FILE_SHARE_READ,
(h == INVALID_HANDLE_VALUE); i++) { NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
strcpyW (string, file);
CharLowerW (string);
if (strstrW (string, extension_batch[i]) == NULL) strcatW (string, extension_batch[i]);
h = CreateFileW (string, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
}
if (h == INVALID_HANDLE_VALUE) { if (h == INVALID_HANDLE_VALUE) {
strcpyW (string, file); SetLastError (ERROR_FILE_NOT_FOUND);
CharLowerW (string); WCMD_print_error ();
if (strstrW (string, extension_exe) == NULL) strcatW (string, extension_exe);
if (GetFileAttributesW (string) != INVALID_FILE_ATTRIBUTES) {
WCMD_run_program (command, 0);
} else {
SetLastError (ERROR_FILE_NOT_FOUND);
WCMD_print_error ();
}
return; return;
} }
} else { } else {
...@@ -91,7 +71,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN ...@@ -91,7 +71,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN
prev_context = context; prev_context = context;
context = LocalAlloc (LMEM_FIXED, sizeof (BATCH_CONTEXT)); context = LocalAlloc (LMEM_FIXED, sizeof (BATCH_CONTEXT));
context -> h = h; context -> h = h;
context->batchfileW = WCMD_strdupW(string); context->batchfileW = WCMD_strdupW(file);
context -> command = command; context -> command = command;
memset(context -> shift_count, 0x00, sizeof(context -> shift_count)); memset(context -> shift_count, 0x00, sizeof(context -> shift_count));
context -> prev_context = prev_context; context -> prev_context = prev_context;
......
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