Update of /cvsroot/flexml/flexml
In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5660
Modified Files:
flexml.pl
Log Message:
Make sure bufferstack and bufferliteral play well wrt -P option: I have 2 flexers in the same application
Index: flexml.pl
===================================================================
RCS file: /cvsroot/flexml/flexml/flexml.pl,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- flexml.pl 24 Aug 2006 20:22:20 -0000 1.56
+++ flexml.pl 27 Aug 2006 20:47:29 -0000 1.57
@@ -249,8 +249,8 @@
my ($pre) = @_; # pre should be a storage class spec like 'static' or 'extern'
print "/* FleXML-provided data. */\n";
print $pre . "int ${tagprefix}pcdata_ix;\n";
- print "extern char *bufferstack;\n";
- print "#define ${tagprefix}pcdata (bufferstack + ${tagprefix}pcdata_ix)\n";
+ print "extern char *${tagprefix}bufferstack;\n";
+ print "#define ${tagprefix}pcdata (${tagprefix}bufferstack + ${tagprefix}pcdata_ix)\n";
for (keys %atttype) {
if (m.($Nmtoken)[/]($Nmtoken).xo) {
@@ -260,7 +260,7 @@
print "AX_${tagprefix}$ctag{$1}_$catt{$2}\n";
}
else {
- print "(bufferstack + AX_${tagprefix}$ctag{$1}_$catt{$2})\n";
+ print "(${tagprefix}bufferstack + AX_${tagprefix}$ctag{$1}_$catt{$2})\n";
}
}
}
@@ -1288,7 +1288,7 @@
print " /* FleXML_init */\n";
for my $att (@default_attributes) {
- print " bufferliteral('\\0', &bnext, \"$att\");\n";
+ print " ${tagprefix}bufferliteral('\\0', &bnext, \"$att\");\n";
}
print " if(!${tagprefix}statenames) {${tagprefix}statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));\n";
for ('PROLOG','DOCTYPE','EPILOG','INCOMMENT','INPI','VALUE1','VALUE2','CDATA') {
@@ -1593,6 +1593,8 @@
s/element_context/${tagprefix}element_context/g;
s/parse_err_msg/${tagprefix}parse_err_msg/g;
s/rcs_flexml_skeleton/rcs_${tagprefix}flexml_skeleton/g;
+ s/bufferliteral/${tagprefix}bufferliteral/g;
+ s/bufferstack/${tagprefix}bufferstack/g;
print;
}
|