saves 9 bytes.
Signed-off-by: John Spencer <[email protected]>
function old new delta
.rodata 2367 2383 +16
static.flags - 13 +13
dumpkmap_main 281 256 -25
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 29/-25) Total: 4 bytes
text data bss dec hex filename
18820 826 2168 21814 5536 busybox_old
18811 826 2168 21805 552d busybox_unstripped
--- busybox-1.20.2.org/console-tools/dumpkmap.c 2013-09-16 10:31:35.559126113 +0000
+++ busybox-1.20.2/console-tools/dumpkmap.c 2013-09-16 12:06:13.034922314 +0000
@@ -36,29 +36,27 @@
{
struct kbentry ke;
int i, j, fd;
- RESERVE_CONFIG_BUFFER(flags, MAX_NR_KEYMAPS);
+ static const char flags[13] = {
+ [0] = 1, [1] = 1, [2] = 1,
+ [4] = 1, [5] = 1, [6] = 1,
+ [8] = 1, [9] = 1, [10] = 1,
+ [12] = 1,
+ };
/* When user accidentally runs "dumpkmap FILE"
* instead of "dumpkmap >FILE", we'd dump binary stuff to tty.
* Let's prevent it: */
if (argv[1])
bb_show_usage();
-/* bb_warn_ignoring_args(argv[1]);*/
fd = get_console_fd_or_die();
write(STDOUT_FILENO, "bkeymap", 7);
+ write(STDOUT_FILENO, flags, sizeof flags);
+ for(i=0; i<MAX_NR_KEYMAPS-sizeof flags;i++)
+ write(STDOUT_FILENO, &(char){0}, 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 */
- write(STDOUT_FILENO, flags, MAX_NR_KEYMAPS);
-
- for (i = 0; i < MAX_NR_KEYMAPS; i++) {
+ for (i = 0; i < 13; i++) {
if (flags[i] == 1) {
for (j = 0; j < NR_KEYS; j++) {
ke.kb_index = j;
@@ -76,7 +74,6 @@
}
if (ENABLE_FEATURE_CLEAN_UP) {
close(fd);
- RELEASE_CONFIG_BUFFER(flags);
}
return EXIT_SUCCESS;
}
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox