The R Project SVN R

Rev

Rev 52814 | Rev 52837 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 52814 Rev 52836
Line 290... Line 290...
290
				 &sa, CREATE_ALWAYS, 0, NULL);
290
				 &sa, CREATE_ALWAYS, 0, NULL);
291
	if (hOUT == INVALID_HANDLE_VALUE) {
291
	if (hOUT == INVALID_HANDLE_VALUE) {
292
	    snprintf(RunError, 500, 
292
	    snprintf(RunError, 500, 
293
		     "unable to redirect output to '%s'", fout);
293
		     "unable to redirect output to '%s'", fout);
294
	    return NULL;
294
	    return NULL;
295
	}
-
 
296
	return hOUT;
295
	} else return hOUT;
297
    }
296
    }
298
    return INVALID_HANDLE_VALUE;
297
    return INVALID_HANDLE_VALUE;
299
}
298
}
300
 
299
 
301
BOOL CALLBACK TerminateWindow(HWND hwnd, LPARAM lParam)
300
BOOL CALLBACK TerminateWindow(HWND hwnd, LPARAM lParam)
Line 351... Line 350...
351
    HANDLE hIN = getInputHandle(fin), hOUT = getOutputHandle(fout),
350
    HANDLE hIN = getInputHandle(fin), hOUT = getOutputHandle(fout),
352
	hERR = getOutputHandle(ferr);
351
	hERR = getOutputHandle(ferr);
353
    int ret = 0;
352
    int ret = 0;
354
    PROCESS_INFORMATION pi;
353
    PROCESS_INFORMATION pi;
355
 
354
 
-
 
355
    if (!hOUT || !hERR) return 1;
-
 
356
 
356
    memset(&pi, 0, sizeof(pi));
357
    memset(&pi, 0, sizeof(pi));
357
    pcreate(cmd, enc, !wait, visible, hIN, hOUT, hERR, &pi);
358
    pcreate(cmd, enc, !wait, visible, hIN, hOUT, hERR, &pi);
358
    if (!pi.hProcess) return NOLAUNCH;
359
    if (!pi.hProcess) return NOLAUNCH;
359
    if (wait) {
360
    if (wait) {
360
	RCNTXT cntxt;
361
	RCNTXT cntxt;
Line 367... Line 368...
367
	sprintf(RunError, _("Exit code was %d"), ret);
368
	sprintf(RunError, _("Exit code was %d"), ret);
368
	ret &= 0xffff;
369
	ret &= 0xffff;
369
    } else ret = 0;
370
    } else ret = 0;
370
    CloseHandle(pi.hProcess);
371
    CloseHandle(pi.hProcess);
371
    if (hIN != INVALID_HANDLE_VALUE) CloseHandle(hIN);
372
    if (hIN != INVALID_HANDLE_VALUE) CloseHandle(hIN);
372
    if (hOUT != INVALID_HANDLE_VALUE) CloseHandle(hERR);
373
    if (hOUT != INVALID_HANDLE_VALUE) CloseHandle(hOUT);
373
    if (hERR != INVALID_HANDLE_VALUE) CloseHandle(hERR);
374
    if (hERR != INVALID_HANDLE_VALUE) CloseHandle(hERR);
374
    return ret;
375
    return ret;
375
}
376
}
376
 
377
 
377
/*
378
/*