Update of /cvsroot/simspark/simspark/spark/utility/sfsexp
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv14475
Modified Files:
parser.c
Log Message:
(merged from RSGEDIT_FILEREF)
- maintain a line counter in the continuation struct that is incremented whenever a new line is parsed
Index: parser.c
===================================================================
RCS file: /cvsroot/simspark/simspark/spark/utility/sfsexp/parser.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** parser.c 19 Dec 2005 19:13:30 -0000 1.1
--- parser.c 17 May 2007 17:43:17 -0000 1.2
***************
*** 330,333 ****
--- 330,334 ----
cc->qdepth = 0;
cc->squoted = 0;
+ cc->line = 1;
return cc;
***************
*** 458,461 ****
--- 459,464 ----
t = s;
cc->sbuffer = str;
+
+ cc->line = 1;
}
***************
*** 487,490 ****
--- 490,497 ----
/* space,tab,CR,LF considered white space */
case '\n':
+ cc->line++;
+ t++;
+ break;
+
case ' ':
case '\t':
***************
*** 567,571 ****
sx->next = NULL;
sx->list = NULL;
!
if (stack->height < 1)
{
--- 574,579 ----
sx->next = NULL;
sx->list = NULL;
! sx->line = cc->line;
!
if (stack->height < 1)
{
***************
*** 707,711 ****
sx->val_allocated = val_allocated;
sx->val_used = val_used;
! sx->next = NULL;
if (squoted != 0)
sx->aty = SEXP_SQUOTE;
--- 715,721 ----
sx->val_allocated = val_allocated;
sx->val_used = val_used;
! sx->next = NULL;
! sx->line = cc->line;
!
if (squoted != 0)
sx->aty = SEXP_SQUOTE;
***************
*** 837,841 ****
sx->val_used = val_used;
sx->val_allocated = val_allocated;
! sx->next = NULL;
if (squoted == 1) {
--- 847,852 ----
sx->val_used = val_used;
sx->val_allocated = val_allocated;
! sx->next = NULL;
! sx->line = cc->line;
if (squoted == 1) {
***************
*** 993,996 ****
--- 1004,1008 ----
sx->next = NULL;
sx->aty = SEXP_SQUOTE;
+ sx->line = cc->line;
val = (char *)malloc(sizeof(char)*sexp_val_start_size);
***************
*** 1060,1063 ****
--- 1072,1076 ----
case 11:
if (t[0] == '\n') {
+ cc->line++;
state = 1;
}
***************
*** 1161,1164 ****
--- 1174,1178 ----
sx->next = NULL;
sx->aty = SEXP_BINARY;
+ sx->line = cc->line;
bindata = NULL;
|