From: jonathan@... (Jonathan Baker) Date: 2002-03-08T18:19:40+09:00 Subject: Spooky backtick bug w/large file support Discovered that the patch for large files caused a nasty side effect: any use of backquotes (%x) results in a seg fault. :( The fix is simple, but very strange: just include a prototype declaration for io_fread in io.c: static long io_fread _((char *, long, FILE *)); and all is well. I've updated the patch to include this, see http://www.jonathanbaker.org/software/ruby/ruby.html. Without the prototype, just before this call in read_all in io.c: n = io_fread(RSTRING(str)->ptr+bytes, siz-bytes, fptr->f); the fptr->f is fine, but somehow it mysteriously becomes NULL immediately after entering io_fread. Seems rather like a compiler bug, unless I'm overlooking something silly. I get the same behavior on multiple platforms using gcc 2.96. Anyone understand this? --Jonathan