[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] '.' causes wildcard expansion
From: |
Robert Mabee |
Subject: |
[PATCH] '.' causes wildcard expansion |
Date: |
Mon, 11 Jun 2012 02:56:20 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
Wildcard expansion in device name activates my floppy drive (PC BIOS).
I noticed that
echo .
also did so in 1.99, though there should be no expansion. Current
source fixes that case but
echo (.
still runs the floppy. split_path shouldn't treat . as a wildcard.
I believe the regcomp call in make_regex is incorrect because the
constant used is
intended only for a lower-level interface. The defines are more than a
little confusing.
=== modified file 'ChangeLog'
--- old/ChangeLog 2012-06-09 17:58:38 +0000
+++ new/ChangeLog 2012-06-11 06:32:58 +0000
@@ -1,3 +1,8 @@
+2012-06-11 Bob Mabee <address@hidden>
+
+ * commands/wildcard.c (split_path): . is not a wildcard.
+ * (make_regex): RE_SYNTAX_GNU_AWK is not valid for regcomp cflags.
+
2012-06-09 Vladimir Serbinenko <address@hidden>
* tests/grub_script_expansion.in: Explicitly tell grep that we handle
=== modified file 'grub-core/commands/wildcard.c'
--- old/grub-core/commands/wildcard.c 2012-06-08 20:54:21 +0000
+++ new/grub-core/commands/wildcard.c 2012-06-10 23:16:02 +0000
@@ -153,7 +153,7 @@
buffer[i] = '\0';
grub_dprintf ("expand", "Regexp is %s\n", buffer);
- if (regcomp (regexp, buffer, RE_SYNTAX_GNU_AWK))
+ if (regcomp (regexp, buffer, REG_EXTENDED))
{
grub_free (buffer);
return 1;
@@ -181,7 +181,7 @@
if (ch == '\\' && end[1])
end++;
- else if (isregexop (ch))
+ else if (ch == '*') /* only wildcard currently implemented */
regex = 1;
else if (ch == '/' && ! regex)
- [PATCH] '.' causes wildcard expansion,
Robert Mabee <=