Blob Blame History Raw
From b06b8c64a29a5ba3a8daecd829fa2f98d42cb285 Mon Sep 17 00:00:00 2001
From: Paul Smith <psmith@gnu.org>
Date: Sun, 12 Jun 2011 16:22:04 +0000
Subject: Fix another error related to whitespace handling in archives.

Note that this is a stripped version of the patch--ChangeLogs and some
VMS stuff were kept out.
---
diff --git a/read.c b/read.c
index c87d4a7..b012094 100644
--- a/read.c
+++ b/read.c
@@ -3044,16 +3044,16 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
                       nlen -= (n + 1) - tp;
                       tp = n + 1;
 
-                      /* If we have just "lib(", part of something like
-                         "lib( a b)", go to the next item.  */
-                      if (! nlen)
-                        continue;
-
                       /* We can stop looking now.  */
                       break;
                     }
                 }
               while (*e != '\0');
+
+              /* If we have just "lib(", part of something like "lib( a b)",
+                 go to the next item.  */
+              if (! nlen)
+                continue;
             }
         }
 
diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives
index 00aa1af..3fe46a0 100644
--- a/tests/scripts/features/archives
+++ b/tests/scripts/features/archives
@@ -36,6 +36,11 @@ utouch(-50, 'a2.o');
 run_make_test('all: libxx.a(a3.o *.o)', '',
               "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
 
+# Check whitespace handling
+utouch(-40, 'a2.o');
+run_make_test('all: libxx.a(  a3.o    *.o     )', '',
+              "ar rv libxx.a a2.o\nr - a2.o\n");
+
 rmfiles(qw(a1.o a2.o a3.o libxx.a));
 
 # This tells the test driver that the perl test script executed properly.
--
cgit v0.9.0.2