On Thu, 30 Nov 2000 18:01:52 +0100, "H.Merijn Brand" <h.m.brand@hccnet.nl> wrote: > Nailed it down to a failing base function 'getprotobyname': > > % perl5.00503 -e 'print getprotobyname ("udp"), "\n"'; echo $? > udpUDP17 > 0 > % ./perl -e 'print getprotobyname ("udp"), "\n"' ; echo $? > 6 > % Shouldn't C<which> be 321? Breakpoint 1, Perl_pp_gpbyname () at pp_sys.c:4557 4557 } (gdb) where #0 Perl_pp_gpbyname () at pp_sys.c:4557 #1 0x1006ea8c in Perl_runops_debug () at run.c:56 #2 0x10006b64 in perl_run (my_perl=0x0) at perl.c:1375 #3 0x100002bc in main (argc=0, argv=0x0, env=0x0) at perlmain.c:52 (gdb) list 4552 #ifdef HAS_GETPROTOBYNAME 4553 return pp_gprotoent(); 4554 #else 4555 DIE(aTHX_ PL_no_sock_func, "getprotobyname"); 4556 #endif 4557 } 4558 4559 PP(pp_gpbynumber) 4560 { 4561 #ifdef HAS_GETPROTOBYNUMBER (gdb) s Perl_pp_gprotoent () at pp_sys.c:4572 4572 I32 which = PL_op->op_type; (gdb) s 4583 if (which == OP_GPBYNAME) (gdb) p which $1 = 804398848 (gdb) p PL_op $2 = (OP *) 0x20018368 (gdb) p *PL_op $3 = { op_next = 0x20018398, op_sibling = 0x0, op_ppaddr = 0x2000d770 <PL_patleave+3960>, op_targ = 0, op_type = 321, op_seq = 4, op_flags = 5 '\005', op_private = 1 '\001' } (gdb) s 4589 else if (which == OP_GPBYNUMBER) (gdb) p which $4 = 804398848 (gdb) -- H.Merijn Brand Amsterdam Perl Mongers (http://www.amsterdam.pm.org/) using perl-5.005.03, 5.6.0, 5.7.1 & 620 on HP-UX 10.20 & 11.00, AIX 4.2 & 4.3, DEC OSF/1 4.0 and WinNT 4.0 SP-6a, often with Tk800.022 and/or DBD-Unify ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/Thread Previous | Thread Next