You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@locus.apache.org on 2000/06/09 16:23:08 UTC

cvs commit: embperl Embperl.xs embpcgi.bat embpcgi.pl embpcgi.test.bat embpcgi.test.pl embpexec.bat embpexec.pl ep.h epcmd2.c epcomp.c epdom.c epdom.h epparse.c eputil.c

richter     00/06/09 07:23:06

  Modified:    .        Tag: Embperl2 Embperl.xs embpcgi.bat embpcgi.pl
                        embpcgi.test.bat embpcgi.test.pl embpexec.bat
                        embpexec.pl ep.h epcmd2.c epcomp.c epdom.c epdom.h
                        epparse.c eputil.c
  Log:
  Embperl 2 - Correct linenumbers in error messages
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.26.2.19 +4 -4      embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.26.2.18
  retrieving revision 1.26.2.19
  diff -u -r1.26.2.18 -r1.26.2.19
  --- Embperl.xs	2000/06/07 09:22:52	1.26.2.18
  +++ Embperl.xs	2000/06/09 14:23:01	1.26.2.19
  @@ -697,14 +697,14 @@
   	    if (ppSV && *ppSV)
   		{
   		s = SV2String (*ppSV, l) ;
  -                xNode = Node_appendChild (pDomTree, ntypText, 0, s, l, xOldChild, 0) ;
  +                xNode = Node_appendChild (pDomTree, ntypText, 0, s, l, xOldChild, 0, 0) ;
   		if (pCurrReq -> nCurrEscMode & 2) 
                       Node_self (pDomTree, xNode) -> bFlags |= nflgEscUrl ;
                   }
   	    if ((i & 1) == 0)
  -                Node_appendChild (pDomTree, ntypCDATA, 0, "=", 1, xOldChild, 0) ;
  +                Node_appendChild (pDomTree, ntypCDATA, 0, "=", 1, xOldChild, 0, 0) ;
   	    else if (i < f)
  -                Node_appendChild (pDomTree, ntypCDATA, 0, "&", 1, xOldChild, 0) ;
  +                Node_appendChild (pDomTree, ntypCDATA, 0, "&", 1, xOldChild, 0, 0) ;
   	    }
       
   	}
  @@ -740,7 +740,7 @@
       STRLEN nText ;
       char * sT = SV2String (sText, nText) ;
       tDomTree * pDomTree = DomTree_self(xDomTree) ;
  -    Node_appendChild (pDomTree, nType, 0, sT, nText, xParent, 0) ;
  +    Node_appendChild (pDomTree, nType, 0, sT, nText, xParent, 0, 0) ;
   
   
   void
  
  
  
  1.7.2.7   +2 -2      embperl/embpcgi.bat
  
  Index: embpcgi.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.bat,v
  retrieving revision 1.7.2.6
  retrieving revision 1.7.2.7
  diff -u -r1.7.2.6 -r1.7.2.7
  --- embpcgi.bat	2000/06/07 09:47:26	1.7.2.6
  +++ embpcgi.bat	2000/06/09 14:23:01	1.7.2.7
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.7.2.7   +1 -1      embperl/embpcgi.pl
  
  Index: embpcgi.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.pl,v
  retrieving revision 1.7.2.6
  retrieving revision 1.7.2.7
  diff -u -r1.7.2.6 -r1.7.2.7
  --- embpcgi.pl	2000/06/07 09:47:26	1.7.2.6
  +++ embpcgi.pl	2000/06/09 14:23:01	1.7.2.7
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.5.2.7   +2 -2      embperl/embpcgi.test.bat
  
  Index: embpcgi.test.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.test.bat,v
  retrieving revision 1.5.2.6
  retrieving revision 1.5.2.7
  diff -u -r1.5.2.6 -r1.5.2.7
  --- embpcgi.test.bat	2000/06/07 09:47:27	1.5.2.6
  +++ embpcgi.test.bat	2000/06/09 14:23:01	1.5.2.7
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x -T %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x -T %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.7.2.7   +1 -1      embperl/embpcgi.test.pl
  
  Index: embpcgi.test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.test.pl,v
  retrieving revision 1.7.2.6
  retrieving revision 1.7.2.7
  diff -u -r1.7.2.6 -r1.7.2.7
  --- embpcgi.test.pl	2000/06/07 09:47:27	1.7.2.6
  +++ embpcgi.test.pl	2000/06/09 14:23:01	1.7.2.7
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.18.2.7  +2 -2      embperl/embpexec.bat
  
  Index: embpexec.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpexec.bat,v
  retrieving revision 1.18.2.6
  retrieving revision 1.18.2.7
  diff -u -r1.18.2.6 -r1.18.2.7
  --- embpexec.bat	2000/06/07 09:47:27	1.18.2.6
  +++ embpexec.bat	2000/06/09 14:23:01	1.18.2.7
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.18.2.7  +1 -1      embperl/embpexec.pl
  
  Index: embpexec.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpexec.pl,v
  retrieving revision 1.18.2.6
  retrieving revision 1.18.2.7
  diff -u -r1.18.2.6 -r1.18.2.7
  --- embpexec.pl	2000/06/07 09:47:27	1.18.2.6
  +++ embpexec.pl	2000/06/09 14:23:01	1.18.2.7
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.23.2.8  +3 -0      embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.23.2.7
  retrieving revision 1.23.2.8
  diff -u -r1.23.2.7 -r1.23.2.8
  --- ep.h	2000/06/05 07:22:54	1.23.2.7
  +++ ep.h	2000/06/09 14:23:01	1.23.2.8
  @@ -451,6 +451,9 @@
   
   int GetLineNo (/*i/o*/ register req * r) ;
   
  +int GetLineNoOf (/*i/o*/ register req * r,
  +               /*in*/  char * pPos) ;
  +
   #ifndef WIN32
   #define strnicmp strncasecmp
   #endif
  
  
  
  1.1.2.6   +14 -14    embperl/Attic/epcmd2.c
  
  Index: epcmd2.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcmd2.c,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- epcmd2.c	2000/06/07 09:22:56	1.1.2.5
  +++ epcmd2.c	2000/06/09 14:23:02	1.1.2.6
  @@ -226,17 +226,17 @@
                       {
                       char * s ;
   		    STRLEN     l ;
  -		    tNode xInputNode = Node_appendChild (pDomTree, ntypTag, 0, "input", 5, xNode, 0) ;
  -                    tNode xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "type", 4, xInputNode, 0) ;
  -                                       Node_appendChild (pDomTree, ntypAttrValue, 0, "hidden", 6, xAttr, 0) ;
  +		    tNode xInputNode = Node_appendChild (pDomTree, ntypTag, 0, "input", 5, xNode, 0, 0) ;
  +                    tNode xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "type", 4, xInputNode, 0, 0) ;
  +                                       Node_appendChild (pDomTree, ntypAttrValue, 0, "hidden", 6, xAttr, 0, 0) ;
   		    
  -                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "name", 4, xInputNode, 0) ;
  -                                       Node_appendChild (pDomTree, ntypAttrValue, 0, pKey, nKey, xAttr, 0) ;
  -                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "value", 5, xInputNode, 0) ;
  +                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "name", 4, xInputNode, 0, 0) ;
  +                                       Node_appendChild (pDomTree, ntypAttrValue, 0, pKey, nKey, xAttr, 0, 0) ;
  +                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "value", 5, xInputNode, 0, 0) ;
   
   		    s = SvPV (*ppsv, l) ;			  
   			  
  -			  Node_appendChild (pDomTree, ntypAttrValue, 0, s, l, xAttr, 0) ;
  +			  Node_appendChild (pDomTree, ntypAttrValue, 0, s, l, xAttr, 0, 0) ;
                       }
                   }
               }
  @@ -258,17 +258,17 @@
                       {
                       char * s ;
   		    STRLEN     l ;
  -		    tNode xInputNode = Node_appendChild (pDomTree, ntypTag, 0, "input", 5, xNode, 0) ;
  -                    tNode xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "type", 4, xInputNode, 0) ;
  -                                       Node_appendChild (pDomTree, ntypAttrValue, 0, "hidden", 6, xAttr, 0) ;
  +		    tNode xInputNode = Node_appendChild (pDomTree, ntypTag, 0, "input", 5, xNode, 0, 0) ;
  +                    tNode xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "type", 4, xInputNode, 0, 0) ;
  +                                       Node_appendChild (pDomTree, ntypAttrValue, 0, "hidden", 6, xAttr, 0, 0) ;
   		    
  -                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "name", 4, xInputNode, 0) ;
  -                                       Node_appendChild (pDomTree, ntypAttrValue, 0, pKey, nKey, xAttr, 0) ;
  -                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "value", 5, xInputNode, 0) ;
  +                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "name", 4, xInputNode, 0, 0) ;
  +                                       Node_appendChild (pDomTree, ntypAttrValue, 0, pKey, nKey, xAttr, 0, 0) ;
  +                          xAttr      = Node_appendChild (pDomTree, ntypAttr, 0, "value", 5, xInputNode, 0, 0) ;
   
   		    s = SvPV (psv, l) ;			  
   			  
  -			  Node_appendChild (pDomTree, ntypAttrValue, 0, s, l, xAttr, 0) ;
  +			  Node_appendChild (pDomTree, ntypAttrValue, 0, s, l, xAttr, 0, 0) ;
                       }
                   }
               }
  
  
  
  1.1.2.28  +24 -7     embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.1.2.27
  retrieving revision 1.1.2.28
  diff -u -r1.1.2.27 -r1.1.2.28
  --- epcomp.c	2000/06/07 09:22:56	1.1.2.27
  +++ epcomp.c	2000/06/09 14:23:02	1.1.2.28
  @@ -609,7 +609,10 @@
       char *          sStackValue = NULL ;
       int		    nStartCodeOffset = 0 ;               
       int		    nCheckpointCodeOffset = 0 ;               
  +    char *          sSourcefile ;
  +    int             nSourcefile ;
   
  +    Ndx2StringLen (pDomTree -> xFilename, sSourcefile, nSourcefile) ;
   
       if (pCurrReq -> bDebug & dbgParse)
   	lprintf (pCurrReq, "[%d]EPCOMP: #%d -------> parent=%d node=%d type=%d text=%s\n", pCurrReq -> nPid, pNode -> xNdx, Node_parentNode (pDomTree, pNode -> xNdx), pNode -> xNdx, pNode -> nType, Node_selfNodeName(pNode)) ; 
  @@ -668,8 +671,8 @@
   			if (pCurrReq -> bDebug & dbgParse)
   			    lprintf (pCurrReq, "[%d]EPCOMP: #%d CompileTimeCode:    %*.*s\n", pCurrReq -> nPid, pNode -> xNdx, l, l, pCode) ; 
   
  -			pSV = newSVpvf("package %s ; \n#line %d %s\n%*.*s",
  -				pCurrReq -> Buf.sEvalPackage, pCurrReq ->  Buf.nSourceline, pCurrReq ->  Buf.pFile -> sSourcefile, l,l, pCode) ;
  +			pSV = newSVpvf("package %s ; \n#line %d \"%s\"\n%*.*s",
  +				pCurrReq -> Buf.sEvalPackage, pNode ->  nLinenumber, sSourcefile, l,l, pCode) ;
   			if ((rc = EvalDirect (pCurrReq, pSV)) != ok)
   			    LogError (pCurrReq, rc) ;
   			SvREFCNT_dec(pSV);
  @@ -684,13 +687,27 @@
                       if (pCode)
                           {
   	                int l = ArrayGetSize (pCode) ;
  -			if (pCmd -> bPerlCodeRemove)
  -                            nStartCodeOffset = StringAdd (&pProg, " ", 1) ;
  +
                           if (l)
  +                            {
  +                            char buf [32] ;
  +
  +                            if (pNode ->  nLinenumber)
  +                                {
  +                                int l2 = sprintf (buf, "#line %d \"", pNode ->  nLinenumber) ;
  +
  +                                StringAdd (&pProg, buf, l2) ;
  +                                StringAdd (&pProg, sSourcefile, nSourcefile) ;
  +                                StringAdd (&pProg, "\"\n", 2) ;
  +                                }                        
  +                        
  +                            if (pCmd -> bPerlCodeRemove)
  +                                nStartCodeOffset = StringAdd (&pProg, " ", 1) ;
                               StringAdd (&pProg, pCode, l) ;
  -	                StringAdd (&pProg, "\n",  1) ; 
  -			if (pCurrReq -> bDebug & dbgParse)
  -			    lprintf (pCurrReq, "[%d]EPCOMP: #%d Code:    %*.*s\n", pCurrReq -> nPid, pNode -> xNdx, l, l, pCode) ; 
  +	                    StringAdd (&pProg, "\n",  1) ; 
  +			    if (pCurrReq -> bDebug & dbgParse)
  +			        lprintf (pCurrReq, "[%d]EPCOMP: #%d Code:    %*.*s\n", pCurrReq -> nPid, pNode -> xNdx, l, l, pCode) ; 
  +                            }
   	                }
                       break ;
                       }
  
  
  
  1.1.2.31  +14 -10    embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.1.2.30
  retrieving revision 1.1.2.31
  diff -u -r1.1.2.30 -r1.1.2.31
  --- epdom.c	2000/06/07 09:22:56	1.1.2.30
  +++ epdom.c	2000/06/09 14:23:02	1.1.2.31
  @@ -429,14 +429,14 @@
       n = ArrayAdd (&pDomTrees, 1) ;
       pDomTree = DomTree_self (n) ;
   
  +    memset (pDomTree, 0, sizeof (*pDomTree)) ;
  +    
       ArrayNew (&pDomTree -> pLookup, 128, sizeof (struct tNodeData *)) ; 
       ArrayAdd (&pDomTree -> pLookup, 1) ;
   
       ArrayNew (&pDomTree -> pOrder, 128, sizeof (tDomTreeOrder)) ; 
   
       pDomTree -> xNdx = n ;
  -    pDomTree -> pLookup[0] = NULL ;
  -    pDomTree -> pSV = NULL ;
   
       *pNewLookup = pDomTree  ;
   
  @@ -467,6 +467,7 @@
       pOrgDomTree = DomTree_self (xOrgDomTree) ; /* relookup in case it has moved */
       
       pDomTree -> xDocument = pOrgDomTree -> xDocument ;
  +    pDomTree -> xFilename = pOrgDomTree -> xFilename ;
   
       ArrayClone (pOrgDomTree, &pDomTree -> pLookup) ; 
       ArrayNew (&pDomTree -> pOrder, 128, sizeof (tDomTreeOrder)) ; 
  @@ -719,7 +720,8 @@
   tNodeData *  NodePad_appendChild   (/*in*/ tDomTree *   pDomTree,
   			            /*in*/ tNodePad *   pPad,
   			            /*in*/ tNodeType	nType,
  -			            /*in*/ tIndex       xText)
  +			            /*in*/ tIndex       xText,
  +                                    /*in*/ int          nLinenumber)
   
       {
       tNodeData * pNew = (struct tNodeData *)(((tUInt8 *)pPad) + pPad -> nFill) ;
  @@ -734,6 +736,7 @@
       pNew -> xChilds = 0 ;
       pNew -> bFlags  = nflgOK ;
       pNew -> nPadOffset = pPad -> nFill ;
  +    pNew -> nLinenumber = nLinenumber ;
   
       pPad -> numChilds++ ;
       pPad -> nFill += sizeof (struct tNodeData) ;
  @@ -812,7 +815,8 @@
   			/*in*/	const char *	 sText,
   			/*in*/	int		 nTextLen,
   			/*in*/	tNode 		 xParent,
  -			/*in*/	int		 nLevel)
  +			/*in*/	int		 nLevel,
  +			/*in*/	int		 nLinenumber)
   
       {
       struct tNodeData *	pParent = Node_self (pDomTree, xParent) ;
  @@ -843,7 +847,7 @@
   	pNew -> nType = nType ;
   	pNew -> xNdx	= xNdx ;
   	pNew -> nNodeOffset = ((tUInt8 *)pNew) - ((tUInt8 *)pParent) ;
  -	pParent -> numAttr++ ;
  +        pParent -> numAttr++ ;
   	pPad -> nFill += sizeof (struct tAttrData) ;
   	numAttr++ ;
   
  @@ -877,7 +881,7 @@
   	    pNew = ((tAttrData *)(pParent + 1)) + pParent -> numAttr - 1 ;
   	    if (pParent -> numAttr == 0 || pNew -> xName != xNoName)
   		{
  -		if (!(xParent = Node_appendChild (pDomTree, ntypAttr, 0, NULL, xNoName, xParent, nLevel)))
  +		if (!(xParent = Node_appendChild (pDomTree, ntypAttr, 0, NULL, xNoName, xParent, nLevel, nLinenumber)))
   		    return 0 ;
   		nLevel++ ;
   		pNew = (struct tAttrData * )pDomTree -> pLookup[xParent] ; 
  @@ -930,7 +934,7 @@
               ((tAttrData *)pParent) -> xValue = pChilds -> xNdx ;
               ((tAttrData *)pParent) -> bFlags |= aflgAttrChilds ;
               if (xOldValue)
  -                NodePad_appendChild (pDomTree, pChilds, ntypAttrValue, xOldValue) ;
  +                NodePad_appendChild (pDomTree, pChilds, ntypAttrValue, xOldValue, nLinenumber) ;
   
   	    }
   	else if (!pParent || !pParent -> xChilds)
  @@ -961,7 +965,7 @@
   		}
   	    }
   
  -        pNew = NodePad_appendChild (pDomTree, pChilds, nType, String2Ndx (sText, nTextLen)) ;
  +        pNew = NodePad_appendChild (pDomTree, pChilds, nType, String2Ndx (sText, nTextLen), nLinenumber) ;
   	
   	if (pCurrReq -> bDebug & dbgParse)
   	    lprintf (pCurrReq, "[%d]PARSE: AddNode: +%02d %*s Element parent=%d node=%d type=%d text=%*.*s (#%d)\n", pCurrReq -> nPid, nLevel, nLevel * 2, "", xParent, pNew -> xNdx, nType, nTextLen, nTextLen, sText, sText?String2Ndx (sText, nTextLen):-1) ; 
  @@ -1851,8 +1855,8 @@
   	DomTree_selfCheckpoint (pDomTree, pNode -> xNdx, pNewNode -> xNdx) ;
   	}
       
  -    xAttr = Node_appendChild (pDomTree, ntypAttr, 0, sAttrName, nAttrNameLen, pNewNode -> xNdx, 0) ;
  -    Node_appendChild (pDomTree, ntypAttrValue, 0, sNewValue, nNewValueLen, xAttr, 0) ;
  +    xAttr = Node_appendChild (pDomTree, ntypAttr, 0, sAttrName, nAttrNameLen, pNewNode -> xNdx, 0, pNewNode -> nLinenumber) ;
  +    Node_appendChild (pDomTree, ntypAttrValue, 0, sNewValue, nNewValueLen, xAttr, 0, pNewNode -> nLinenumber) ;
       return (tAttrData *)Node_self(pDomTree, xAttr) ;
       }
   
  
  
  
  1.1.2.24  +4 -1      embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.1.2.23
  retrieving revision 1.1.2.24
  diff -u -r1.1.2.23 -r1.1.2.24
  --- epdom.h	2000/06/07 09:22:56	1.1.2.23
  +++ epdom.h	2000/06/09 14:23:02	1.1.2.24
  @@ -64,6 +64,7 @@
       tStringIndex        nText ;
       tIndex		xChilds ;
       tUInt16		numAttr ;
  +    tUInt16             nLinenumber ;
       } ;
   
   typedef struct tNodeData tNodeData ;
  @@ -160,6 +161,7 @@
       tDomTreeOrder * pOrder ;	/* Order of dom tree after execution of code */
       tIndex	    xNdx ;	/* Index of Dom Tree */
       tNode	    xDocument ;	/* root document node */
  +    tIndex          xFilename ; /* name of source file */
       SV *	    pSV ;
       } ;
   
  @@ -233,7 +235,8 @@
   			/*in*/	const char *	 sText,
   			/*in*/	int		 nTextLen,
   			/*in*/	tNode 		 xParent,
  -			/*in*/	int		 nLevel) ;
  +			/*in*/	int		 nLevel,
  +			/*in*/	int		 nLinenumber) ;
   
   
   tNode Node_parentNode  (/*in*/ tDomTree *  pDomTree,
  
  
  
  1.1.2.22  +12 -11    embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.1.2.21
  retrieving revision 1.1.2.22
  diff -u -r1.1.2.21 -r1.1.2.22
  --- epparse.c	2000/06/06 10:25:29	1.1.2.21
  +++ epparse.c	2000/06/09 14:23:02	1.1.2.22
  @@ -525,7 +525,7 @@
                               r -> bEscInUrl = 0 ;
                               }
   
  -			if (!(xNewNode = Node_appendChild (pDomTree, nCDataType, 0, pCurrStart, pCurrTokenStart - pCurrStart, xParentNode, level)))
  +			if (!(xNewNode = Node_appendChild (pDomTree, nCDataType, 0, pCurrStart, pCurrTokenStart - pCurrStart, xParentNode, level, GetLineNoOf (r, pCurrStart))))
   			    return 1 ;
   			}
   		    pCurrStart = pCurrTokenStart ;
  @@ -549,7 +549,7 @@
                                   r -> bEscInUrl = 0 ;
                                   }
   
  -			    if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xParentNode, level+1)))
  +			    if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xParentNode, level+1, GetLineNoOf (r, pCurr))))
   				return 1 ;
   			    }
   			pCurr = pEndCurr + strlen (pToken -> sEndText) ;
  @@ -565,7 +565,7 @@
   			level-- ;
   			}
   		    /* add token as node */
  -                    if (!(xNewNode = Node_appendChild (pDomTree, pToken -> nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr), pNodeName, strlen (pNodeName), xParentNode, level)))
  +                    if (!(xNewNode = Node_appendChild (pDomTree, pToken -> nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr), pNodeName, strlen (pNodeName), xParentNode, level, GetLineNoOf (r, pCurrTokenStart))))
   			return rc ;
   		    
   		    if (pInside = pToken -> pInside)
  @@ -602,7 +602,7 @@
                                       r -> bEscInUrl = 0 ;
                                       }
   
  -				if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xNewNode, level+1)))
  +				if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xNewNode, level+1, GetLineNoOf (r, pCurr))))
   				    return 1 ;
   				}
   			    pCurr = pEndCurr + nSkip ;
  @@ -623,7 +623,7 @@
               {
   	    if (pCurr - pCurrStart && nCDataType)
   		{
  -		if (!(xNewNode = Node_appendChild (pDomTree, nCDataType, 0, pCurrStart, pCurr - pCurrStart, xParentNode, level)))
  +		if (!(xNewNode = Node_appendChild (pDomTree, nCDataType, 0, pCurrStart, pCurr - pCurrStart, xParentNode, level, GetLineNoOf (r, pCurrStart))))
   		    return 1 ;
   		}
               *ppCurr = pCurr ;
  @@ -633,7 +633,7 @@
   	    (*pCurr == *sEndText && strncmp (pCurr, sEndText, nEndText) == 0))
               {
   	    if ((pCurr - pCurrStart != 0 || nCDataType == ntypAttrValue) && nCDataType)
  -		if (!(xNewNode = Node_appendChild (pDomTree,  nCDataType, 0, pCurrStart, pCurr - pCurrStart, xParentNode, level)))
  +		if (!(xNewNode = Node_appendChild (pDomTree,  nCDataType, 0, pCurrStart, pCurr - pCurrStart, xParentNode, level, GetLineNoOf (r, pCurr))))
   		    return 1 ;
               pCurr += nEndText ;
               *ppCurr = pCurr ;
  @@ -644,7 +644,7 @@
           }
           
       if (nCDataType)
  -	if (!(xNewNode = Node_appendChild (pDomTree,  nCDataType, 0,pCurrStart, pCurr - pCurrStart, xParentNode, level)))
  +	if (!(xNewNode = Node_appendChild (pDomTree,  nCDataType, 0,pCurrStart, pCurr - pCurrStart, xParentNode, level, GetLineNoOf (r, pCurrStart))))
   	    return 1 ;
   
       *ppCurr = pCurr ;
  @@ -676,17 +676,18 @@
       if (!(r -> xCurrDomTree  = DomTree_new (&pDomTree)))
   	return 1 ;
   
  +    pDomTree -> xFilename = String2Ndx (r -> Buf.pFile -> sSourcefile, strlen (r -> Buf.pFile -> sSourcefile)) ;
       
  -    if (!(xDocNode = Node_appendChild (pDomTree,  ntypTag, 0, "attr", 3, 0, 0)))
  +    if (!(xDocNode = Node_appendChild (pDomTree,  ntypTag, 0, "attr", 3, 0, 0, 0)))
   	return 1 ;
   
  -    if (!(xDocNode = Node_appendChild (pDomTree,  r -> bSubReq?ntypDocumentFraq:ntypDocument, 0, "doc", 3, 0, 0)))
  +    if (!(xDocNode = Node_appendChild (pDomTree,  r -> bSubReq?ntypDocumentFraq:ntypDocument, 0, "doc", 3, 0, 0, 0)))
   	return 1 ;
       
  -    if (!(xNode = Node_appendChild (pDomTree,  ntypAttr, 0, NULL, xDomTreeAttr, xDocNode, 0)))
  +    if (!(xNode = Node_appendChild (pDomTree,  ntypAttr, 0, NULL, xDomTreeAttr, xDocNode, 0, 0)))
   	return 1 ;
   
  -    if (!(xNode = Node_appendChild (pDomTree,  ntypAttrValue, 0, NULL, r -> xCurrDomTree, xNode, 0)))
  +    if (!(xNode = Node_appendChild (pDomTree,  ntypAttrValue, 0, NULL, r -> xCurrDomTree, xNode, 0, 0)))
   	return 1 ;
   
       pDomTree -> xDocument = xDocNode ;
  
  
  
  1.14.2.7  +11 -2     embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.14.2.6
  retrieving revision 1.14.2.7
  diff -u -r1.14.2.6 -r1.14.2.7
  --- eputil.c	2000/06/05 10:06:56	1.14.2.6
  +++ eputil.c	2000/06/09 14:23:02	1.14.2.7
  @@ -625,10 +625,11 @@
   /* ------------------------------------------------------------------------- */
   
   
  -int GetLineNo (/*i/o*/ register req * r)
  +int GetLineNoOf (/*i/o*/ register req * r,
  +               /*in*/  char * pPos)
   
       {
  -    char * pPos = r -> Buf.pCurrPos ;
  +
       
       if (r -> Buf.pSourcelinePos == NULL)
   	if (r -> Buf.pFile == NULL)
  @@ -668,6 +669,14 @@
       return r -> Buf.nSourceline ;
       }
   
  +
  +int GetLineNo (/*i/o*/ register req * r)
  +
  +    {
  +    char * pPos = r -> Buf.pCurrPos ;
  +    
  +    return GetLineNoOf (r, pPos) ;
  +    }
   
   
   /* ------------------------------------------------------------------------- */