commit 788d4a19ed0ddf9df069f9a6d5a8ecd9ebf932ee from: Stefan Sperling date: Tue Sep 14 14:18:59 2021 UTC validate status codes given to 'got status -S' commit - b043307bfaa7ea801d19677c0cdb5d4074c0c234 commit + 788d4a19ed0ddf9df069f9a6d5a8ecd9ebf932ee blob - 66d66fa67062d2fcd2b01b19223762ec2e13efab blob + 5b6177b6a11ae192f3557adf2123f4900a55dc4a --- got/got.c +++ got/got.c @@ -5323,6 +5323,11 @@ cmd_status(int argc, char *argv[]) case 'I': no_ignores = 1; break; + case 'S': + if (st.status_codes != NULL && st.suppress == 0) + option_conflict('S', 's'); + st.suppress = 1; + /* fallthrough */ case 's': for (i = 0; i < strlen(optarg); i++) { switch (optarg[i]) { @@ -5341,16 +5346,10 @@ cmd_status(int argc, char *argv[]) optarg[i]); } } - if (st.suppress) + if (ch == 's' && st.suppress) option_conflict('s', 'S'); st.status_codes = optarg; break; - case 'S': - if (st.status_codes != NULL && st.suppress == 0) - option_conflict('S', 's'); - st.status_codes = optarg; - st.suppress = 1; - break; default: usage_status(); /* NOTREACHED */