← Commit list

969af8979

Paul Fox
Paul Fox
2005-11-28
SOURCE BUG Duration: 10s

Subject

add "-C" format to hexdump

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

include/usage.h+2 -1
@@ -1087,13 +1087,14 @@
"daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n"
#define hexdump_trivial_usage \
- "[-[bcdefnosvx]] [OPTION] FILE"
+ "[-[bcCdefnosvx]] [OPTION] FILE"
#define hexdump_full_usage \
"The hexdump utility is a filter which displays the specified files,\n" \
"or the standard input, if no files are specified, in a user specified\n" \
"format\n" \
"\t-b\t\tOne-byte octal display\n" \
"\t-c\t\tOne-byte character display\n" \
+ "\t-C\t\tCanonical hex+ASCII, 16 bytes per line\n" \
"\t-d\t\tTwo-byte decimal display\n" \
"\t-e FORMAT STRING\n" \
"\t-f FORMAT FILE\n" \
util-linux/hexdump.c+5 -1
@@ -57,7 +57,7 @@ static const char * const add_strings[] = {
static const char add_first[] = "\"%07.7_Ax\n\"";
-static const char hexdump_opts[] = "bcdoxe:f:n:s:v";
+static const char hexdump_opts[] = "bcdoxCe:f:n:s:v";
static const struct suffix_mult suffixes[] = {
{"b", 512 },
@@ -80,6 +80,10 @@ int hexdump_main(int argc, char **argv)
if ((p - hexdump_opts) < 5) {
bb_dump_add(add_first);
bb_dump_add(add_strings[(int)(p - hexdump_opts)]);
+ } else if (ch == 'C') {
+ bb_dump_add("\"%08.8_Ax\n\"");
+ bb_dump_add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" ");
+ bb_dump_add("\" |\" 16/1 \"%_p\" \"|\\n\"");
} else {
/* Sae a little bit of space below by omitting the 'else's. */
if (ch == 'e') {