… | |
… | |
2691 | { |
2691 | { |
2692 | HV *hv; |
2692 | HV *hv; |
2693 | SV **svp; |
2693 | SV **svp; |
2694 | |
2694 | |
2695 | if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV) |
2695 | if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV) |
2696 | croak ("siginfo argument must be a hashref code, pid, uid and value_int or value_ptr members, caught"); |
2696 | croak ("siginfo argument must be a hashref with 'code', 'pid', 'uid' and 'value_int' or 'value_ptr' members, caught"); |
2697 | |
2697 | |
2698 | hv = (HV *)SvRV (siginfo); |
2698 | hv = (HV *)SvRV (siginfo); |
2699 | |
2699 | |
2700 | if ((svp = hv_fetchs (hv, "code" , 0))) si.si_code = SvIV (*svp); |
2700 | if ((svp = hv_fetchs (hv, "code" , 0))) si.si_code = SvIV (*svp); |
2701 | if ((svp = hv_fetchs (hv, "pid" , 0))) si.si_pid = SvIV (*svp); |
2701 | if ((svp = hv_fetchs (hv, "pid" , 0))) si.si_pid = SvIV (*svp); |