At 16:50 +0100 2003.11.19, Rafael Garcia-Suarez wrote: >Chris Nandor wrote: >> >> At 16:39 +0100 2003.11.19, Rafael Garcia-Suarez wrote: >> >What does >> > perl -le 'print $!=22' >> >on your system ? >> >> 22. > >Hmm, weird -- on my Linux 2.2 it prints correctly "Invalid argument". >I wanted to know what was this errno corresponding to.
Ah. [EMAIL PROTECTED] pudge]$ perl -le 'print $!=22' Invalid argument >Try this naive patch : > >--- mg.c.orig Wed Nov 19 16:41:47 2003 >+++ mg.c Wed Nov 19 16:44:14 2003 >@@ -623,8 +623,12 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg) > SetLastError(dwErr); > } > #else >- sv_setnv(sv, (NV)errno); >- sv_setpv(sv, errno ? Strerror(errno) : ""); >+ { >+ int saveerrno = errno; >+ sv_setnv(sv, (NV)errno); >+ sv_setpv(sv, errno ? Strerror(errno) : ""); >+ errno = saveerrno; >+ } > #endif > #endif > #endif Heh, when I do that, I get: $ perl -le '$^E=-1728; print $^E+0 for 0,1' 22 22 So I don't even get the correct value the *first* time. :) -- Chris Nandor [EMAIL PROTECTED] http://pudge.net/ Open Source Development Network [EMAIL PROTECTED] http://osdn.com/