summaryrefslogtreecommitdiffstats
path: root/boggle
diff options
context:
space:
mode:
Diffstat (limited to 'boggle')
-rw-r--r--boggle/boggle/bog.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/boggle/boggle/bog.c b/boggle/boggle/bog.c
index c3ca5474..44bbea02 100644
--- a/boggle/boggle/bog.c
+++ b/boggle/boggle/bog.c
@@ -155,21 +155,29 @@ main(argc, argv)
argc -= optind;
argv += optind;
- /* process boardspec if given */
+ /* process final arguments */
if (argc > 0)
if (strcmp(argv[0], "+") == 0)
reuse = 1;
else if (strcmp(argv[0], "++") == 0)
selfuse = 1;
- else if (islower(argv[0][0])) {
+
+ if (reuse || selfuse) {
+ argc -= 1;
+ argv += 1;
+ }
+
+ if (argc > 0)
+ if (islower(argv[0][0])) {
if (strlen(argv[0]) != 16) {
usage();
-
+ } else {
/* This board is assumed to be valid... */
bspec = argv[0];
- } else
- usage();
- }
+ }
+ } else {
+ usage();
+ }
if (batch && bspec == NULL)
errx(1, "must give both -b and a board setup");