randomconfig fixes
No binary (build failed)
—
(log yok)
| @@ -6,8 +6,6 @@ | |
| * | |
| * Licensed under GPLv2, see file License in this tarball for details. | |
| */ | |
| - | |
| - | #include <assert.h> |
| #include "busybox.h" | |
| #if ENABLE_BUILD_LIBBUSYBOX | |
| @@ -387,7 +387,7 @@ IF_DESKTOP(long long) int FAST_FUNC unpack_unxz(unpack_info_t *info UNUSED_PARAM | |
| int unxz_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |
| int unxz_main(int argc UNUSED_PARAM, char **argv) | |
| { | |
| - | int opts = getopt32(argv, "cfvdt"); |
| + | IF_XZ(int opts =) getopt32(argv, "cfvdt"); |
| # if ENABLE_XZ | |
| /* xz without -d or -t? */ | |
| if (applet_name[2] == '\0' && !(opts & (OPT_DECOMPRESS|OPT_TEST))) | |
| @@ -38,6 +38,7 @@ INSERT | |
| lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o | |
| lib-$(CONFIG_BUNZIP2) += decompress_bunzip2.o | |
| lib-$(CONFIG_UNLZMA) += decompress_unlzma.o | |
| + | lib-$(CONFIG_UNXZ) += decompress_unxz.o |
| lib-$(CONFIG_CPIO) += get_header_cpio.o | |
| lib-$(CONFIG_DPKG) += $(DPKG_FILES) | |
| lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES) | |
| @@ -195,7 +195,11 @@ void lbb_prepare(const char *applet | |
| #if ENABLE_FEATURE_INDIVIDUAL | |
| /* Redundant for busybox (run_applet_and_exit covers that case) | |
| * but needed for "individual applet" mode */ | |
| - | if (argv[1] && !argv[2] && strcmp(argv[1], "--help") == 0) { |
| + | if (argv[1] |
| + | && !argv[2] |
| + | && strcmp(argv[1], "--help") == 0 |
| + | && strncmp(applet, "busybox", 7) != 0 |
| + | ) { |
| /* Special case. POSIX says "test --help" | |
| * should be no different from e.g. "test --foo". */ | |
| if (!ENABLE_TEST || strcmp(applet_name, "test") != 0) | |
| @@ -117,6 +117,10 @@ | |
| * and therefore waitpid will return the same result as last time) | |
| */ | |
| #define ENABLE_HUSH_FAST 0 | |
| + | /* TODO: implement simplified code for users which do not need ${var%...} ops |
| + | * So far ${var%...} ops are always enabled: |
| + | */ |
| + | #define ENABLE_HUSH_DOLLAR_OPS 1 |
| #if BUILD_AS_NOMMU | |
| @@ -2681,7 +2685,7 @@ static NOINLINE int expand_vars_to_list(o_string *output, int n, char *arg, char | |
| } | |
| } | |
| } else if (exp_op == ':') { | |
| - | #if ENABLE_HUSH_BASH_COMPAT |
| + | #if ENABLE_HUSH_BASH_COMPAT && ENABLE_SH_MATH_SUPPORT |
| /* It's ${var:N[:M]} bashism. | |
| * Note that in encoded form it has TWO parts: | |
| * var:N<SPECIAL_VAR_SYMBOL>M<SPECIAL_VAR_SYMBOL> | |
| @@ -5820,7 +5824,7 @@ static int parse_group(o_string *dest, struct parse_context *ctx, | |
| /* command remains "open", available for possible redirects */ | |
| } | |
| - | #if ENABLE_HUSH_TICK || ENABLE_SH_MATH_SUPPORT |
| + | #if ENABLE_HUSH_TICK || ENABLE_SH_MATH_SUPPORT || ENABLE_HUSH_DOLLAR_OPS |
| /* Subroutines for copying $(...) and `...` things */ | |
| static void add_till_backquote(o_string *dest, struct in_str *input); | |
| /* '...' */ | |
| @@ -5921,9 +5925,9 @@ static int add_till_closing_bracket(o_string *dest, struct in_str *input, unsign | |
| { | |
| int ch; | |
| char dbl = end_ch & DOUBLE_CLOSE_CHAR_FLAG; | |
| - | #if ENABLE_HUSH_BASH_COMPAT |
| + | # if ENABLE_HUSH_BASH_COMPAT |
| char end_char2 = end_ch >> 8; | |
| - | #endif |
| + | # endif |
| end_ch &= (DOUBLE_CLOSE_CHAR_FLAG - 1); | |
| while (1) { | |
| @@ -5976,7 +5980,7 @@ static int add_till_closing_bracket(o_string *dest, struct in_str *input, unsign | |
| } | |
| return ch; | |
| } | |
| - | #endif /* ENABLE_HUSH_TICK || ENABLE_SH_MATH_SUPPORT */ |
| + | #endif /* ENABLE_HUSH_TICK || ENABLE_SH_MATH_SUPPORT || ENABLE_HUSH_DOLLAR_OPS */ |
| /* Return code: 0 for OK, 1 for syntax error */ | |
| #if BB_MMU | |
| @@ -6082,7 +6086,11 @@ static int parse_dollar(o_string *as_string, | |
| again: | |
| if (!BB_MMU) | |
| pos = dest->length; | |
| + | #if ENABLE_HUSH_DOLLAR_OPS |
| last_ch = add_till_closing_bracket(dest, input, end_ch); | |
| + | #else |
| + | #error Simple code to only allow ${var} is not implemented |
| + | #endif |
| if (as_string) { | |
| o_addstr(as_string, dest->data + pos); | |
| o_addchr(as_string, last_ch); | |
| @@ -6,7 +6,6 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| - | |
| test -f "$bindir/.config" && . "$bindir/.config" | |
| test x"CONFIG_SCRIPT" = x"y" || exit 0 | |
| @@ -3,7 +3,6 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| - | |
| test -f "$bindir/.config" && . "$bindir/.config" | |
| # testing "test name" "command" "expected result" "file input" "stdin" | |
| @@ -99,7 +99,7 @@ SKIP= | |
| # chown on a link was affecting file, dropping its suid/sgid bits | |
| rm -rf cpio.testdir | |
| - | optional FEATURE_CPIO_O |
| + | optional FEATURE_CPIO_O FEATURE_STAT_FORMAT |
| mkdir cpio.testdir | |
| touch cpio.testdir/file | |
| chmod 6755 cpio.testdir/file # sets suid/sgid bits | |
| @@ -1,3 +1,5 @@ | |
| + | unset LANG |
| + | |
| dt=`busybox date -d 1:2 +%T` | |
| test x"$dt" = x"01:02:00" | |
| @@ -3,6 +3,7 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| + | test -f "$bindir/.config" && . "$bindir/.config" |
| # testing "test name" "options" "expected result" "file input" "stdin" | |
| @@ -12,13 +13,13 @@ testing "expand" \ | |
| "" \ | |
| "\t12345678\t12345678\n" | |
| - | optional UNICODE_SUPPORT |
| + | test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ |
| + | && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \ |
| + | && test "$CONFIG_LAST_SUPPORTED_WCHAR" -gt "916" \ |
| testing "expand with unicode characher 0x394" \ | |
| "expand" \ | |
| "Δ 12345ΔΔΔ 12345678\n" \ | |
| "" \ | |
| "Δ\t12345ΔΔΔ\t12345678\n" | |
| - | SKIP= |
| - | |
| exit $FAILCOUNT | |
| @@ -3,6 +3,7 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| + | test -f "$bindir/.config" && . "$bindir/.config" |
| # testing "test name" "options" "expected result" "file input" "stdin" | |
| @@ -28,9 +29,10 @@ be preserved | |
| is here:>\0< - they must be preserved | |
| " \ | |
| - | optional UNICODE_SUPPORT |
| # The text was taken from English and Ukrainian wikipedia pages | |
| - | testing "fold -sw66 with unicode input" "fold -sw66" \ |
| + | test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ |
| + | && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \ |
| + | && testing "fold -sw66 with unicode input" "fold -sw66" \ |
| "\ | |
| The Andromeda Galaxy (pronounced /ænˈdrɒmədə/, also known as \n\ | |
| Messier 31, M31, or NGC224; often referred to as the Great \n\ | |
| @@ -56,6 +58,5 @@ Way. | |
| спіральна галактика, що знаходиться на відстані приблизно у 2,5 \ | |
| мільйони світлових років від нашої планети у сузір'ї Андромеди. \ | |
| На початку ХХІ ст. в центрі галактики виявлено чорну дірку." | |
| - | SKIP= |
| exit $FAILCOUNT | |
| @@ -3,10 +3,9 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| - | |
| test -f "$bindir/.config" && . "$bindir/.config" | |
| - | rm -rf ls.testdir >/dev/null |
| + | rm -rf ls.testdir 2>/dev/null |
| mkdir ls.testdir || exit 1 | |
| # testing "test name" "command" "expected result" "file input" "stdin" | |
| @@ -15,9 +14,10 @@ mkdir ls.testdir || exit 1 | |
| # I suspect we might fail to skip exactly correct number of bytes | |
| # over broked unicode sequences. | |
| test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ | |
| - | && test x"$CONFIG_LOCALE_SUPPORT" != x"y" \ |
| + | && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \ |
| && test x"$CONFIG_SUBST_WCHAR" = x"63" \ | |
| && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"767" \ | |
| + | && test x"$CONFIG_FEATURE_LS_SORTFILES" = x"y" \ |
| && testing "ls unicode test with codepoints limited to 767" \ | |
| "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1 ls.testdir" \ | |
| '0001_1__Some_correct_UTF-8_text___________________________________________| | |
| @@ -134,7 +134,7 @@ test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ | |
| # Currently fails on "0080_4.2.2__U-000007FF_=_e0_9f_bf" line | |
| test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ | |
| - | && test x"$CONFIG_LOCALE_SUPPORT" != x"y" \ |
| + | && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \ |
| && test x"$CONFIG_SUBST_WCHAR" = x"63" \ | |
| && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"0" \ | |
| && testing "ls unicode test with unlimited codepoints" \ | |
| @@ -3,7 +3,6 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| - | |
| test -f "$bindir/.config" && . "$bindir/.config" | |
| test "`id -u`" = 0 || { | |
| @@ -3,6 +3,7 @@ | |
| # Licensed under GPL v2, see file LICENSE for details. | |
| . ./testing.sh | |
| + | test -f "$bindir/.config" && . "$bindir/.config" |
| # testing "test name" "options" "expected result" "file input" "stdin" | |
| @@ -30,9 +31,10 @@ testing "unexpand case 7" "unexpand" \ | |
| testing "unexpand case 8" "unexpand" \ | |
| "a b\n" "" "a b\n" \ | |
| - | optional UNICODE_SUPPORT |
| + | test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ |
| + | && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \ |
| + | && test "$CONFIG_LAST_SUPPORTED_WCHAR" -gt "916" \ |
| testing "unexpand with unicode characher 0x394" "unexpand" \ | |
| "1ΔΔΔ5\t99999\n" "" "1ΔΔΔ5 99999\n" | |
| - | SKIP= |
| exit $FAILCOUNT | |