=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/openssl/apps.c,v retrieving revision 1.9 retrieving revision 1.10 diff -c -r1.9 -r1.10 *** src/usr.bin/openssl/apps.c 2014/08/30 15:14:03 1.9 --- src/usr.bin/openssl/apps.c 2014/09/01 14:21:06 1.10 *************** *** 1,4 **** ! /* $OpenBSD: apps.c,v 1.9 2014/08/30 15:14:03 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing * --- 1,4 ---- ! /* $OpenBSD: apps.c,v 1.10 2014/09/01 14:21:06 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing * *************** *** 2234,2252 **** return -1; } void options_usage(struct option *opts) { ! const char *argname; ! char buf[32]; int i; for (i = 0; opts[i].name != NULL; i++) { if (opts[i].desc == NULL) continue; ! argname = (opts[i].argname != NULL) ? opts[i].argname : ""; ! snprintf(buf, sizeof(buf), "-%s %s", opts[i].name, argname); ! fprintf(stderr, " %-*s %s\n", 16, buf, opts[i].desc); } } --- 2234,2265 ---- return -1; } + #define OPTION_WIDTH 18 + void options_usage(struct option *opts) { ! const char *p, *q; ! char optstr[32]; int i; for (i = 0; opts[i].name != NULL; i++) { if (opts[i].desc == NULL) continue; ! ! snprintf(optstr, sizeof(optstr), "-%s %s", opts[i].name, ! (opts[i].argname != NULL) ? opts[i].argname : ""); ! fprintf(stderr, " %-*s", OPTION_WIDTH, optstr); ! if (strlen(optstr) > OPTION_WIDTH) ! fprintf(stderr, "\n %-*s", OPTION_WIDTH, ""); ! ! p = opts[i].desc; ! while ((q = strchr(p, '\n')) != NULL) { ! fprintf(stderr, " %.*s", (int)(q - p), p); ! fprintf(stderr, "\n %-*s", OPTION_WIDTH, ""); ! p = q + 1; ! } ! fprintf(stderr, " %s\n", p); } } *************** *** 2270,2276 **** *unnamed = arg; continue; } ! if (*p == '\0') goto unknown; for (j = 0; opts[j].name != NULL; j++) { --- 2283,2289 ---- *unnamed = arg; continue; } ! if (*p == '\0') /* XXX - end of named options. */ goto unknown; for (j = 0; opts[j].name != NULL; j++) {