[Rd] bitmap() doesn't finish with file in Windows (PR#7224)
t.short at epri-peac.com
t.short at epri-peac.com
Mon Sep 13 20:42:59 CEST 2004
Full_Name: Tom Short
Version: 1.9.0
OS: Win2000
Submission from: (NULL) (64.65.255.41)
POSSIBLE WISHLIST, POSSIBLE BUG:
The following code works on Debian, but fails on Windows 2000 with 'Error in
file("test.png", "r") : unable to open connection':
bitmap("test.png")
plot(c(1,2,3))
dev.off()
x = file("test.png","r")
The problem is that when bitmap uses ghostscript to convert the PS file to a
PNG, the postscript drive doesn't wait for ghostscript to finish (under
Windows). In the Linux version, the postscript driver does wait for the printing
command to finish. Compare the following lines of devPS.c that actually call the
"cmd":
#ifdef Unix
err = R_system(buff);
#endif
#ifdef Win32
err = runcmd(buff, 0, 0, NULL);
#endif
RECOMMENDATION: Change runcmd(buff, 0, 0, NULL) to runcmd(buff, 1, 0, NULL) in
devPS.c to make the driver wait for the command to finish.
More information about the R-devel
mailing list