jeburke@jhunix.HCF.JHU.EDU (John Burke) (06/13/90)
Ho, netsters, Welcome to the land of TeX arcana (not to be confused with Texarkana). The problem: BiBTeX can't seem to see the \bibstyle, \bibdata, and \citation commands which appear in an .aux file. This is the C version of BiBTeX, the 0.99c release, running under AT&T Sys V.3.1.5. The solution: The procedure input_ln is used in bibtex.web to get lines of input from the .aux file (and other files as well). In bibtex.ch, input_ln is redefined using "an external C procedure" called lineread() I found lineread() in bibext.c, a set of C extensions for BiBTeX. After a few days spent chasing through the code, I eventually figured out that the cause of the problem lay, not in lineread, or in any of command-parsing routines. Instead I found it to be at the top of bibext.c, in the variable declarations. The variables were declared improperly; we had extern char realnameoffile[]; extern char xord[], buffer[], nameoffile[]; but should have had (in order to agree with the definitions in bibtex.c) extern char realnameoffile[], nameoffile[]; extern schar xord[], buffer[]; With that correction, the whole thing compiled and ran beautifully. It may be the case that under some operating systems, or under some versions of C, schar (which is typedef'ed in site.h) will be the same as char, but under our UNIX and our C, they most assuredly are not the same---schar is a short int. It was sloppy of the authors of bibext.c not to use the types declared in site.h (and used in bibtex.c); of course, if our C compiler had been on top of things, the inconsistency of declarations would have been caught the first time the program was compiled. Respectfully subimtted, John E. Burke (jeburke@jhunix.hcf.jhu.edu) ============================================================================ There is only one thing that I know how to do well, And I've always been told you should only do things that you know how to do well. And that's be you. Be what you're like. Be like yourself. And so I'm having a wonderful time but I'd rather be Whistling in the dark.