- add post 1.6.0 fix
This commit is contained in:
parent
ba2e7e02d1
commit
489a777527
70
package/busybox/busybox-1.6.0-test.patch
Normal file
70
package/busybox/busybox-1.6.0-test.patch
Normal file
@ -0,0 +1,70 @@
|
||||
--- busybox-1.6.0/coreutils/test.c 2007-06-01 13:48:34.000000000 +0200
|
||||
+++ /tmp/busybox_1_6_stable/coreutils/test.c 2007-06-25 12:29:55.000000000 +0200
|
||||
@@ -182,19 +182,23 @@
|
||||
int bb_test(int argc, char **argv)
|
||||
{
|
||||
int res;
|
||||
+ char *arg0;
|
||||
+ bool _off;
|
||||
|
||||
- if (LONE_CHAR(argv[0], '[')) {
|
||||
+ arg0 = strrchr(argv[0], '/');
|
||||
+ if (!arg0++) arg0 = argv[0];
|
||||
+ if (arg0[0] == '[') {
|
||||
--argc;
|
||||
- if (NOT_LONE_CHAR(argv[argc], ']')) {
|
||||
- bb_error_msg("missing ]");
|
||||
- return 2;
|
||||
- }
|
||||
- argv[argc] = NULL;
|
||||
- } else if (strcmp(argv[0], "[[") == 0) {
|
||||
- --argc;
|
||||
- if (strcmp(argv[argc], "]]")) {
|
||||
- bb_error_msg("missing ]]");
|
||||
- return 2;
|
||||
+ if (!arg0[1]) { /* "[" ? */
|
||||
+ if (NOT_LONE_CHAR(argv[argc], ']')) {
|
||||
+ bb_error_msg("missing ]");
|
||||
+ return 2;
|
||||
+ }
|
||||
+ } else { /* assuming "[[" */
|
||||
+ if (strcmp(argv[argc], "]]") != 0) {
|
||||
+ bb_error_msg("missing ]]");
|
||||
+ return 2;
|
||||
+ }
|
||||
}
|
||||
argv[argc] = NULL;
|
||||
}
|
||||
@@ -219,15 +223,19 @@
|
||||
if (argc == 2)
|
||||
return *argv[1] == '\0';
|
||||
//assert(argc);
|
||||
- if (LONE_CHAR(argv[1], '!')) {
|
||||
- bool _off;
|
||||
+ /* remember if we saw argc==4 which wants *no* '!' test */
|
||||
+ _off = argc - 4;
|
||||
+ if (_off ?
|
||||
+ (LONE_CHAR(argv[1], '!'))
|
||||
+ : (argv[1][0] != '!' || argv[1][1] != '\0'))
|
||||
+ {
|
||||
if (argc == 3)
|
||||
return *argv[2] != '\0';
|
||||
- _off = argc - 4;
|
||||
+
|
||||
t_lex(argv[2 + _off]);
|
||||
if (t_wp_op && t_wp_op->op_type == BINOP) {
|
||||
t_wp = &argv[1 + _off];
|
||||
- return binop() == 0;
|
||||
+ return binop() == _off;
|
||||
}
|
||||
}
|
||||
t_wp = &argv[1];
|
||||
@@ -378,7 +386,7 @@
|
||||
static int filstat(char *nm, enum token mode)
|
||||
{
|
||||
struct stat s;
|
||||
- int i;
|
||||
+ int i = i; /* gcc 3.x thinks it can be used uninitialized */
|
||||
|
||||
if (mode == FILSYM) {
|
||||
#ifdef S_IFLNK
|
Loading…
Reference in New Issue
Block a user