|
From: Robin B. <da...@us...> - 2001-08-17 18:09:14
|
Update of /cvsroot/perl-css/CSS-SAC
In directory usw-pr-cvs1:/tmp/cvs-serv23070
Modified Files:
SAC.pm
Log Message:
a few fixes for endless loops
Index: SAC.pm
===================================================================
RCS file: /cvsroot/perl-css/CSS-SAC/SAC.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- SAC.pm 2001/08/17 17:50:15 1.2
+++ SAC.pm 2001/08/17 18:09:11 1.3
@@ -2,6 +2,7 @@
###
# CSS::SAC - a SAC implementation for Perl
# Robin Berjon <ro...@kn...>
+# 17/08/2001 - bugfixes...
# 23/04/2001 - more enhancements
# 19/03/2001 - second version, various suggestions and enhancements
# 24/02/2001 - prototype mark I of the new model
@@ -19,7 +20,7 @@
%DIM_MAP
%FUNC_MAP
);
-$VERSION = '0.03';
+$VERSION = '0.04';
use CSS::SAC::ConditionFactory qw();
use CSS::SAC::SelectorFactory qw();
@@ -638,12 +639,11 @@
$sac->[_dh_]->comment($1) if $sac->[_dh_can_]->{comment};
}
else {
- $sac->[_eh_]->warning('Unterminated comment');
- if ($$css =~ s/[^;]*;//) {
- $sac->[_eh_]->warning('Unknown token in import rule');
+ if ($$css =~ s/.*\*\///) {
+ $sac->[_eh_]->warning('Strange comment token, guessing the parse');
}
else {
- $sac->[_eh_]->fatal_error('Unknown token in import rule');
+ $sac->[_eh_]->fatal_error('Unterminated comment: unrecoverable');
}
}
}
@@ -688,14 +688,11 @@
# error
else {
# something wrong must have happened
- $$css =~ s/^[^{]*//;
- $sac->[_eh_]->warning('Unknown token in selector list');
- last;
- if ($$css =~ s/[^;]*;//) {
- $sac->[_eh_]->warning('Unknown token in import rule');
+ if ($$css =~ s/[^{]*//) {
+ $sac->[_eh_]->warning('Unknown token in selector list');
}
else {
- $sac->[_eh_]->fatal_error('Unknown token in import rule');
+ $sac->[_eh_]->fatal_error('Unknown token in selector list');
}
}
}
@@ -964,14 +961,11 @@
# an error
else {
- $$css =~ s/^.*?(,|{)/$1/;
- $sac->[_eh_]->warning('Unknown token in simple selector');
- last;
- if ($$css =~ s/[^;]*;//) {
- $sac->[_eh_]->warning('Unknown token in import rule');
+ if (s/^.*?(,|{)/$1/) {
+ $sac->[_eh_]->warning('Unknown token in simple selector');
}
else {
- $sac->[_eh_]->fatal_error('Unknown token in import rule');
+ $sac->[_eh_]->fatal_error('Unknown token in simple selector');
}
}
}
@@ -1140,14 +1134,14 @@
# the value
my $lu = $sac->parse_property_value($css);
if (!@$lu) {
-print "pvcss: $$css\n";
- $$css =~ s/^.*?;?\s*//;
- $sac->[_eh_]->warning('Unknown token in property value');
+#print "pvcss: $$css\n";
+# $$css =~ s/^.*?;?\s*//;
+# $sac->[_eh_]->warning('Unknown token in property value');
if ($$css =~ s/[^;]*;//) {
- $sac->[_eh_]->warning('Unknown token in import rule');
+ $sac->[_eh_]->warning('Unknown token in style declaration');
}
else {
- $sac->[_eh_]->fatal_error('Unknown token in import rule');
+ $sac->[_eh_]->fatal_error('Unknown token in style declaration');
}
next;
}
|