From df1c7b97fb2e65a121339984c44f8c64be9d5911 Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Sun, 1 May 2016 15:32:08 -0400
Subject: argv.h: usage screen generator: added basic paradigm support.

---
 src/internal/argv/argv.h | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'src/internal')

diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h
index f10d6f9..78d55d3 100644
--- a/src/internal/argv/argv.h
+++ b/src/internal/argv/argv.h
@@ -859,6 +859,7 @@ static void argv_usage(
 
 				while (*mark && (mark > desc)
 						&& (*mark != ' ')
+						&& (*mark != '|')
 						&& (*mark != '\t')
 						&& (*mark != '\n'))
 					mark--;
@@ -868,6 +869,9 @@ static void argv_usage(
 						? cap : desc + desclen;
 					cache = *mark;
 					*mark = 0;
+				} else if (*mark == '|') {
+					cache = *mark;
+					*mark = 0;
 				} else {
 					cache = 0;
 					*mark = 0;
@@ -877,7 +881,11 @@ static void argv_usage(
 				if (desc == description)
 					fprintf(stdout,"%s%s\n",optstr,desc);
 				else
-					fprintf(stdout,"%-*c %s\n",(int)optlen,' ',desc);
+					fprintf(stdout,"%-*c %s\n",
+						(*desc == '|')
+							? (int)(optlen+1)
+							: (int)optlen,
+						' ',desc);
 
 				if (cache)
 					*mark = cache;
-- 
cgit v1.2.3