Are BIND 8.2.5 ns_parser.y and .c in sync?

Joseph Caldwell joecwell at us.ibm.com
Mon Feb 18 15:20:38 UTC 2002


The BIND 8.2.x downloads extract both an
ns_parser.y and ns_parser.c file to src/bin/named directory.
Since the timestamp on the ns_parser.c is later than the one
on ns_parser.y, yacc is not actually called to produce a new
ns_parser.c; so if you build right out of the box, you get
the ns_parser.c that was produced by ISC. 

I've never had reason to question whether the .c and the .y 
files were in sync (ie. that the .c was actually generated 
from the code in the .y file), but stumbled on something in
8.2.5 while porting to my platform.

I made a couple minor changes for my platform to ns_parser.y,
and the resulting ns_parser.c was vastly different than the
one in the original download.  Since all of the differences 
were in areas I didn't even touch, I went back to the original 
downloaded ns_parser.y, deleted ns_parser.c, and let yacc generate
ns_parser.c during the build. The resulting ns_parser.c from
the untouched 8.2.5 ns_parser.y looks nothing like the 8.2.5
ns_parser.c in the ISC download.

This would lead me to believe that the 2 files are not in sync,
and that one of them has the latest code while the other is
potentially back level ... or am I missing something?  Should I
just assume the ns_parser.c created by ISC is the latest code 
and make my changes to it; and just ignore the .y file?

Just FYI ... even though my platform is IBM OS/400 
(runs on iSeries, aka AS/400), I build my code on 
AIX (4.3.3.4), so it builds with the aix4 port paths.

Thanks in advance for helping me understand the mystery
of how ns_parser.y and .c relate to each other.
Joe
------------------------------------------------------------- 
Joe Caldwell, IBM Corp., iSeries 400 Laboratory
1701 North St., Dept GZPA, Endicott, N.Y. 13760
Internet e-mail: joecwell at us.ibm.com
------------------------------------------------------------- 




More information about the bind-workers mailing list