Hi, "Pierre Riteau" <[EMAIL PROTECTED]> wrote: > On Jan 16, 2008 10:35 PM, Sebastian Reitenbach > <[EMAIL PROTECTED]> wrote: > > 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? > > Define POSIXLY_CORRECT in your Linux program to make it work like on OpenBSD ;) > See the getopt(3) on your Linux system for more details, but > basically, OpenBSD getopt(3) stops when it encounters the first > non-option argument, while GNU getopt(3) parses the whole argv array. > If you really need your "asdf" argument before the option, you can > parse it and do the argv++, argc-- dance before calling getopt(3). > Otherwise, just use ./a.out -n asdf.
I haven't written the program, its one of the tools installed with the heartbeat port, maybe others that use the options in such a way. I recognized it while upgrading. So I cannot easily switch the whole synopsis of the parameters of that tool. So I'll have to fiddle around with what you suggested. Thanks to everyone who answered. Sebastian

