rokicki@rocky.STANFORD.EDU (Tomas Rokicki) (12/30/87)
---cut here---
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "entry" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a string entry-variable\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
fnloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 11 ,
true ) ;
{ if ( ( hashfound ) )
{ alreadyseenfunctionp ( fnloc ) ;
goto lab10 ;
}
}
fntype [ fnloc ] = 7 ;
ilkinfo [ fnloc ] = numentstrs ;
incr ( numentstrs ) ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "entry" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
}
incr ( bufptr2 ) ;
lab10 : ;
}
bstexecutecommand () { /* 10 */ if ( ( ! readseen ) )
{ tputs ( cnull , "illegal, execute command before read command" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ scanidentifier ( 125 , 37 ) ;
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a to be executed function\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
fnloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 11 , false
) ;
if ( ( ! hashfound ) )
{ printtoken () ;
{ tputs ( cnull , " is an unknown function" ) ;
bstwarnprint () ;
}
}
else if ( ( ( fntype [ fnloc ] != 0 ) && ( fntype [ fnloc ] != 2 ) ) )
printfunctiontypebst () ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 125 ) )
{ bstrightbraceprint () ;
{ tputs ( cnull , "execute" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ initcommandexecution () ;
messwithentries = false ;
executefn ( fnloc ) ;
checkcommandexecutio () ;
}
lab10 : ;
}
bstfunctioncommand () { /* 10 */
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ scanidentifier ( 125 , 37 ) ;
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a wizard-defined function\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
wizloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 11 , true
) ;
{ if ( ( hashfound ) )
{ alreadyseenfunctionp ( wizloc ) ;
goto lab10 ;
}
}
fntype [ wizloc ] = 2 ;
if ( ( hashtext [ wizloc ] == sdefault ) ) bdefault = wizloc ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 125 ) )
{ bstrightbraceprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "function" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
scanfndef ( wizloc ) ;
lab10 : ;
}
bstintegerscommand () { /* 10 */
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "integers" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "integers" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "integers" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
while ( ( buffer [ bufptr2 ] != 125 ) )
{
{ scanidentifier ( 125 , 37 ) ;
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "integers" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is an integer global-variable\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
fnloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 11 ,
true ) ;
{ if ( ( hashfound ) )
{ alreadyseenfunctionp ( fnloc ) ;
goto lab10 ;
}
}
fntype [ fnloc ] = 8 ;
ilkinfo [ fnloc ] = 0 ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "integers" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
}
incr ( bufptr2 ) ;
lab10 : ;
}
bstiteratecommand () { /* 10 */ if ( ( ! readseen ) )
{ tputs ( cnull , "illegal, iterate command before read command" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ scanidentifier ( 125 , 37 ) ;
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a to be iterated function\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
fnloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 11 , false
) ;
if ( ( ! hashfound ) )
{ printtoken () ;
{ tputs ( cnull , " is an unknown function" ) ;
bstwarnprint () ;
}
}
else if ( ( ( fntype [ fnloc ] != 0 ) && ( fntype [ fnloc ] != 2 ) ) )
printfunctiontypebst () ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 125 ) )
{ bstrightbraceprint () ;
{ tputs ( cnull , "iterate" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ initcommandexecution () ;
messwithentries = true ;
sortciteptr = 0 ;
while ( ( sortciteptr < numcites ) )
{ citeptr = sortedcites [ sortciteptr ] ;
#ifdef TRACE
traceprpoolstr ( hashtext [ fnloc ] ) ;
tputs ( logfile , " to be iterated on " ) ;
traceprpoolstr ( citelist [ citeptr ] ) ;
tputc ( logfile , 10 ) ;
#endif
executefn ( fnloc ) ;
checkcommandexecutio () ;
incr ( sortciteptr ) ;
}
}
lab10 : ;
}
bstmacrocommand () { /* 10 */ if ( ( readseen ) )
{ tputs ( cnull , "illegal, macro command after read command" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ scanidentifier ( 125 , 37 ) ;
if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bstidprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a macro\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
macronameloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 13
, true ) ;
{ if ( ( hashfound ) )
{ alreadyseenfunctionp ( macronameloc ) ;
goto lab10 ;
}
}
fntype [ macronameloc ] = 1 ;
ilkinfo [ macronameloc ] = macronameloc ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 125 ) )
{ bstrightbraceprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 123 ) )
{ bstleftbraceprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
if ( ( buffer [ bufptr2 ] != 34 ) )
{ tputs ( cnull , "a macro definition must be \"-delimited" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
incr ( bufptr2 ) ;
if ( ( ! scan1 ( 34 ) ) )
{ tputs ( cnull , "no `\"' to end macro string literal" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
#ifdef TRACE
tputs ( logfile , "\"" ) ;
traceprtoken () ;
tputs ( logfile , "\"" ) ;
tputs ( logfile , " is a macro string\n" ) ;
#endif
macrodefloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) , 0 ,
true ) ;
fntype [ macrodefloc ] = 4 ;
ilkinfo [ macronameloc ] = macrodefloc ;
incr ( bufptr2 ) ;
{ if ( ( ! eatbstwhitespace () ) )
{ eatbstprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
}
{ if ( ( buffer [ bufptr2 ] != 125 ) )
{ bstrightbraceprint () ;
{ tputs ( cnull , "macro" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
}
incr ( bufptr2 ) ;
}
lab10 : ;
}
getbibcommandorentry () { /* 10 */ while ( ( ! scan1 ( 64 ) ) )
{ if ( ( ! inputln ( bibfile [ bibptr ] ) ) ) goto lab10 ;
incr ( biblinenum ) ;
bufptr2 = 0 ;
}
if ( ( buffer [ bufptr2 ] != 64 ) )
{ tputs ( cnull , "this can't happen---an \"" ) ;
tputc ( cnull , xchr [ 64 ] ) ;
tputs ( cnull , "\" disappeared" ) ;
biberrprint () ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
scanidentifier ( 123 , 40 ) ;
{ if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bibidprint () ;
{ tputs ( cnull , "an entry type" ) ;
biberrprint () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is an entry type or a database-file command\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
commandnum = ilkinfo [ strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1
) , 12 , false ) ] ;
if ( ( hashfound ) )
{ switch ( commandnum )
{ case 0 :
{ goto lab10 ;
}
break ;
case 1 :
{
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( buffer [ bufptr2 ] == 123 ) ) rightouterdelim = 125 ;
else if ( ( buffer [ bufptr2 ] == 40 ) ) rightouterdelim = 41 ;
else
{ biboneoftwoprint ( 123 , 40 ) ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
scanidentifier ( 61 , 61 ) ;
{ if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bibidprint () ;
{ tputs ( cnull , "a string name" ) ;
biberrprint () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a database-defined macro\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
macronameloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 )
, 13 , true ) ;
fntype [ macronameloc ] = 1 ;
ilkinfo [ macronameloc ] = macronameloc ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( buffer [ bufptr2 ] != 61 ) )
{ bibequalssignprint () ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
storefield = true ;
if ( ( buffer [ bufptr2 ] == 123 ) )
{ rightstrdelim = 125 ;
if ( ( ! scanbalancedbraces () ) ) goto lab10 ;
}
else if ( ( buffer [ bufptr2 ] == 34 ) )
{ rightstrdelim = 34 ;
if ( ( ! scanbalancedbraces () ) ) goto lab10 ;
}
else
{ biboneoftwoprint ( 123 , 34 ) ;
goto lab10 ;
}
ilkinfo [ macronameloc ] = fieldvalloc ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( buffer [ bufptr2 ] != rightouterdelim ) )
{ tputs ( cnull , "missing \"" ) ;
tputc ( cnull , xchr [ rightouterdelim ] ) ;
tputs ( cnull , "\" in string command" ) ;
biberrprint () ;
goto lab10 ;
}
incr ( bufptr2 ) ;
goto lab10 ;
}
break ;
default :
{ tputs ( cnull , "this can't happen---unknown database-file command" ) ;
biberrprint () ;
goto lab10 ;
}
break ;
} }
else
{ entrytypeloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ,
11 , false ) ;
if ( ( ( ! hashfound ) || ( fntype [ entrytypeloc ] != 2 ) ) )
typeexists = false ;
else typeexists = true ;
}
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( buffer [ bufptr2 ] == 123 ) ) rightouterdelim = 125 ;
else if ( ( buffer [ bufptr2 ] == 40 ) ) rightouterdelim = 41 ;
else
{ biboneoftwoprint ( 123 , 40 ) ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( rightouterdelim == 41 ) )
{ if ( ( scan1white ( 44 ) ) ) ;
}
else if ( ( scan2white ( 44 , 125 ) ) ) ;
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a database key\n" ) ;
#endif
tmpptr = bufptr1 ;
while ( ( tmpptr < bufptr2 ) )
{ exbuf [ tmpptr ] = buffer [ tmpptr ] ;
incr ( tmpptr ) ;
}
lowercase ( exbuf , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
lcciteloc = strlookup ( exbuf , bufptr1 , ( bufptr2 - bufptr1 ) , 10 ,
false ) ;
if ( ( ! hashfound ) ) storeentry = false ;
else
{ storeentry = true ;
if ( ( typelist [ ilkinfo [ lcciteloc ] ] != 0 ) )
{ tputs ( cnull , "database entry \"" ) ;
printtoken () ;
tputs ( cnull , "\" is a duplicate\n" ) ;
bibwarnprint () ;
}
if ( ( typeexists ) ) typelist [ ilkinfo [ lcciteloc ] ] = entrytypeloc
;
else
{ typelist [ ilkinfo [ lcciteloc ] ] = 5001 ;
tputs ( cnull , "the entry type for database entry \"" ) ;
printtoken () ;
tputs ( cnull , "\" is not style-file defined\n" ) ;
bibwarnprint () ;
}
}
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
while ( ( buffer [ bufptr2 ] != rightouterdelim ) )
{ if ( ( buffer [ bufptr2 ] != 44 ) )
{ biboneoftwoprint ( 44 , rightouterdelim ) ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
scanidentifier ( 61 , 61 ) ;
{ if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bibidprint () ;
{ tputs ( cnull , "a field name" ) ;
biberrprint () ;
goto lab10 ;
}
}
}
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a field name\n" ) ;
#endif
storefield = false ;
if ( ( storeentry ) )
{ lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
fieldnameloc = strlookup ( buffer , bufptr1 , ( bufptr2 - bufptr1 )
, 11 , false ) ;
if ( ( ( hashfound ) && ( fntype [ fieldnameloc ] == 5 ) ) )
storefield = true ;
}
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( buffer [ bufptr2 ] != 61 ) )
{ bibequalssignprint () ;
goto lab10 ;
}
incr ( bufptr2 ) ;
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
switch ( buffer [ bufptr2 ] )
{ case 123 :
{ rightstrdelim = 125 ;
if ( ( ! scanbalancedbraces () ) ) goto lab10 ;
}
break ;
case 34 :
{ rightstrdelim = 34 ;
if ( ( ! scanbalancedbraces () ) ) goto lab10 ;
}
break ;
case 48 :
case 49 :
case 50 :
case 51 :
case 52 :
case 53 :
case 54 :
case 55 :
case 56 :
case 57 :
{ if ( ( ! scannonneginteger () ) ) tputs ( cnull , "this can't happen---a digit disappeared\n" ) ;
if ( ( storefield ) )
{
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a number\n" ) ;
#endif
fieldvalloc = strlookup ( buffer , bufptr1 , ( bufptr2 -
bufptr1 ) , 0 , true ) ;
fntype [ fieldvalloc ] = 4 ;
}
}
break ;
default :
{ scanidentifier ( 44 , rightouterdelim ) ;
{ if ( ( ( scanresult == 3 ) || ( scanresult == 1 ) ) ) ;
else
{ bibidprint () ;
{ tputs ( cnull , "a string name" ) ;
biberrprint () ;
goto lab10 ;
}
}
}
if ( ( storefield ) )
{
#ifdef TRACE
traceprtoken () ;
tputs ( logfile , " is a macro\n" ) ;
#endif
lowercase ( buffer , bufptr1 , ( bufptr2 - bufptr1 ) ) ;
macronameloc = strlookup ( buffer , bufptr1 , ( bufptr2 -
bufptr1 ) , 13 , false ) ;
if ( ( ! hashfound ) )
{ tputs ( cnull , "the string name \"" ) ;
printtoken () ;
tputs ( cnull , "\" for database entry \"" ) ;
printpoolstr ( citelist [ ilkinfo [ lcciteloc ] ] ) ;
tputs ( cnull , "\" is undefined\n" ) ;
bibwarnprint () ;
storefield = false ;
}
else fieldvalloc = ilkinfo [ macronameloc ] ;
}
}
break ;
}
{ if ( ( ! eatbibwhitespace () ) )
{ eatbibprint () ;
goto lab10 ;
}
}
if ( ( storefield ) )
{ fieldptr = ilkinfo [ lcciteloc ] * numfields + ilkinfo [
fieldnameloc ] ;
if ( ( fieldinfo [ fieldptr ] != 0 ) )
{ tputs ( cnull , "I'm overwriting a field for database entry \"" ) ;
printpoolstr ( citelist [ ilkinfo [ lcciteloc ] ] ) ;
tputs ( cnull , "\"\n" ) ;
bibwarnprint () ;
}
fieldinfo [ fieldptr ] = fieldvalloc ;
}
}
incr ( bufptr2 ) ;
lab10 : ;
}
bstreadcommand () { /* 10 */ if ( ( readseen ) )
{ tputs ( cnull , "illegal, another read command" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
readseen = true ;
if ( ( ! entryseen ) )
{ tputs ( cnull , "illegal, read command before entry command" ) ;
bsterrprintandlookfo () ;
goto lab10 ;
}
readperformed = true ;
svptr1 = bufptr2 ;
svptr2 = last ;
tmpptr = svptr1 ;
while ( ( tmpptr < svptr2 ) )
{ svbuffer [ tmpptr ] = buffer [ tmpptr ] ;
incr ( tmpptr ) ;
}
if ( ( numfields * numcites > maxfields ) )
{ tputi ( cnull , numfields * numcites ) ;
tputs ( cnull , " " ) ;
{ tputs ( cnull , "Sorry, you've exceeded BibTeX's total number of fields " ) ;
tputi ( cnull , maxfields ) ;
tputc ( cnull , 10 ) ;
jumpout ( 1 ) ;
}
}
fieldptr = 0 ;
while ( ( fieldptr < numfields * numcites ) )
{ fieldinfo [ fieldptr ] = 0 ;
incr ( fieldptr ) ;
}
if ( ( numentints * numcites > maxentints ) )
{ tputi ( cnull , numentints * numcites ) ;
tputs ( cnull , " " ) ;
{ tputs ( cnull , "Sorry, you've exceeded BibTeX's total number of integer entry-variables " ) ;
tputi ( cnull , maxentints ) ;
tputc ( cnull , 10 ) ;
jumpout ( 1 ) ;
}
}
---cut here---