Open micahcowan opened 2 years ago
Thanks for figuring this one out @micahcowan, I had the same problem, I will see if I can find some special #define as you suggest
I've submitted PR #22 should fix dos33 for BSD (or Mac OSX) users while being compatible with linux, I tested both. If it is accepted I can check elsewhere, like prodos-utils as you suggest.
The problem is that BSD/traditional Unixes (including Darwin/Mac OS, which impacts me), use a
getopt()
that, by default, demands that all the options be specified before any non-option arguments.So, while e.g. dos33 -h gives:
Usage: dos33 [-h] [-y] [-x] disk_image COMMAND [options]
the reality is that, on my Mac, all of the options to COMMAND must be placed before the disk_image argument in order to be recognized bygetopt()
.That is, I may not portably type:
dos33 -y MY-DISK.DSK BSAVE -a 0x6000 MYBIN
but instead:dos33 -y -a 0x6000 MY-DISK.DSK BSAVE MYBIN
Suggested solutions:
getopt()
once for 'hyx', and then run it again after moving theargv
pointer past the disk_image and COMMAND arguments, so thatgetopt()
"sees" the following options as coming first.#define
d, or by calling a differently-namedgetopt()
routine?