… | |
… | |
960 | errno_get (pTHX_ SV *sv, MAGIC *mg) |
960 | errno_get (pTHX_ SV *sv, MAGIC *mg) |
961 | { |
961 | { |
962 | if (*mg->mg_ptr == '!') // should always be the case |
962 | if (*mg->mg_ptr == '!') // should always be the case |
963 | if (-30999 <= errno && errno <= -30800) |
963 | if (-30999 <= errno && errno <= -30800) |
964 | { |
964 | { |
|
|
965 | sv_setnv (sv, (NV)errno); |
965 | sv_setpv (sv, db_strerror (errno)); |
966 | sv_setpv (sv, db_strerror (errno)); |
|
|
967 | SvNOK_on (sv); /* what a wonderful hack! */ |
|
|
968 | // ^^^ copied from perl sources |
966 | return 0; |
969 | return 0; |
967 | } |
970 | } |
968 | |
971 | |
969 | return PL_vtbl_sv.svt_get (aTHX_ sv, mg); |
972 | return PL_vtbl_sv.svt_get (aTHX_ sv, mg); |
970 | } |
973 | } |