From: Rob Landley Date: Sat, 13 Aug 2005 01:22:03 +0000 (-0000) Subject: More backports: X-Git-Tag: 1_01~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0be69b16932c5adafb0c031515d9d4d9cb982aae;p=oweals%2Fbusybox.git More backports: 10957 start-stop-daemon -q 10981, 10982, 10994, 10996, 10997: dumpkmap cleanup 10983: top tweak 11000 traceroute --- diff --git a/busybox/console-tools/dumpkmap.c b/busybox/console-tools/dumpkmap.c index 6085a446b..5b5b296b4 100644 --- a/busybox/console-tools/dumpkmap.c +++ b/busybox/console-tools/dumpkmap.c @@ -35,11 +35,11 @@ struct kbentry { unsigned char kb_index; unsigned short kb_value; }; -static const int KDGKBENT = 0x4B46; /* gets one entry in translation table */ +#define KDGKBENT 0x4B46 /* gets one entry in translation table */ /* From */ -static const int NR_KEYS = 128; -static const int MAX_NR_KEYMAPS = 256; +#define NR_KEYS 128 +#define MAX_NR_KEYMAPS 256 int dumpkmap_main(int argc, char **argv) { @@ -47,28 +47,21 @@ int dumpkmap_main(int argc, char **argv) int i, j, fd; char flags[MAX_NR_KEYMAPS], magic[] = "bkeymap"; - if (argc>=2 && *argv[1]=='-') { + if (argc >= 2 && *argv[1] == '-') bb_show_usage(); - } - fd=bb_xopen(CURRENT_VC, O_RDWR); + fd = bb_xopen(CURRENT_VC, O_RDWR); write(1, magic, 7); - for (i=0; i < MAX_NR_KEYMAPS; i++) flags[i]=0; - flags[0]=1; - flags[1]=1; - flags[2]=1; - flags[4]=1; - flags[5]=1; - flags[6]=1; - flags[8]=1; - flags[9]=1; - flags[10]=1; - flags[12]=1; + /* Here we want to set everything to 0 except for indexes: + * [0-2] [4-6] [8-10] [12] */ + memset(flags, 0x00, MAX_NR_KEYMAPS); + memset(flags, 0x01, 13); + flags[3] = flags[7] = flags[11] = 0; /* dump flags */ - for (i=0; i < MAX_NR_KEYMAPS; i++) write(1,&flags[i],1); + write(1, flags, MAX_NR_KEYMAPS); for (i = 0; i < MAX_NR_KEYMAPS; i++) { if (flags[i] == 1) { @@ -76,13 +69,13 @@ int dumpkmap_main(int argc, char **argv) ke.kb_index = j; ke.kb_table = i; if (ioctl(fd, KDGKBENT, &ke) < 0) { - - bb_error_msg("ioctl returned: %m, %s, %s, %xqq", (char *)&ke.kb_index,(char *)&ke.kb_table,(int)&ke.kb_value); - } - else { - write(1,(void*)&ke.kb_value,2); - } - + bb_perror_msg("ioctl failed with %s, %s, %p", + (char *)&ke.kb_index, + (char *)&ke.kb_table, + &ke.kb_value); + } else { + write(1, (void*)&ke.kb_value, 2); + } } } } diff --git a/busybox/debianutils/start_stop_daemon.c b/busybox/debianutils/start_stop_daemon.c index 1eaf0d78c..03f49165c 100644 --- a/busybox/debianutils/start_stop_daemon.c +++ b/busybox/debianutils/start_stop_daemon.c @@ -242,6 +242,9 @@ start_stop_daemon_main(int argc, char **argv) bb_show_usage(); } + if (opt & SSD_OPT_QUIET) + quiet = 1; + if (signame) { signal_nr = bb_xgetlarg(signame, 10, 0, NSIG); } diff --git a/busybox/networking/traceroute.c b/busybox/networking/traceroute.c index cf90ec088..628b13492 100644 --- a/busybox/networking/traceroute.c +++ b/busybox/networking/traceroute.c @@ -418,7 +418,7 @@ traceroute_main(int argc, char *argv[]) datalen = atoi(*argv); if (datalen < 0 || datalen >= MAXPACKET - sizeof(struct opacket)) bb_error_msg_and_die("packet size must be 0 <= s < %d.", - MAXPACKET - sizeof(struct opacket)); + (int)(MAXPACKET - sizeof(struct opacket))); datalen += sizeof(struct opacket); outpacket = (struct opacket *)xmalloc((unsigned)datalen); memset(outpacket, 0, datalen); diff --git a/busybox/procps/top.c b/busybox/procps/top.c index 5963c3554..6a129efcf 100644 --- a/busybox/procps/top.c +++ b/busybox/procps/top.c @@ -52,11 +52,12 @@ typedef int (*cmp_t)(procps_status_t *P, procps_status_t *Q); static procps_status_t *top; /* Hehe */ static int ntop; - +#ifdef CONFIG_FEATURE_USE_TERMIOS static int pid_sort (procps_status_t *P, procps_status_t *Q) { return (Q->pid - P->pid); } +#endif static int mem_sort (procps_status_t *P, procps_status_t *Q) { @@ -410,7 +411,7 @@ static void clearmems(void) ntop = 0; } -#if defined CONFIG_FEATURE_USE_TERMIOS +#ifdef CONFIG_FEATURE_USE_TERMIOS #include #include #include @@ -439,7 +440,7 @@ static void sig_catcher (int sig) int top_main(int argc, char **argv) { int opt, interval, lines, col; -#if defined CONFIG_FEATURE_USE_TERMIOS +#ifdef CONFIG_FEATURE_USE_TERMIOS struct termios new_settings; struct timeval tv; fd_set readfds; @@ -473,7 +474,7 @@ int top_main(int argc, char **argv) if (chdir("/proc") < 0) { bb_perror_msg_and_die("chdir('/proc')"); } -#if defined CONFIG_FEATURE_USE_TERMIOS +#ifdef CONFIG_FEATURE_USE_TERMIOS tcgetattr(0, (void *) &initial_settings); memcpy(&new_settings, &initial_settings, sizeof(struct termios)); new_settings.c_lflag &= ~(ISIG | ICANON); /* unbuffered input */ @@ -499,13 +500,15 @@ int top_main(int argc, char **argv) #endif } #endif /* CONFIG_FEATURE_USE_TERMIOS */ + #ifdef FEATURE_CPU_USAGE_PERCENTAGE sort_function[0] = pcpu_sort; sort_function[1] = mem_sort; sort_function[2] = time_sort; #else sort_function = mem_sort; -#endif +#endif /* FEATURE_CPU_USAGE_PERCENTAGE */ + while (1) { /* read process IDs & status for all the processes */ procps_status_t * p; @@ -534,14 +537,14 @@ int top_main(int argc, char **argv) do_stats(); #else qsort(top, ntop, sizeof(procps_status_t), (void*)sort_function); -#endif +#endif /* FEATURE_CPU_USAGE_PERCENTAGE */ opt = lines; if (opt > ntop) { opt = ntop; } /* show status for each of the processes */ display_status(opt, col); -#if defined CONFIG_FEATURE_USE_TERMIOS +#ifdef CONFIG_FEATURE_USE_TERMIOS tv.tv_sec = interval; tv.tv_usec = 0; FD_ZERO (&readfds); @@ -549,8 +552,8 @@ int top_main(int argc, char **argv) select (1, &readfds, NULL, NULL, &tv); if (FD_ISSET (0, &readfds)) { if (read (0, &c, 1) <= 0) { /* signal */ - return EXIT_FAILURE; - } + return EXIT_FAILURE; + } if(c == 'q' || c == initial_settings.c_cc[VINTR]) return EXIT_SUCCESS; if(c == 'M') { @@ -584,7 +587,7 @@ int top_main(int argc, char **argv) } #else sleep(interval); -#endif /* CONFIG_FEATURE_USE_TERMIOS */ +#endif /* CONFIG_FEATURE_USE_TERMIOS */ clearmems(); }