[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