pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/pkgtools/pkglint/files - Added some more state transit...
details: https://anonhg.NetBSD.org/pkgsrc/rev/1ceff4da74b5
branches: trunk
changeset: 506506:1ceff4da74b5
user: rillig <rillig%pkgsrc.org@localhost>
date: Tue Jan 17 23:01:17 2006 +0000
description:
- Added some more state transitions and warnings to the shellword parser.
It has come to the point where almost any further improvement means to
adopt a real recursive parser.
diffstat:
pkgtools/pkglint/files/pkglint.pl | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
diffs (48 lines):
diff -r 0b8d37641756 -r 1ceff4da74b5 pkgtools/pkglint/files/pkglint.pl
--- a/pkgtools/pkglint/files/pkglint.pl Tue Jan 17 22:50:36 2006 +0000
+++ b/pkgtools/pkglint/files/pkglint.pl Tue Jan 17 23:01:17 2006 +0000
@@ -1,5 +1,5 @@
#! @PERL@
-# $NetBSD: pkglint.pl,v 1.476 2006/01/16 01:37:39 rillig Exp $
+# $NetBSD: pkglint.pl,v 1.477 2006/01/17 23:01:17 rillig Exp $
#
# pkglint - static analyzer and checker for pkgsrc packages
@@ -2174,6 +2174,13 @@
if ($rest =~ s/^\`//) {
$state = SWST_PLAIN;
} elsif ($rest =~ s/^[^\\\"\'\`\$]+//) {
+ } elsif ($rest =~ s/^'//) {
+ $state = SWST_BACKT_SQUOT;
+ } elsif ($rest =~ s/^"//) {
+ $state = SWST_BACKT_DQUOT;
+ } elsif ($rest =~ s/^\\[\\\$\`]//) {
+ } elsif ($rest =~ s/^\\//) {
+ $line->log_warning("Backslashes should be doubled inside backticks.");
} elsif ($rest =~ s/^\$\$\{([0-9A-Za-z_]+)\}//
|| $rest =~ s/^\$\$([0-9A-Za-z_]+)//) {
my ($shvarname) = ($1);
@@ -2185,6 +2192,23 @@
last;
}
+ } elsif ($state == SWST_BACKT_SQUOT) {
+ if ($rest =~ s/^'//) {
+ $state = SWST_BACKT;
+ } elsif ($rest =~ s/^\\[\\\`\$]//) {
+ } elsif ($rest =~ s/^[^\\]+//) {
+ } else {
+ last;
+ }
+
+ } elsif ($state == SWST_BACKT_DQUOT) {
+ if ($rest =~ s/^"//) {
+ $state = SWST_BACKT;
+ } elsif ($rest =~ s/^[^\\\"\'\`\$]+//) {
+ } else {
+ last;
+ }
+
} else {
last;
}
Home |
Main Index |
Thread Index |
Old Index