fix(cli): save --mode argument before comparing to avoid argv advance#526
fix(cli): save --mode argument before comparing to avoid argv advance#526somethingwithproof wants to merge 1 commit into
Conversation
getarg(opt, &argv) advances the argv pointer on each call. Three successive calls in the --mode handler consumed three argv entries instead of one, corrupting subsequent argument parsing when using the space-separated form (--mode online). Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
There was a problem hiding this comment.
Pull request overview
Fixes a command-line parsing bug in --mode handling where repeated getarg(opt, &argv) calls advanced argv multiple times, corrupting subsequent argument parsing for space-separated usage (e.g., --mode online).
Changes:
- Capture the
--modeargument value once into a localmode_argvariable. - Reuse
mode_argfor all comparisons (online/offline/recovery) to avoid advancingargvmultiple times. - Improve the invalid-mode error to report the actual provided mode value.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Code-reviewed as part of a batch with #525-#531. These 7 atomic bug fixes are independent of each other and can be merged in any order; recommend bundling into a single dated release. The Windows/CMake work in #523/#524 should follow this batch, and #512 (production CI pipeline) should be split into smaller PRs before review. |
|
Superseded by #523 after consolidation to reduce overlap and merge conflicts. |
getarg(opt, &argv) advances the argv pointer on each call. Three successive calls in the --mode handler consumed three argv entries instead of one, corrupting subsequent argument parsing when using the space-separated form (--mode online).