don't fail if BR2_USE_UPDATES tries to update non-checkout
[buildroot.git] / package / busybox / busybox-1.6.0-test.patch
bloba4503a2ea5908cc1fb37e6abe8d42033ad8a91cc
1 --- busybox-1.6.0/coreutils/test.c 2007-06-01 13:48:34.000000000 +0200
2 +++ /tmp/busybox_1_6_stable/coreutils/test.c 2007-06-25 12:29:55.000000000 +0200
3 @@ -182,19 +182,23 @@
4 int bb_test(int argc, char **argv)
6 int res;
7 + char *arg0;
8 + bool _off;
10 - if (LONE_CHAR(argv[0], '[')) {
11 + arg0 = strrchr(argv[0], '/');
12 + if (!arg0++) arg0 = argv[0];
13 + if (arg0[0] == '[') {
14 --argc;
15 - if (NOT_LONE_CHAR(argv[argc], ']')) {
16 - bb_error_msg("missing ]");
17 - return 2;
18 - }
19 - argv[argc] = NULL;
20 - } else if (strcmp(argv[0], "[[") == 0) {
21 - --argc;
22 - if (strcmp(argv[argc], "]]")) {
23 - bb_error_msg("missing ]]");
24 - return 2;
25 + if (!arg0[1]) { /* "[" ? */
26 + if (NOT_LONE_CHAR(argv[argc], ']')) {
27 + bb_error_msg("missing ]");
28 + return 2;
29 + }
30 + } else { /* assuming "[[" */
31 + if (strcmp(argv[argc], "]]") != 0) {
32 + bb_error_msg("missing ]]");
33 + return 2;
34 + }
36 argv[argc] = NULL;
38 @@ -219,15 +223,19 @@
39 if (argc == 2)
40 return *argv[1] == '\0';
41 //assert(argc);
42 - if (LONE_CHAR(argv[1], '!')) {
43 - bool _off;
44 + /* remember if we saw argc==4 which wants *no* '!' test */
45 + _off = argc - 4;
46 + if (_off ?
47 + (LONE_CHAR(argv[1], '!'))
48 + : (argv[1][0] != '!' || argv[1][1] != '\0'))
49 + {
50 if (argc == 3)
51 return *argv[2] != '\0';
52 - _off = argc - 4;
54 t_lex(argv[2 + _off]);
55 if (t_wp_op && t_wp_op->op_type == BINOP) {
56 t_wp = &argv[1 + _off];
57 - return binop() == 0;
58 + return binop() == _off;
61 t_wp = &argv[1];
62 @@ -378,7 +386,7 @@
63 static int filstat(char *nm, enum token mode)
65 struct stat s;
66 - int i;
67 + int i = i; /* gcc 3.x thinks it can be used uninitialized */
69 if (mode == FILSYM) {
70 #ifdef S_IFLNK