]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/bash/bash50-001
Merge branch 'next'
[ipfire-2.x.git] / src / patches / bash / bash50-001
diff --git a/src/patches/bash/bash50-001 b/src/patches/bash/bash50-001
deleted file mode 100644 (file)
index 169317d..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  5.0
-Patch-ID:      bash50-001
-
-Bug-Reported-by:       axel@freakout.de
-Bug-Reference-ID:      <201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c     2018-11-27 13:20:16.000000000 -0500
---- bashline.c 2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-       }
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-       }
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+      {
-+      case '?':
-+      case '*':
-+        return (1);
-+ 
-+      case '[':
-+        open++;
-+        continue;
-+ 
-+      case ']':
-+        if (open)
-+          return (1);
-+        continue;
-+ 
-+      case '+':
-+      case '@':
-+      case '!':
-+        if (*string == '(')   /*)*/
-+          return (1);
-+        continue;
-+ 
-+      case '\\':
-+        if (*string == 0)
-+          return (0);           
-+      }
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+       account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;     /* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;     /* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c   2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c       2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
-          if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-          and it can be removed. */
-       return (*p != L('\0'));
-- #else
--      /* The pattern may not end with a backslash. */
--      if (*p++ == L('\0'))
--        return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h   2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h       2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */