Improve variable parsing when generating MINFO
Before this change, variables for which a '=' appeared in the assignment would
be parsed as the entire string up until the final '='. For example:
BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
would result in the variable name "BUILD_CMD=shlib_target". This doesn't
appear to harm the current generation of MINFO, but creates problems for other
Makefile-related work I'm attempting.
Change-Id: I1f3a606d67fd5464bb459e8f36c23b3e967b77e1
Signed-off-by: Mike Bland <mbland@acm.org>
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/util/files.pl b/util/files.pl
index b15407f..d5c78ba 100755
--- a/util/files.pl
+++ b/util/files.pl
@@ -4,7 +4,7 @@
# It is basically a list of all variables from the passed makefile
#
-while ($ARGV[0] =~ /^(\S+)\s*=(.*)$/)
+while ($ARGV[0] =~ /^([^\s=]+)\s*=\s*(.*)$/)
{
$sym{$1} = $2;
shift;
@@ -15,7 +15,7 @@
{
chop;
s/#.*//;
- if (/^(\S+)\s*=\s*(.*)$/)
+ if (/^([^\s=]+)\s*=\s*(.*)$/)
{
$o="";
($s,$b)=($1,$2);
diff --git a/util/mkfiles.pl b/util/mkfiles.pl
index 7dff4a6..42db466 100755
--- a/util/mkfiles.pl
+++ b/util/mkfiles.pl
@@ -110,7 +110,7 @@
{
chop;
s/#.*//;
- if (/^(\S+)\s*=\s*(.*)$/)
+ if (/^([^\s=]+)\s*=\s*(.*)$/)
{
$o="";
($s,$b)=($1,$2);