diff options
-rw-r--r-- | coreutils/od_bloaty.c | 3 | ||||
-rwxr-xr-x | testsuite/od.tests | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/coreutils/od_bloaty.c b/coreutils/od_bloaty.c index f13bdfc11..fa0196ca4 100644 --- a/coreutils/od_bloaty.c +++ b/coreutils/od_bloaty.c | |||
@@ -665,7 +665,7 @@ decode_one_format(const char *s_orig, const char *s, struct tspec *tspec) | |||
665 | fmt = FLOATING_POINT; | 665 | fmt = FLOATING_POINT; |
666 | ++s; | 666 | ++s; |
667 | p = strchr(FDL, *s); | 667 | p = strchr(FDL, *s); |
668 | if (!p) { | 668 | if (!p || *p == '\0') { |
669 | size = sizeof(double); | 669 | size = sizeof(double); |
670 | if (isdigit(s[0])) { | 670 | if (isdigit(s[0])) { |
671 | size = bb_strtou(s, &end, 0); | 671 | size = bb_strtou(s, &end, 0); |
@@ -686,6 +686,7 @@ decode_one_format(const char *s_orig, const char *s, struct tspec *tspec) | |||
686 | }; | 686 | }; |
687 | 687 | ||
688 | size = FDL_sizeof[p - FDL]; | 688 | size = FDL_sizeof[p - FDL]; |
689 | s++; /* skip F/D/L */ | ||
689 | } | 690 | } |
690 | 691 | ||
691 | size_spec = fp_type_size[size]; | 692 | size_spec = fp_type_size[size]; |
diff --git a/testsuite/od.tests b/testsuite/od.tests index 7a9da3e97..0880e0d2f 100755 --- a/testsuite/od.tests +++ b/testsuite/od.tests | |||
@@ -16,6 +16,16 @@ testing "od -b" \ | |||
16 | "" "HELLO" | 16 | "" "HELLO" |
17 | SKIP= | 17 | SKIP= |
18 | 18 | ||
19 | optional DESKTOP | ||
20 | testing "od -f" \ | ||
21 | "od -f" \ | ||
22 | "\ | ||
23 | 0000000 0.0000000e+00 0.0000000e+00 | ||
24 | 0000010 | ||
25 | " \ | ||
26 | "" "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
27 | SKIP= | ||
28 | |||
19 | optional DESKTOP LONG_OPTS | 29 | optional DESKTOP LONG_OPTS |
20 | testing "od -b --traditional" \ | 30 | testing "od -b --traditional" \ |
21 | "od -b --traditional" \ | 31 | "od -b --traditional" \ |