--- busybox-1.00-pre2/shell/ash.c~ 2003-08-24 12:47:36.000000000 +0200
+++ busybox-1.00-pre2/shell/ash.c 2003-08-24 12:47:43.000000000 +0200
-@@ -3739,7 +3739,7 @@
+@@ -6600,7 +6600,7 @@
#endif
if (repeated++) {
- ckfree(argv);
+ free(argv);
- } else if (errno == ENOEXEC) {
+ } else if (errno == ENOEXEC || errno == ENOENT) {
char **ap;
char **new;
-
+
@@ -24,8 +24,8 @@
{"hostname", OPTION_STRING | OPTION_REQ, 0x0c},
{"bootsize", OPTION_U16, 0x0d},
- {"domain", OPTION_STRING | OPTION_REQ, 0x0f},
+ {"domain", OPTION_STRING | OPTION_LIST | OPTION_REQ, 0x0f},
- {"swapsvr", OPTION_IP, 0x10},
- {"rootpath", OPTION_STRING, 0x11},
+ {"swapsvr", OPTION_IP | OPTION_REQ, 0x10},
{"ipttl", OPTION_U8, 0x17},
{"mtu", OPTION_U16, 0x1a},
{"broadcast", OPTION_IP | OPTION_REQ, 0x1c},
-@@ -40,8 +40,8 @@
- {"message", OPTION_STRING, 0x38},
- {"vendorclass", OPTION_STRING, 0x3C},
- {"clientid", OPTION_STRING, 0x3D},
-- {"tftp", OPTION_STRING, 0x42},
-- {"bootfile", OPTION_STRING, 0x43},
-+ {"tftp", OPTION_STRING | OPTION_REQ, 0x42},
-+ {"bootfile", OPTION_STRING | OPTION_REQ, 0x43},
- {"userclass", OPTION_STRING, 0x4D},
- /* MSIE's "Web Proxy Autodiscovery Protocol" support */
- {"wpad", OPTION_STRING, 0xfc},
+
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
CONFIG_FEATURE_HAVE_RPC=y
# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_EXEC_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/bin/initrd-busybox"
#
# Debugging Options
#
# CONFIG_DEBUG is not set
+# CONFIG_WERROR is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_NO_DEBUG_LIB is not set
# CONFIG_DMALLOC is not set
#
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
+# CONFIG_FEATURE_EDITING is not set
#
# Applets
#
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
+# CONFIG_CHRT is not set
# CONFIG_CROND is not set
# CONFIG_DEBUG_CROND_OPTION is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
# Networking Utilities
#
CONFIG_FEATURE_IPV6=y
+CONFIG_VERBOSE_RESOLUTION_ERRORS=y
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
# CONFIG_DNSD is not set
diff -urN busybox-1.00-pre2/init/init.c busybox-1.00-pre2.org/init/init.c
--- busybox-1.00-pre2/init/init.c 2003-08-02 23:40:57.000000000 +0200
+++ busybox-1.00-pre2.org/init/init.c 2003-08-02 23:45:30.000000000 +0200
-@@ -155,7 +155,7 @@
- static char console[CONSOLE_BUFF_SIZE] = _PATH_CONSOLE;
+@@ -85,7 +85,7 @@
+ static struct init_action *init_action_list = NULL;
- #if !ENABLE_SYSLOGD
--static char *log_console = VC_5;
-+static char *log_console = VC_12;
+ #if !ENABLE_FEATURE_INIT_SYSLOG
+-static const char *log_console = VC_5;
++static const char *log_console = VC_12;
#endif
#if !ENABLE_DEBUG_INIT
static sig_atomic_t got_cont = 0;
+
+++ /dev/null
-diff -urN busybox-1.3.1.org/Makefile.flags busybox-1.3.1/Makefile.flags
---- busybox-1.3.1.org/Makefile.flags 2006-12-27 05:57:07.000000000 +0100
-+++ busybox-1.3.1/Makefile.flags 2007-01-01 00:44:07.834829250 +0100
-@@ -16,7 +16,7 @@
- -D"BB_VER=KBUILD_STR($(BB_VER))" -DBB_BT=AUTOCONF_TIMESTAMP
-
- CFLAGS += \
-- -Wall -Wstrict-prototypes -Wshadow -Werror -Wundef \
-+ -Wall -Wstrict-prototypes -Wshadow -Wundef \
- -funsigned-char -fno-builtin-strlen -finline-limit=0 -static-libgcc \
- -Os -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
- -fomit-frame-pointer -ffunction-sections -fdata-sections
#include "busybox.h"
static int print_formatted(char *format, int argc, char **argv);
-@@ -109,18 +112,137 @@
- }
+@@ -288,19 +288,135 @@
+ return save_argc - argc;
}
+/*
+
+static u_int32_t swap(u_int32_t i)
+{
-+ return (i << 24) | ((i & 0xff00) << 8) |
-+ ((i >> 8) & 0xff00) | (i >> 24);
++ return (i << 24) | ((i & 0xff00) << 8) |
++ ((i >> 8) & 0xff00) | (i >> 24);
+}
-+
+#define swap_if(a) ((has_to_swap) ? swap(a) : (a))
+
+static char *getmsg(const char *filename, const char *msgid)
+ struct string_desc *orig_tab, *trans_tab = NULL;
+ int act = -1;
+ char *ret = (char*)msgid;
-+
++
+ if (filename == NULL || stat(filename, &st))
+ return ret;
+
+ return ret;
+
+ ptr = (struct mo_file_header *) mmap(NULL, st.st_size, PROT_READ,
-+ MAP_PRIVATE, fd, 0);
++ MAP_PRIVATE, fd, 0);
+ close(fd);
+
+ if (ptr == (void*)-1)
+ /* FIXME: use hash table */
+
+ orig_tab = (struct string_desc *)
-+ ((char *) ptr + swap_if(ptr->orig_tab_offset));
++ ((char *) ptr + swap_if(ptr->orig_tab_offset));
+ trans_tab = (struct string_desc *)
-+ ((char *) ptr + swap_if(ptr->trans_tab_offset));
++ ((char *) ptr + swap_if(ptr->trans_tab_offset));
+
+ bottom = 0;
+ top = swap_if(ptr->nstrings);
+ while (bottom < top) {
+ int cmp_val;
-+
+ act = (bottom + top) / 2;
+ cmp_val =
-+ strcmp(msgid,
-+ ((char *) ptr + swap_if(orig_tab[act].offset)));
++ strcmp(msgid,
++ ((char *) ptr + swap_if(orig_tab[act].offset)));
+ if (cmp_val < 0)
+ top = act;
+ else if (cmp_val > 0)
+ act = -1;
+ }
+
-+ oops:
++oops:
+ if (act != -1)
+ ret = strdup(((char *) ptr + swap_if(trans_tab[act].offset)));
+ munmap(ptr, st.st_size);
+# define getmsg(a,b) (b)
+#endif
+
+ int printf_main(int argc, char **argv);
int printf_main(int argc, char **argv)
{
char *format;
- int args_used;
-+ int opt;
+- int args_used;
++ int args_used, opt;
+ const char *nls_file = NULL;
- if (argc <= 1 || argv[1][0] == '-') {
- }
+ while ((opt = getopt(argc, argv, "n:")) != -1)
+ switch (opt) {
-+ case 'n':
-+ nls_file = optarg;
-+ break;
-+ default:
-+ bb_show_usage();
-+ break;
++ case 'n':
++ nls_file = optarg;
++ break;
++ default:
++ bb_show_usage();
++ break;
+ }
+
+ format = getmsg(nls_file, argv[optind++]);
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
CONFIG_FEATURE_HAVE_RPC=y
# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_EXEC_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
#
# Debugging Options
#
# CONFIG_DEBUG is not set
+# CONFIG_WERROR is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_NO_DEBUG_LIB is not set
# CONFIG_DMALLOC is not set
#
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_FANCY_KEYS=y
+CONFIG_FEATURE_EDITING_VI=y
+CONFIG_FEATURE_EDITING_HISTORY=15
+CONFIG_FEATURE_EDITING_SAVEHISTORY=y
+CONFIG_FEATURE_TAB_COMPLETION=y
+CONFIG_FEATURE_USERNAME_COMPLETION=y
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
#
# Applets
#
CONFIG_ADJTIMEX=y
# CONFIG_BBCONFIG is not set
+CONFIG_CHRT=y
CONFIG_CROND=y
# CONFIG_DEBUG_CROND_OPTION is not set
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
# Networking Utilities
#
CONFIG_FEATURE_IPV6=y
+CONFIG_VERBOSE_RESOLUTION_ERRORS=y
# CONFIG_ARP is not set
CONFIG_ARPING=y
CONFIG_DNSD=y