diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2008-07-11 22:19:21 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2008-07-11 22:19:21 +0000 |
commit | 4b586e6cda68a82dd143741199dfd10b981dc29c (patch) | |
tree | 2ac0eaff821fcac3b8c894680d69becdbf82edc3 | |
parent | c66687591245aa578c8d6bd717bdb00f98b30f5f (diff) |
busybox: bump 1.11.x version
-rw-r--r-- | package/busybox/Config.in | 2 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-awk.patch | 88 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-bunzip2.patch | 503 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-ip.patch | 12 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-man.patch | 40 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-ssd.patch | 99 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-uname.patch | 108 | ||||
-rw-r--r-- | package/busybox/busybox-1.11.0-vi.patch | 11 |
8 files changed, 1 insertions, 862 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 9879b80ca..923d3bd3c 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -56,7 +56,7 @@ config BR2_BUSYBOX_VERSION default "1.8.3" if BR2_BUSYBOX_VERSION_1_8_X default "1.9.2" if BR2_BUSYBOX_VERSION_1_9_X default "1.10.4" if BR2_BUSYBOX_VERSION_1_10_X - default "1.11.0" if BR2_BUSYBOX_VERSION_1_11_X + default "1.11.1" if BR2_BUSYBOX_VERSION_1_11_X config BR2_PACKAGE_BUSYBOX_FULLINSTALL bool "Run BusyBox's own full installation" diff --git a/package/busybox/busybox-1.11.0-awk.patch b/package/busybox/busybox-1.11.0-awk.patch deleted file mode 100644 index 48967f1b9..000000000 --- a/package/busybox/busybox-1.11.0-awk.patch +++ /dev/null @@ -1,88 +0,0 @@ ---- busybox-1.11.0/editors/awk.c Wed Jun 25 14:51:37 2008 -+++ busybox-1.11.0-awk/editors/awk.c Tue Jul 1 14:03:37 2008 -@@ -681,11 +681,6 @@ - return (isalnum(c) || c == '_'); - } - --static FILE *afopen(const char *path, const char *mode) --{ -- return (*path == '-' && *(path+1) == '\0') ? stdin : xfopen(path, mode); --} -- - /* -------- working with variables (set/get/copy/etc) -------- */ - - static xhash *iamarray(var *v) -@@ -2740,7 +2735,7 @@ - ind = getvar_s(incvar(intvar[ARGIND])); - fname = getvar_s(findvar(iamarray(intvar[ARGV]), ind)); - if (fname && *fname && !is_assignment(fname)) -- F = afopen(fname, "r"); -+ F = xfopen_stdin(fname); - } - } while (!F); - -@@ -2757,8 +2752,9 @@ - { - unsigned opt; - char *opt_F, *opt_W; -- llist_t *opt_v = NULL; -- int i, j, flen; -+ llist_t *list_v = NULL; -+ llist_t *list_f = NULL; -+ int i, j; - var *v; - var tv; - char **envp; -@@ -2816,35 +2812,33 @@ - *s1 = '='; - } - } -- opt_complementary = "v::"; -- opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &g_progname, &opt_W); -+ opt_complementary = "v::f::"; /* -v and -f can occur multiple times */ -+ opt = getopt32(argv, "F:v:f:W:", &opt_F, &list_v, &list_f, &opt_W); - argv += optind; - argc -= optind; - if (opt & 0x1) - setvar_s(intvar[FS], opt_F); // -F -- while (opt_v) { /* -v */ -- if (!is_assignment(llist_pop(&opt_v))) -+ while (list_v) { /* -v */ -+ if (!is_assignment(llist_pop(&list_v))) - bb_show_usage(); - } -- if (opt & 0x4) { // -f -- char *s = s; /* die, gcc, die */ -- FILE *from_file = afopen(g_progname, "r"); -- /* one byte is reserved for some trick in next_token */ -- if (fseek(from_file, 0, SEEK_END) == 0) { -- flen = ftell(from_file); -- s = xmalloc(flen + 4); -- fseek(from_file, 0, SEEK_SET); -- i = 1 + fread(s + 1, 1, flen, from_file); -- } else { -+ if (list_f) { /* -f */ -+ do { -+ char *s = NULL; -+ FILE *from_file; -+ -+ g_progname = llist_pop(&list_f); -+ from_file = xfopen_stdin(g_progname); -+ /* one byte is reserved for some trick in next_token */ - for (i = j = 1; j > 0; i += j) { - s = xrealloc(s, i + 4096); - j = fread(s + i, 1, 4094, from_file); - } -- } -- s[i] = '\0'; -- fclose(from_file); -- parse_program(s + 1); -- free(s); -+ s[i] = '\0'; -+ fclose(from_file); -+ parse_program(s + 1); -+ free(s); -+ } while (list_f); - } else { // no -f: take program from 1st parameter - if (!argc) - bb_show_usage(); diff --git a/package/busybox/busybox-1.11.0-bunzip2.patch b/package/busybox/busybox-1.11.0-bunzip2.patch deleted file mode 100644 index 97f9fec0b..000000000 --- a/package/busybox/busybox-1.11.0-bunzip2.patch +++ /dev/null @@ -1,503 +0,0 @@ ---- busybox-1.11.0/archival/libunarchive/decompress_bunzip2.c Wed Jun 25 14:51:26 2008 -+++ busybox-1.11.0-bunzip2/archival/libunarchive/decompress_bunzip2.c Sat Jun 28 20:04:31 2008 -@@ -66,7 +66,6 @@ - * | grep 'bd->' | sed 's/^.*bd->/bd->/' | sort | $PAGER - * and moved it (inbufBitCount) to offset 0. - */ -- - struct bunzip_data { - /* I/O tracking data (file handles, buffers, positions, etc.) */ - unsigned inbufBitCount, inbufBits; -@@ -102,11 +101,9 @@ - - /* If we need to get more data from the byte buffer, do so. (Loop getting - one byte at a time to enforce endianness and avoid unaligned access.) */ -- - while ((int)(bd->inbufBitCount) < bits_wanted) { - - /* If we need to read more data from file into byte buffer, do so */ -- - if (bd->inbufPos == bd->inbufCount) { - /* if "no input fd" case: in_fd == -1, read fails, we jump */ - bd->inbufCount = read(bd->in_fd, bd->inbuf, IOBUF_SIZE); -@@ -116,7 +113,6 @@ - } - - /* Avoid 32-bit overflow (dump bit buffer to top of output) */ -- - if (bd->inbufBitCount >= 24) { - bits = bd->inbufBits & ((1 << bd->inbufBitCount) - 1); - bits_wanted -= bd->inbufBitCount; -@@ -125,13 +121,11 @@ - } - - /* Grab next 8 bits of input from buffer. */ -- - bd->inbufBits = (bd->inbufBits << 8) | bd->inbuf[bd->inbufPos++]; - bd->inbufBitCount += 8; - } - - /* Calculate result */ -- - bd->inbufBitCount -= bits_wanted; - bits |= (bd->inbufBits >> bd->inbufBitCount) & ((1 << bits_wanted) - 1); - -@@ -139,7 +133,6 @@ - } - - /* Unpacks the next block and sets up for the inverse burrows-wheeler step. */ -- - static int get_next_block(bunzip_data *bd) - { - struct group_data *hufGroup; -@@ -153,13 +146,11 @@ - selectors = bd->selectors; - - /* Reset longjmp I/O error handling */ -- - i = setjmp(bd->jmpbuf); - if (i) return i; - - /* Read in header signature and CRC, then validate signature. - (last block signature means CRC is for whole file, return now) */ -- - i = get_bits(bd, 24); - j = get_bits(bd, 24); - bd->headerCRC = get_bits(bd, 32); -@@ -169,7 +160,6 @@ - /* We can add support for blockRandomised if anybody complains. There was - some code for this in busybox 1.0.0-pre3, but nobody ever noticed that - it didn't actually work. */ -- - if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT; - origPtr = get_bits(bd, 24); - if ((int)origPtr > dbufSize) return RETVAL_DATA_ERROR; -@@ -179,7 +169,6 @@ - symbols to deal with, and writes a sparse bitfield indicating which - values were present. We make a translation table to convert the symbols - back to the corresponding bytes. */ -- - t = get_bits(bd, 16); - symTotal = 0; - for (i = 0; i < 16; i++) { -@@ -192,7 +181,6 @@ - } - - /* How many different Huffman coding groups does this block use? */ -- - groupCount = get_bits(bd, 3); - if (groupCount < 2 || groupCount > MAX_GROUPS) - return RETVAL_DATA_ERROR; -@@ -201,19 +189,16 @@ - group. Read in the group selector list, which is stored as MTF encoded - bit runs. (MTF=Move To Front, as each value is used it's moved to the - start of the list.) */ -- - nSelectors = get_bits(bd, 15); - if (!nSelectors) return RETVAL_DATA_ERROR; - for (i = 0; i < groupCount; i++) mtfSymbol[i] = i; - for (i = 0; i < nSelectors; i++) { - - /* Get next value */ -- - for (j = 0; get_bits(bd, 1); j++) - if (j >= groupCount) return RETVAL_DATA_ERROR; - - /* Decode MTF to get the next selector */ -- - uc = mtfSymbol[j]; - for (;j;j--) mtfSymbol[j] = mtfSymbol[j-1]; - mtfSymbol[0] = selectors[i] = uc; -@@ -221,10 +206,11 @@ - - /* Read the Huffman coding tables for each group, which code for symTotal - literal symbols, plus two run symbols (RUNA, RUNB) */ -- - symCount = symTotal + 2; - for (j = 0; j < groupCount; j++) { -- unsigned char length[MAX_SYMBOLS], temp[MAX_HUFCODE_BITS+1]; -+ unsigned char length[MAX_SYMBOLS]; -+ /* 8 bits is ALMOST enough for temp[], see below */ -+ unsigned temp[MAX_HUFCODE_BITS+1]; - int minLen, maxLen, pp; - - /* Read Huffman code lengths for each symbol. They're stored in -@@ -233,7 +219,6 @@ - (Subtracting 1 before the loop and then adding it back at the end is - an optimization that makes the test inside the loop simpler: symbol - length 0 becomes negative, so an unsigned inequality catches it.) */ -- - t = get_bits(bd, 5) - 1; - for (i = 0; i < symCount; i++) { - for (;;) { -@@ -243,7 +228,6 @@ - /* If first bit is 0, stop. Else second bit indicates whether - to increment or decrement the value. Optimization: grab 2 - bits and unget the second if the first was 0. */ -- - k = get_bits(bd, 2); - if (k < 2) { - bd->inbufBitCount++; -@@ -251,17 +235,14 @@ - } - - /* Add one if second bit 1, else subtract 1. Avoids if/else */ -- - t += (((k+1) & 2) - 1); - } - - /* Correct for the initial -1, to get the final symbol length */ -- - length[i] = t + 1; - } - - /* Find largest and smallest lengths in this group */ -- - minLen = maxLen = length[0]; - for (i = 1; i < symCount; i++) { - if (length[i] > maxLen) maxLen = length[i]; -@@ -278,7 +259,6 @@ - * number of bits can have. This is how the Huffman codes can vary in - * length: each code with a value>limit[length] needs another bit. - */ -- - hufGroup = bd->groups + j; - hufGroup->minLen = minLen; - hufGroup->maxLen = maxLen; -@@ -286,12 +266,10 @@ - /* Note that minLen can't be smaller than 1, so we adjust the base - and limit array pointers so we're not always wasting the first - entry. We do this again when using them (during symbol decoding).*/ -- - base = hufGroup->base - 1; - limit = hufGroup->limit - 1; - - /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */ -- - pp = 0; - for (i = minLen; i <= maxLen; i++) { - temp[i] = limit[i] = 0; -@@ -301,14 +279,14 @@ - } - - /* Count symbols coded for at each bit length */ -- -+ /* NB: in pathological cases, temp[8] can end ip being 256. -+ * That's why uint8_t is too small for temp[]. */ - for (i = 0; i < symCount; i++) temp[length[i]]++; - - /* Calculate limit[] (the largest symbol-coding value at each bit - * length, which is (previous limit<<1)+symbols at this level), and - * base[] (number of symbols to ignore at each bit length, which is - * limit minus the cumulative count of symbols coded for already). */ -- - pp = t = 0; - for (i = minLen; i < maxLen; i++) { - pp += temp[i]; -@@ -319,7 +297,6 @@ - each level we're really only interested in the first few bits, - so here we set all the trailing to-be-ignored bits to 1 so they - don't affect the value>limit[length] comparison. */ -- - limit[i] = (pp << (maxLen - i)) - 1; - pp <<= 1; - t += temp[i]; -@@ -335,7 +312,6 @@ - and run length encoding, saving the result into dbuf[dbufCount++] = uc */ - - /* Initialize symbol occurrence counters and symbol Move To Front table */ -- - memset(byteCount, 0, sizeof(byteCount)); /* smaller, maybe slower? */ - for (i = 0; i < 256; i++) { - //byteCount[i] = 0; -@@ -347,8 +323,7 @@ - runPos = dbufCount = selector = 0; - for (;;) { - -- /* fetch next Huffman coding group from list. */ -- -+ /* Fetch next Huffman coding group from list. */ - symCount = GROUP_SIZE - 1; - if (selector >= nSelectors) return RETVAL_DATA_ERROR; - hufGroup = bd->groups + selectors[selector++]; -@@ -367,7 +342,6 @@ - dry). The following (up to got_huff_bits:) is equivalent to - j = get_bits(bd, hufGroup->maxLen); - */ -- - while ((int)(bd->inbufBitCount) < hufGroup->maxLen) { - if (bd->inbufPos == bd->inbufCount) { - j = get_bits(bd, hufGroup->maxLen); -@@ -382,13 +356,11 @@ - got_huff_bits: - - /* Figure how how many bits are in next symbol and unget extras */ -- - i = hufGroup->minLen; - while (j > limit[i]) ++i; - bd->inbufBitCount += (hufGroup->maxLen - i); - - /* Huffman decode value to get nextSym (with bounds checking) */ -- - if (i > hufGroup->maxLen) - return RETVAL_DATA_ERROR; - j = (j >> (hufGroup->maxLen - i)) - base[i]; -@@ -400,11 +372,9 @@ - byte, or a repeated run of the most recent literal byte. First, - check if nextSym indicates a repeated run, and if so loop collecting - how many times to repeat the last literal. */ -- - if ((unsigned)nextSym <= SYMBOL_RUNB) { /* RUNA or RUNB */ - - /* If this is the start of a new run, zero out counter */ -- - if (!runPos) { - runPos = 1; - t = 0; -@@ -417,7 +387,6 @@ - the basic or 0/1 method (except all bits 0, which would use no - symbols, but a run of length 0 doesn't mean anything in this - context). Thus space is saved. */ -- - t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ - if (runPos < dbufSize) runPos <<= 1; - goto end_of_huffman_loop; -@@ -427,7 +396,6 @@ - how many times to repeat the last literal, so append that many - copies to our buffer of decoded symbols (dbuf) now. (The last - literal used is the one at the head of the mtfSymbol array.) */ -- - if (runPos) { - runPos = 0; - if (dbufCount + t >= dbufSize) return RETVAL_DATA_ERROR; -@@ -438,7 +406,6 @@ - } - - /* Is this the terminating symbol? */ -- - if (nextSym > symTotal) break; - - /* At this point, nextSym indicates a new literal character. Subtract -@@ -448,7 +415,6 @@ - first symbol in the mtf array, position 0, would have been handled - as part of a run above. Therefore 1 unused mtf position minus - 2 non-literal nextSym values equals -1.) */ -- - if (dbufCount >= dbufSize) return RETVAL_DATA_ERROR; - i = nextSym - 1; - uc = mtfSymbol[i]; -@@ -457,7 +423,6 @@ - * small number of symbols, and are bound by 256 in any case, using - * memmove here would typically be bigger and slower due to function - * call overhead and other assorted setup costs. */ -- - do { - mtfSymbol[i] = mtfSymbol[i-1]; - } while (--i); -@@ -465,13 +430,11 @@ - uc = symToByte[uc]; - - /* We have our literal byte. Save it into dbuf. */ -- - byteCount[uc]++; - dbuf[dbufCount++] = (unsigned)uc; - - /* Skip group initialization if we're not done with this group. Done - * this way to avoid compiler warning. */ -- - end_of_huffman_loop: - if (symCount--) goto continue_this_group; - } -@@ -484,7 +447,6 @@ - */ - - /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ -- - j = 0; - for (i = 0; i < 256; i++) { - k = j + byteCount[i]; -@@ -493,7 +455,6 @@ - } - - /* Figure out what order dbuf would be in if we sorted it. */ -- - for (i = 0; i < dbufCount; i++) { - uc = (unsigned char)(dbuf[i] & 0xff); - dbuf[byteCount[uc]] |= (i << 8); -@@ -503,11 +464,10 @@ - /* Decode first byte by hand to initialize "previous" byte. Note that it - doesn't get output, and if the first three characters are identical - it doesn't qualify as a run (hence writeRunCountdown=5). */ -- - if (dbufCount) { - if ((int)origPtr >= dbufCount) return RETVAL_DATA_ERROR; - bd->writePos = dbuf[origPtr]; -- bd->writeCurrent = (unsigned char)(bd->writePos & 0xff); -+ bd->writeCurrent = (unsigned char)(bd->writePos & 0xff); - bd->writePos >>= 8; - bd->writeRunCountdown = 5; - } -@@ -522,7 +482,6 @@ - error (all errors are negative numbers). If out_fd!=-1, outbuf and len - are ignored, data is written to out_fd and return is RETVAL_OK or error. - */ -- - int read_bunzip(bunzip_data *bd, char *outbuf, int len) - { - const unsigned *dbuf; -@@ -539,19 +498,15 @@ - /* We will always have pending decoded data to write into the output - buffer unless this is the very first call (in which case we haven't - Huffman-decoded a block into the intermediate buffer yet). */ -- - if (bd->writeCopies) { - - /* Inside the loop, writeCopies means extra copies (beyond 1) */ -- - --bd->writeCopies; - - /* Loop outputting bytes */ -- - for (;;) { - - /* If the output buffer is full, snapshot state and return */ -- - if (gotcount >= len) { - bd->writePos = pos; - bd->writeCurrent = current; -@@ -560,13 +515,11 @@ - } - - /* Write next byte into output buffer, updating CRC */ -- - outbuf[gotcount++] = current; - bd->writeCRC = (bd->writeCRC << 8) -- ^ bd->crc32Table[(bd->writeCRC >> 24) ^ current]; -+ ^ bd->crc32Table[(bd->writeCRC >> 24) ^ current]; - - /* Loop now if we're outputting multiple copies of this byte */ -- - if (bd->writeCopies) { - --bd->writeCopies; - continue; -@@ -582,35 +535,29 @@ - /* After 3 consecutive copies of the same byte, the 4th - * is a repeat count. We count down from 4 instead - * of counting up because testing for non-zero is faster */ -- - if (--bd->writeRunCountdown) { - if (current != previous) - bd->writeRunCountdown = 4; - } else { - - /* We have a repeated run, this byte indicates the count */ -- - bd->writeCopies = current; - current = previous; - bd->writeRunCountdown = 5; - - /* Sometimes there are just 3 bytes (run length 0) */ -- - if (!bd->writeCopies) goto decode_next_byte; - - /* Subtract the 1 copy we'd output anyway to get extras */ -- - --bd->writeCopies; - } - } - - /* Decompression of this block completed successfully */ -- - bd->writeCRC = ~bd->writeCRC; - bd->totalCRC = ((bd->totalCRC << 1) | (bd->totalCRC >> 31)) ^ bd->writeCRC; - - /* If this block had a CRC error, force file level CRC error. */ -- - if (bd->writeCRC != bd->headerCRC) { - bd->totalCRC = bd->headerCRC + 1; - return RETVAL_LAST_BLOCK; -@@ -619,7 +566,6 @@ - - /* Refill the intermediate buffer by Huffman-decoding next block of input */ - /* (previous is just a convenient unused temp variable here) */ -- - previous = get_next_block(bd); - if (previous) { - bd->writeCount = previous; -@@ -631,7 +577,6 @@ - goto decode_next_byte; - } - -- - /* Allocate the structure, read file header. If in_fd==-1, inbuf must contain - a complete bunzip file (len bytes long). If in_fd!=-1, inbuf and len are - ignored, and data is read from file handle into temporary buffer. */ -@@ -639,7 +584,6 @@ - /* Because bunzip2 is used for help text unpacking, and because bb_show_usage() - should work for NOFORK applets too, we must be extremely careful to not leak - any allocations! */ -- - int start_bunzip(bunzip_data **bdp, int in_fd, const unsigned char *inbuf, - int len) - { -@@ -650,16 +594,13 @@ - }; - - /* Figure out how much data to allocate */ -- - i = sizeof(bunzip_data); - if (in_fd != -1) i += IOBUF_SIZE; - - /* Allocate bunzip_data. Most fields initialize to zero. */ -- - bd = *bdp = xzalloc(i); - - /* Setup input buffer */ -- - bd->in_fd = in_fd; - if (-1 == in_fd) { - /* in this case, bd->inbuf is read-only */ -@@ -669,22 +610,18 @@ - bd->inbuf = (unsigned char *)(bd + 1); - - /* Init the CRC32 table (big endian) */ -- - crc32_filltable(bd->crc32Table, 1); - - /* Setup for I/O error handling via longjmp */ -- - i = setjmp(bd->jmpbuf); - if (i) return i; - - /* Ensure that file starts with "BZh['1'-'9']." */ -- - i = get_bits(bd, 32); - if ((unsigned)(i - BZh0 - 1) >= 9) return RETVAL_NOT_BZIP_DATA; - -- /* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of -+ /* Fourth byte (ascii '1'-'9') indicates block size in units of 100k of - uncompressed data. Allocate intermediate buffer for block. */ -- - bd->dbufSize = 100000 * (i - BZh0); - - /* Cannot use xmalloc - may leak bd in NOFORK case! */ -@@ -704,7 +641,6 @@ - - - /* Decompress src_fd to dst_fd. Stops at end of bzip data, not end of file. */ -- - USE_DESKTOP(long long) int - unpack_bz2_stream(int src_fd, int dst_fd) - { -@@ -761,9 +697,9 @@ - char c; - - if (i < 0) -- fprintf(stderr,"%s\n", bunzip_errors[-i]); -+ fprintf(stderr, "%s\n", bunzip_errors[-i]); - else if (read(STDIN_FILENO, &c, 1)) -- fprintf(stderr,"Trailing garbage ignored\n"); -+ fprintf(stderr, "Trailing garbage ignored\n"); - return -i; - } - #endif diff --git a/package/busybox/busybox-1.11.0-ip.patch b/package/busybox/busybox-1.11.0-ip.patch deleted file mode 100644 index 0cac617ed..000000000 --- a/package/busybox/busybox-1.11.0-ip.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- busybox-1.11.0/libbb/print_flags.c Wed Jun 25 14:51:32 2008 -+++ busybox-1.11.0-ip/libbb/print_flags.c Fri Jun 27 00:39:16 2008 -@@ -19,8 +19,8 @@ - labels); - need_separator = separator; - flags &= ~ *masks; -- masks++; - } -+ masks++; - labels += strlen(labels) + 1; - } - return flags; diff --git a/package/busybox/busybox-1.11.0-man.patch b/package/busybox/busybox-1.11.0-man.patch deleted file mode 100644 index 0e29e61a4..000000000 --- a/package/busybox/busybox-1.11.0-man.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- busybox-1.11.0/miscutils/man.c Wed Jun 25 14:51:35 2008 -+++ busybox-1.11.0-man/miscutils/man.c Fri Jul 4 23:55:56 2008 -@@ -73,7 +73,7 @@ - char *sec_list; - char *cur_path, *cur_sect; - char *line, *value; -- int count_mp, alloc_mp, cur_mp; -+ int count_mp, cur_mp; - int opt; - - opt_complementary = "-1"; /* at least one argument */ -@@ -81,8 +81,8 @@ - argv += optind; - - sec_list = xstrdup("1:2:3:4:5:6:7:8:9"); -- alloc_mp = 10; -- man_path_list = xmalloc(10 * sizeof(man_path_list[0])); -+ /* Last valid man_path_list[] is [0x10] */ -+ man_path_list = xzalloc(0x11 * sizeof(man_path_list[0])); - count_mp = 0; - man_path_list[0] = xstrdup(getenv("MANPATH")); - if (man_path_list[0]) -@@ -107,11 +107,13 @@ - if (strcmp("MANPATH", line) == 0) { - man_path_list[count_mp] = xstrdup(value); - count_mp++; -- if (alloc_mp == count_mp) { -- alloc_mp += 10; -- man_path_list = xrealloc(man_path_list, alloc_mp * sizeof(man_path_list[0])); -+ /* man_path_list is NULL terminated */ -+ man_path_list[count_mp] = NULL; -+ if (!(count_mp & 0xf)) { /* 0x10, 0x20 etc */ -+ /* so that last valid man_path_list[] is [count_mp + 0x10] */ -+ man_path_list = xrealloc(man_path_list, -+ (count_mp + 0x11) * sizeof(man_path_list[0])); - } -- /* thus man_path_list is always NULL terminated */ - } - if (strcmp("MANSECT", line) == 0) { - free(sec_list); diff --git a/package/busybox/busybox-1.11.0-ssd.patch b/package/busybox/busybox-1.11.0-ssd.patch deleted file mode 100644 index 91ade9c5b..000000000 --- a/package/busybox/busybox-1.11.0-ssd.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- busybox-1.11.0/debianutils/start_stop_daemon.c Wed Jun 25 14:51:26 2008 -+++ busybox-1.11.0-ssd/debianutils/start_stop_daemon.c Tue Jul 1 14:05:05 2008 -@@ -326,7 +326,9 @@ - char *signame; - char *startas; - char *chuid; -+#ifdef OLDER_VERSION_OF_X - struct stat execstat; -+#endif - #if ENABLE_FEATURE_START_STOP_DAEMON_FANCY - // char *retry_arg = NULL; - // int retries = -1; -@@ -361,6 +363,8 @@ - - if (!(opt & OPT_a)) - startas = execname; -+ if (!execname) /* in case -a is given and -x is not */ -+ execname = startas; - - // USE_FEATURE_START_STOP_DAEMON_FANCY( - // if (retry_arg) -@@ -374,7 +378,8 @@ - if (errno) - user_id = xuname2uid(userspec); - } -- do_procinit(); /* Both start and stop needs to know current processes */ -+ /* Both start and stop need to know current processes */ -+ do_procinit(); - - if (opt & CTX_STOP) { - int i = do_stop(); -@@ -383,17 +388,21 @@ - - if (found) { - if (!QUIET) -- printf("%s already running\n%d\n", execname, found->pid); -+ printf("%s is already running\n%u\n", execname, (unsigned)found->pid); - return !(opt & OPT_OKNODO); - } - -+#ifdef OLDER_VERSION_OF_X - if (execname) - xstat(execname, &execstat); -+#endif - - *--argv = startas; - if (opt & OPT_BACKGROUND) { - #if BB_MMU -- bb_daemonize(0); -+ bb_daemonize(DAEMON_DEVNULL_STDIO + DAEMON_CLOSE_EXTRA_FDS); -+ /* DAEMON_DEVNULL_STDIO is superfluous - -+ * it's always done by bb_daemonize() */ - #else - pid_t pid = vfork(); - if (pid < 0) /* error */ -@@ -404,19 +413,18 @@ - * so "return 0" may do bad things */ - _exit(EXIT_SUCCESS); - } -- /* child */ -+ /* Child */ - setsid(); /* detach from controlling tty */ - /* Redirect stdio to /dev/null, close extra FDs. - * We do not actually daemonize because of DAEMON_ONLY_SANITIZE */ -- bb_daemonize_or_rexec( -- DAEMON_DEVNULL_STDIO -+ bb_daemonize_or_rexec(DAEMON_DEVNULL_STDIO - + DAEMON_CLOSE_EXTRA_FDS - + DAEMON_ONLY_SANITIZE, - NULL /* argv, unused */ ); - #endif - } - if (opt & OPT_MAKEPID) { -- /* user wants _us_ to make the pidfile */ -+ /* User wants _us_ to make the pidfile */ - write_pidfile(pidfile); - } - if (opt & OPT_c) { -@@ -434,6 +442,6 @@ - } - } - #endif -- execv(startas, argv); -+ execvp(startas, argv); - bb_perror_msg_and_die("cannot start %s", startas); - } ---- busybox-1.11.0/include/usage.h Wed Jun 25 14:51:35 2008 -+++ busybox-1.11.0-ssd/include/usage.h Tue Jul 1 14:03:48 2008 -@@ -3637,9 +3637,7 @@ - "$ cat TODO | split -a 2 -l 2 TODO_\n" - - #define start_stop_daemon_trivial_usage \ -- "[OPTIONS] [" \ -- USE_GETOPT_LONG("--start|--stop") SKIP_GETOPT_LONG("-S|-K") \ -- "] ... [-- arguments...]" -+ "[OPTIONS] [-S|-K] ... [-- arguments...]" - #define start_stop_daemon_full_usage "\n\n" \ - "Search for matching processes, and then\n" \ - "-S: stop all matching processes.\n" \ diff --git a/package/busybox/busybox-1.11.0-uname.patch b/package/busybox/busybox-1.11.0-uname.patch deleted file mode 100644 index 01f8b51f4..000000000 --- a/package/busybox/busybox-1.11.0-uname.patch +++ /dev/null @@ -1,108 +0,0 @@ ---- busybox-1.11.0/applets/individual.c Wed Jun 25 14:51:37 2008 -+++ busybox-1.11.0-uname/applets/individual.c Wed Jul 2 13:32:17 2008 -@@ -14,13 +14,11 @@ - int main(int argc, char **argv) - { - applet_name = argv[0]; -- - return APPLET_main(argc,argv); - } - - void bb_show_usage(void) - { -- printf(APPLET_full_usage "\n"); -- -+ fputs(APPLET_full_usage "\n", stdout); - exit(EXIT_FAILURE); - } ---- busybox-1.11.0/coreutils/uname.c Wed Jun 25 14:51:30 2008 -+++ busybox-1.11.0-uname/coreutils/uname.c Wed Jul 2 13:32:17 2008 -@@ -17,7 +17,7 @@ - -m, --machine sun - -a, --all SunOS rocky8 4.0 sun - -- The default behavior is equivalent to `-s'. -+ The default behavior is equivalent to '-s'. - - David MacKenzie <djm@gnu.ai.mit.edu> */ - -@@ -39,47 +39,43 @@ - } uname_info_t; - - static const char options[] ALIGN1 = "snrvmpa"; --static const unsigned short utsname_offset[] ALIGN2 = { -- offsetof(uname_info_t,name.sysname), -- offsetof(uname_info_t,name.nodename), -- offsetof(uname_info_t,name.release), -- offsetof(uname_info_t,name.version), -- offsetof(uname_info_t,name.machine), -- offsetof(uname_info_t,processor) -+static const unsigned short utsname_offset[] = { -+ offsetof(uname_info_t, name.sysname), -+ offsetof(uname_info_t, name.nodename), -+ offsetof(uname_info_t, name.release), -+ offsetof(uname_info_t, name.version), -+ offsetof(uname_info_t, name.machine), -+ offsetof(uname_info_t, processor) - }; - - int uname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; --int uname_main(int argc, char **argv) -+int uname_main(int argc ATTRIBUTE_UNUSED, char **argv) - { - uname_info_t uname_info; - #if defined(__sparc__) && defined(__linux__) - char *fake_sparc = getenv("FAKE_SPARC"); - #endif -- const unsigned short int *delta; -+ const unsigned short *delta; - char toprint; - - toprint = getopt32(argv, options); - -- if (argc != optind) { -+ if (argv[optind]) { /* coreutils-6.9 compat */ - bb_show_usage(); - } - -- if (toprint & (1 << 6)) { -+ if (toprint & (1 << 6)) { /* -a => all opts on */ - toprint = 0x3f; - } - -- if (toprint == 0) { -- toprint = 1; /* sysname */ -+ if (toprint == 0) { /* no opts => -s (sysname) */ -+ toprint = 1; - } - -- if (uname(&uname_info.name) == -1) { -- bb_error_msg_and_die("cannot get system name"); -- } -+ uname(&uname_info.name); /* never fails */ - - #if defined(__sparc__) && defined(__linux__) -- if ((fake_sparc != NULL) -- && ((fake_sparc[0] == 'y') -- || (fake_sparc[0] == 'Y'))) { -+ if (fake_sparc && (fake_sparc[0] | 0x20) == 'y') { - strcpy(uname_info.name.machine, "sparc"); - } - #endif -@@ -89,7 +85,8 @@ - delta = utsname_offset; - do { - if (toprint & 1) { -- printf(((char *)(&uname_info)) + *delta); -+ /* printf would not be safe here */ -+ fputs((char *)(&uname_info) + *delta, stdout); - if (toprint > 1) { - bb_putchar(' '); - } -@@ -98,5 +95,5 @@ - } while (toprint >>= 1); - bb_putchar('\n'); - -- fflush_stdout_and_exit(EXIT_SUCCESS); -+ fflush_stdout_and_exit(EXIT_SUCCESS); /* coreutils-6.9 compat */ - } diff --git a/package/busybox/busybox-1.11.0-vi.patch b/package/busybox/busybox-1.11.0-vi.patch deleted file mode 100644 index cbc5693fa..000000000 --- a/package/busybox/busybox-1.11.0-vi.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- busybox-1.11.0/editors/vi.c Wed Jun 25 14:51:37 2008 -+++ busybox-1.11.0-vi/editors/vi.c Fri Jun 27 06:06:54 2008 -@@ -1894,7 +1894,7 @@ - p = new_text + (p - text); - text = new_text; - } -- memmove(p + size, p, end - p); -+ memmove(p + size, p, end - size - p); - memset(p, ' ', size); // clear new hole - file_modified++; - return p; |