Xref: utzoo comp.mail.mh:545 comp.sys.hp:2389 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!mcvax!hp4nl!esatst!neil From: neil@yc.estec.nl (Neil Dixon) Newsgroups: comp.mail.mh,comp.sys.hp Subject: Re: mh on hp 9000 series Message-ID: <1029@esatst.yc.estec.nl> Date: 10 Jul 89 07:34:04 GMT References: <1909@zaphod.axion.bt.co.uk> Reply-To: neil@esatst.UUCP (Neil Dixon) Organization: ESTEC/YCV, Noordwijk, The Netherlands Lines: 130 Chris, I seem to recall that the problem is a mismatch in the types produced by lex, and the types in lexstring.c. I can't remember the exact details but here's the patch. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # patch.neil # This archive created: Mon Jul 10 09:32:53 1989 export PATH; PATH=/bin:$PATH echo shar: extracting "'patch.neil'" '(2101 characters)' if test -f 'patch.neil' then echo shar: will not over-write existing file "'patch.neil'" else sed 's/^ X//' << \SHAR_EOF > 'patch.neil' XIndex: lexstring.c XVersion: -r1.1/-r1.3 X*** /tmp/md526..1 Mon Jul 10 09:32:26 1989 X--- /tmp/md526..2 Mon Jul 10 09:32:26 1989 X*************** X*** 6,12 **** X #define YYLMAX 256 X X struct yysvf { X! struct yywork *yystoff; X struct yysvf *yyother; X int *yystops; X }; X--- 6,12 ---- X #define YYLMAX 256 X X struct yysvf { X! int yystoff; X struct yysvf *yyother; X int *yystops; X }; X*************** X*** 24,30 **** X extern char yyextra[]; X X #ifdef LEXDEBUG X! static int debug = 0; X #endif LEXDEBUG X X lex_string( strptr, start_cond) X--- 24,30 ---- X extern char yyextra[]; X X #ifdef LEXDEBUG X! static int debug = 1; X #endif LEXDEBUG X X lex_string( strptr, start_cond) X*************** X*** 46,56 **** X if(debug) X fprintf(stderr,"state %d\n",state-yysvec-1); X # endif X! tran = state->yystoff; X if(tran == yycrank) X /* may not be any transitions */ X if (state->yyother == 0 || X! state->yyother->yystoff == yycrank) X break; X X ch = *cp++; X--- 46,56 ---- X if(debug) X fprintf(stderr,"state %d\n",state-yysvec-1); X # endif X! tran = &yycrank[state->yystoff]; X if(tran == yycrank) X /* may not be any transitions */ X if (state->yyother == 0 || X! state->yyother->yystoff == 0) X break; X X ch = *cp++; X*************** X*** 80,86 **** X X } else if(tran < yycrank) { X /* r < yycrank */ X! tran = yycrank+(yycrank-tran) + ch; X # ifdef LEXDEBUG X if (debug) X fprintf(stderr,"compressed state\n"); X--- 80,86 ---- X X } else if(tran < yycrank) { X /* r < yycrank */ X! tran = yycrank + (yycrank - tran) + ch; X # ifdef LEXDEBUG X if (debug) X fprintf(stderr,"compressed state\n"); X*************** X*** 111,117 **** X } X } X if ((state = state->yyother) && X! (tran = state->yystoff) != yycrank){ X # ifdef LEXDEBUG X if(debug) X fprintf(stderr,"fall back to state %d\n", X--- 111,117 ---- X } X } X if ((state = state->yyother) && X! (tran = &yycrank[state->yystoff]) != yycrank){ X # ifdef LEXDEBUG X if(debug) X fprintf(stderr,"fall back to state %d\n", SHAR_EOF if test 2101 -ne "`wc -c < 'patch.neil'`" then echo shar: error transmitting "'patch.neil'" '(should have been 2101 characters)' fi fi # end of overwriting check # End of shell archive exit 0 -- Neil Dixon UUCP:...!mcvax!esatst!neil, BITNET: NDIXON@ESTEC Thermal Control & Life Support Division (YC) European Space Research and Technology Centre (ESTEC), Noordwijk, The Netherlands.