Inspired by

http://stackoverflow.com/questions/7487778/could-you-tell-me-what-this-error-means

I wrote the following very small (one-line) patch which returns an
*informative* error message when R tries to load a zero-byte file rather
than

Error in if (!grepl("RD[AX]2\n", magic)) { : argument is of length zero

  I would guess that error messages with the word "magic" in them would
be disturbing to new users, who are probably worried already that R is
magic ...

  Ben Bolker

Index: load.R
===================================================================
--- load.R      (revision 56743)
+++ load.R      (working copy)
@@ -25,6 +25,7 @@
         ## Since the connection is not open this opens it in binary mode
         ## and closes it again.
         magic <- readChar(con, 5L, useBytes = TRUE)
+        if (length(magic)==0) stop("empty (zero-byte) file")
         if (!grepl("RD[AX]2\n", magic)) {
             ## a check while we still know the call to load()
             if(grepl("RD[ABX][12]\r", magic))
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to