cmd: Remove some unneeded extension checking.

This commit is contained in:
Paul Vriens 2010-02-18 17:09:04 +01:00 committed by Alexandre Julliard
parent cffd28f74d
commit f468055408
1 changed files with 5 additions and 25 deletions

View File

@ -47,35 +47,15 @@ extern DWORD errorlevel;
void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HANDLE pgmHandle) {
#define WCMD_BATCH_EXT_SIZE 5
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;
if (startLabel == NULL) {
for(i=0; (i<sizeof(extension_batch)/(WCMD_BATCH_EXT_SIZE * sizeof(WCHAR))) &&
(h == INVALID_HANDLE_VALUE); i++) {
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,
h = CreateFileW (file, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
}
if (h == INVALID_HANDLE_VALUE) {
strcpyW (string, file);
CharLowerW (string);
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;
}
} else {
@ -91,7 +71,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN
prev_context = context;
context = LocalAlloc (LMEM_FIXED, sizeof (BATCH_CONTEXT));
context -> h = h;
context->batchfileW = WCMD_strdupW(string);
context->batchfileW = WCMD_strdupW(file);
context -> command = command;
memset(context -> shift_count, 0x00, sizeof(context -> shift_count));
context -> prev_context = prev_context;