getopt_long returns an 'int'. If 'char' is used on a big-endian platform you'll end up with an infinite loop.