From f489fd9111ba8ec85a9a114f04ac95bf4330282c Mon Sep 17 00:00:00 2001 From: abs Date: Thu, 21 Sep 2000 10:28:44 +0000 Subject: pkglint: lintpkgsrc - fix :S modifier behaviour - broken in last commit --- pkgtools/pkglint/Makefile | 4 ++-- pkgtools/pkglint/files/lintpkgsrc.pl | 16 +++++----------- 2 files changed, 7 insertions(+), 13 deletions(-) (limited to 'pkgtools') diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile index 0deb3e98121..1a468e044e5 100644 --- a/pkgtools/pkglint/Makefile +++ b/pkgtools/pkglint/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.60 2000/09/20 06:39:27 abs Exp $ +# $NetBSD: Makefile,v 1.61 2000/09/21 10:28:44 abs Exp $ # -DISTNAME= pkglint-2.22 +DISTNAME= pkglint-2.23 CATEGORIES= pkgtools devel MASTER_SITES= # empty DISTFILES= # empty diff --git a/pkgtools/pkglint/files/lintpkgsrc.pl b/pkgtools/pkglint/files/lintpkgsrc.pl index d70a9224abc..0f6a8648ffc 100755 --- a/pkgtools/pkglint/files/lintpkgsrc.pl +++ b/pkgtools/pkglint/files/lintpkgsrc.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl -# $NetBSD: lintpkgsrc.pl,v 1.31 2000/09/20 06:39:28 abs Exp $ +# $NetBSD: lintpkgsrc.pl,v 1.32 2000/09/21 10:28:44 abs Exp $ # Written by David Brownlee . # @@ -636,16 +636,10 @@ sub parse_makefile_vars my($how, $from, $to, $global) = ($1, $2, $3, $4); debug("substitute: $subvar, $how, $from, $to, $global\n"); - if ($how eq 'S') - { - if (($_ = index($result, $from)) != -1) - { substr($result, $_, length($from), $to); } - } - else - { - $to =~ s/\\(\d)/\$$1/g; # Change \1 etc to $1 - eval "\$result =~ s/$from/$to/$global"; - } + if ($how eq 'S') # Limited substitution - keep ^ and $ + { $from =~ s/[?.{}\]\[*+]/\$1/g; } + $to =~ s/\\(\d)/\$$1/g; # Change \1 etc to $1 + eval "\$result =~ s/$from/$to/$global"; } $vars{$key} = $left . $result . $right; $loop = 1; -- cgit v1.2.3