Date: Thu, 8 Jun 2006 10:20:28 GMT From: Maxim Konovalov <maxim@macomnet.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/98625: ypserv ignores the -n option (it always acts like -n has been specified) Message-ID: <200606081020.k58AKSIg022709@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/98625; it has been noted by GNATS. From: Maxim Konovalov <maxim@macomnet.ru> To: PaulFM <paulfm@me.umn.edu> Cc: bug-followup@freebsd.org Subject: Re: bin/98625: ypserv ignores the -n option (it always acts like -n has been specified) Date: Thu, 8 Jun 2006 12:21:47 +0400 (MSD) Hi, > Looks like a problem with parenthesis (precedence) - or it could be > a bug in the FREEBSD C compiler. I added 2 sets of parenthesis and > now it works! I'm sure our compiler is not that broken :-) > diff -u yp_server.c ORIG/yp_server.c > ------------------------------------------------------------------------ > > --- yp_server.c Wed Jun 7 12:30:42 2006 > +++ ORIG/yp_server.c Wed Jun 7 12:29:48 2006 > @@ -164,11 +164,11 @@ > */ > > #ifdef DB_CACHE > - if ((result.stat != YP_TRUE) && > + if (result.stat != YP_TRUE && > (yp_testflag(argp->map, argp->domain, YP_INTERDOMAIN) || > ((strstr(argp->map, "hosts") || strstr(argp->map, "ipnodes")) && do > _dns))) { > #else > - if (do_dns && (result.stat != YP_TRUE) && > + if (do_dns && result.stat != YP_TRUE && > (strstr(argp->map, "hosts") || strstr(argp->map, "ipnodes"))) { > #endif > char nbuf[YPMAXRECORD]; > Try my instead: Index: yp_server.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/ypserv/yp_server.c,v retrieving revision 1.39 diff -u -p -r1.39 yp_server.c --- yp_server.c 2 May 2005 09:42:59 -0000 1.39 +++ yp_server.c 8 Jun 2006 08:18:46 -0000 @@ -164,9 +164,9 @@ ypproc_match_2_svc(ypreq_key *argp, stru */ #ifdef DB_CACHE - if (result.stat != YP_TRUE && + if (do_dns && result.stat != YP_TRUE && (yp_testflag(argp->map, argp->domain, YP_INTERDOMAIN) || - ((strstr(argp->map, "hosts") || strstr(argp->map, "ipnodes")) && do_dns))) { + (strstr(argp->map, "hosts") || strstr(argp->map, "ipnodes")))) { #else if (do_dns && result.stat != YP_TRUE && (strstr(argp->map, "hosts") || strstr(argp->map, "ipnodes"))) { %%% -- Maxim Konovalov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606081020.k58AKSIg022709>