svn commit: r196877 - head/sbin/geom/core

Pawel Jakub Dawidek pjd at FreeBSD.org
Sun Sep 6 06:48:50 UTC 2009


Author: pjd
Date: Sun Sep  6 06:48:50 2009
New Revision: 196877
URL: http://svn.freebsd.org/changeset/base/196877

Log:
  For any given subcommand allow to specify multi-line usage (separated by \n).
  
  Submitted by:	Mel Flynn

Modified:
  head/sbin/geom/core/geom.c

Modified: head/sbin/geom/core/geom.c
==============================================================================
--- head/sbin/geom/core/geom.c	Sun Sep  6 06:05:23 2009	(r196876)
+++ head/sbin/geom/core/geom.c	Sun Sep  6 06:48:50 2009	(r196877)
@@ -98,11 +98,21 @@ usage_command(struct g_command *cmd, con
 	struct g_option *opt;
 	unsigned i;
 
-	fprintf(stderr, "%s %s %s", prefix, comm, cmd->gc_name);
 	if (cmd->gc_usage != NULL) {
-		fprintf(stderr, " %s\n", cmd->gc_usage);
+		char *pos, *ptr, *sptr;
+
+		sptr = ptr = strdup(cmd->gc_usage);
+		while ((pos = strsep(&ptr, "\n")) != NULL) {
+			if (*pos == '\0')
+				continue;
+			fprintf(stderr, "%s %s %s %s\n", prefix, comm,
+			    cmd->gc_name, pos);
+		}
+		free(sptr);
 		return;
 	}
+
+	fprintf(stderr, "%s %s %s", prefix, comm, cmd->gc_name);
 	if ((cmd->gc_flags & G_FLAG_VERBOSE) != 0)
 		fprintf(stderr, " [-v]");
 	for (i = 0; ; i++) {


More information about the svn-src-head mailing list