consolidate some arg processing

Unix and Windows had diverged significantly for command line
options handling.

This:
   1. uses the the Unix processing as a baseline.
   2. consolidates the code in earlyarg.c, where it can
      be a common copy to be shared.
   3. start converting the Windows command line argument
      processing to the Unix code that now resides in earlyarg.c.
This commit is contained in:
nhmall
2026-04-04 13:44:23 -04:00
parent 9c8c17b70c
commit 92340a6827
8 changed files with 480 additions and 402 deletions

View File

@@ -922,6 +922,10 @@ extern const char *endgamelevelname(char *, int);
/* ### earlyarg.c ### */
extern int argcheck(int, char **, enum earlyarg);
extern void early_options(int *argc_p, char ***argv_p, char **hackdir_p);
#ifdef WIN32
int windows_early_options(const char *);
#endif
/* ### eat.c ### */
@@ -2344,9 +2348,9 @@ extern int dohistory(void);
/* ### xxmain.c ### */
#if defined(MICRO) || defined(WIN32)
#if defined(UNIX) || defined(MICRO) || defined(WIN32)
#ifdef CHDIR
extern void chdirx(char *, boolean);
extern void chdirx(const char *, boolean);
#endif /* CHDIR */
extern boolean authorize_wizard_mode(void);
extern boolean authorize_explore_mode(void);