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---