Fix another error related to whitespace handling in archives.

Newer version of VMS support strncasecmp() so update the config.h.
This commit is contained in:
Paul Smith 2011-06-12 16:22:04 +00:00
parent f15efca811
commit b06b8c64a2
5 changed files with 30 additions and 5 deletions

View file

@ -1,3 +1,12 @@
2011-06-12 Paul Smith <psmith@gnu.org>
* 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 <becker.ismaning@freenet.de>
2011-05-07 Paul Smith <psmith@gnu.org>
* expand.c (variable_append): Add a LOCAL argument to track

View file

@ -110,6 +110,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* 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 */

10
read.c
View file

@ -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;
}
}

View file

@ -1,3 +1,9 @@
2011-06-12 Paul Smith <psmith@gnu.org>
* 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 <psmith@gnu.org>
* scripts/variables/private: Ensure we skip private variables when

View file

@ -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.