summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2023-09-15 10:19:26 -0500
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2023-09-15 10:19:26 -0500
commit23cc07dd1655df05f6967ce848169ab4c658e707 (patch)
tree15a9fa0182742274b19978db600dd8778070cc93
parent58e9305753f41c401c248bfebc37b68fdd9ebe73 (diff)
Forbid -d when digit map cannot be shown
-d shows only the digit map and nothing else, so if the digit map cannot be shown (e.g. radices above 36 without -f), it makes sense to forbid this rather than print an empty string.
-rw-r--r--args.go2
-rw-r--r--print_digit_map.go4
2 files changed, 3 insertions, 3 deletions
diff --git a/args.go b/args.go
index fbb4cf0..0fb12d4 100644
--- a/args.go
+++ b/args.go
@@ -61,6 +61,8 @@ func parseArgs() (args, error) {
return args{}, uintParsingError(flag.Arg(0), err)
} else if radix < 2 {
return args{}, errors.New("Cannot use 0 or 1 as radices.")
+ } else if radix > maxSmallRadix && a.DigitMapOnly && !a.FullMap {
+ return args{}, errors.New("Used -d option, but digit map cannot be shown.")
}
a.Radix = uint(radix)
diff --git a/print_digit_map.go b/print_digit_map.go
index 1f5ad64..3e59c8c 100644
--- a/print_digit_map.go
+++ b/print_digit_map.go
@@ -12,9 +12,7 @@ import (
const maxSmallRadix = 36
func writeDigitMap(w io.Writer, digitMap []factors.DigitType) {
- if len(digitMap) < 2 {
- panic("Radices cannot be less than 2!")
- } else if len(digitMap) <= 36 {
+ if len(digitMap) <= 36 {
writeDigitMapSmall(w, digitMap)
}
}