For thise that care...
RIPE NCC Staff
Tue May 9 13:32:08 CEST 1995
Hi Tony, Of course I care... I will put a note about this fix in the distribution when I am back from Rome! Kind regards, David Kessens RIPE NCC Database maintainer ------------------------- * Tony Bates <Tony.Bates at mci.net> writes: * This is what was done to fix perl 4.036 such that setsockopt would * work under solaris set of correctly. * * * --Tony. * * *** doio.c.orig Wed May 3 10:29:05 1995 * --- doio.c Wed May 3 15:13:34 1995 * *************** * *** 1604,1610 **** * --- 1604,1616 ---- * register STR **st = stack->ary_array; * register int sp = arglast[1]; * register STIO *stio; * + /* * + * FIX - for crappy OPTVAL value being passed wrong * + */ * + int on; * + char *buf; * int fd; * + int len; * unsigned int lvl; * unsigned int optname; * * *************** * *** 1629,1635 **** * break; * case O_SSOCKOPT: * st[sp] = st[sp+3]; * ! if (setsockopt(fd, lvl, optname, st[sp]->str_ptr, st[sp]->str_cur) < * 0) * goto nuts; * st[sp] = &str_yes; * break; * --- 1635,1652 ---- * break; * case O_SSOCKOPT: * st[sp] = st[sp+3]; * ! if(st[sp]->str_pok) { * ! buf = (char *)st[sp]->str_ptr; * ! len = st[sp]->str_cur; * ! } else if (st[sp]->str_nok) { * ! on = (int) st[sp]->str_u.str_nval; * ! buf = (char *)&on; * ! len = sizeof(on); * ! } else { * ! buf = (char *)(0); * ! len = 0; * ! } * ! if (setsockopt(fd, lvl, optname, buf, len) < 0) * goto nuts; * st[sp] = &str_yes; * break; -------- Logged at Tue May 9 23:59:53 MET DST 1995 ---------
[ rr-impl Archive ]