Hi, I run into troubles with getopt(3). the test program below shows the problem. It produces different output on Linux and OpenBSD, when it is called like this on Linux it looks like this:
./a.out asdf -n option char: 110, n on OpenBSD, getopt returns -1 and no output is shown. what would be the best way to make it work on OpenBSD? cheers Sebastian #include <stdio.h> #include <stdlib.h> #include <unistd.h> extern char *optarg; extern int opterr; extern int optind; extern int optopt; extern int optreset; int main (int argc, char **argv) { char *optstr = "mpn"; int option_char; do { option_char = getopt(argc, argv, optstr); if (option_char == -1) { break; } switch (option_char) { case 'm': case 'p': case 'n': default: printf("option char: %i, %c\n", option_char, option_char); break; } } while (1); return 0; }