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