diff --git a/ChangeLog b/ChangeLog index b72f24c4..84ba7a28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-06-12 Paul Smith + + * read.c (parse_file_seq): Move the check for empty members out of + the loop so we can go to the next member properly. + Another fix for Savannah bug #30612. + + * config.h-vms.template: Newer versions of VMS have strncasecmp() + Patch provided by: Hartmut Becker + 2011-05-07 Paul Smith * expand.c (variable_append): Add a LOCAL argument to track diff --git a/config.h-vms.template b/config.h-vms.template index 337e2345..cf9d5e41 100644 --- a/config.h-vms.template +++ b/config.h-vms.template @@ -110,6 +110,11 @@ this program. If not, see . */ /* Define to 1 if you have the strcoll function and it is properly defined. */ /* #undef HAVE_STRCOLL */ +/* Define to 1 if you have the strncasecmp' function. */ +#if __CRTL_VER >= 70000000 +#define HAVE_STRNCASECMP 1 +#endif + /* Define to 1 if your struct stat has st_rdev. */ /* #undef HAVE_ST_RDEV */ diff --git a/read.c b/read.c index c87d4a7f..b0120942 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/ChangeLog b/tests/ChangeLog index 629242c0..d800b499 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2011-06-12 Paul Smith + + * scripts/features/archives: Check archives with whitespace at the + beginning, end, and extra in the middle. + Another test for Savannah bug #30612. + 2011-05-07 Paul Smith * scripts/variables/private: Ensure we skip private variables when diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives index 00aa1af6..3fe46a03 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.