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) ;
  +    }
   
   
   /* ------------------------------------------------------------------------- */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to