+ opterr = 0;
+ while ((c = getopt (argc, argv, "6D")) != -1)
+ switch (c)
+ {
+ case '6':
+ ssm->cfg.address_ip6 = 1;
+ break;
+
+ case 'D':
+ ssm->cfg.transport_udp = 1;
+ break;
+
+ case '?':
+ switch (optopt)
+ {
+ default:
+ if (isprint (optopt))
+ fprintf (stderr, "SERVER: ERROR: Unknown "
+ "option `-%c'.\n", optopt);
+ else
+ fprintf (stderr, "SERVER: ERROR: Unknown "
+ "option character `\\x%x'.\n", optopt);
+ }
+ /* fall thru */
+ case 'h':
+ default:
+ print_usage_and_exit ();
+ }
+
+ if (argc < (optind + 1))
+ {
+ fprintf (stderr, "SERVER: ERROR: Insufficient number of arguments!\n");
+ print_usage_and_exit ();
+ }
+
+ if (sscanf (argv[optind], "%d", &v) == 1)