b51380
argv.h: usage screen generator: fix typesetting of spanning paradigms.
@@ -910,6 +910,9 @@ static void argv_usage(
|
|
910
910
|
}
|
911
911
|
}
|
912
912
|
|
913
|
+
para = 0;
|
914
|
+
next_para = 0;
|
915
|
+
|
913
916
|
if (option->argname) {
|
914
917
|
if (option->optarg == ARGV_OPTARG_OPTIONAL)
|
915
918
|
fprintf(file,"[%s]%-*c",
|
@@ -919,7 +922,6 @@ static void argv_usage(
|
|
919
922
|
fprintf(file,"%s%-*c",
|
920
923
|
option->argname,
|
921
924
|
(int)(paralen-strlen(option->argname)),' ');
|
922
|
-
para = (char *)0;
|
923
925
|
} else if (option->paradigm && (rparalen <= paralen)) {
|
924
926
|
if (option->optarg == ARGV_OPTARG_OPTIONAL)
|
925
927
|
fprintf(file,"[{%s}]%-*c",
|
@@ -929,7 +931,6 @@ static void argv_usage(
|
|
929
931
|
fprintf(file,"{%s}%-*c",
|
930
932
|
option->paradigm,
|
931
933
|
(int)(paralen-strlen(option->paradigm)-rbblen),' ');
|
932
|
-
para = (char *)0;
|
933
934
|
} else if (option->paradigm) {
|
934
935
|
if (!paradigm && !(paradigm = calloc(1,mparalen))) {
|
935
936
|
fputc('\n',file);
|
@@ -944,10 +945,8 @@ static void argv_usage(
|
|
944
945
|
fputc('{',file);
|
945
946
|
rparalen = paralen - rblen;
|
946
947
|
}
|
947
|
-
} else
|
948
|
+
} else
|
948
949
|
fprintf(file,"%-*c",(int)paralen,' ');
|
949
|
-
para = (char *)0;
|
950
|
-
}
|
951
950
|
|
952
951
|
|
953
952
|
if (!para && option->description && rdesclen <= desclen) {
|
@@ -960,6 +959,24 @@ static void argv_usage(
|
|
960
959
|
desc = (char *)0;
|
961
960
|
|
962
961
|
while (para || desc) {
|
962
|
+
if (para && next_para) {
|
963
|
+
if (option->optarg == ARGV_OPTARG_OPTIONAL) {
|
964
|
+
if (rparalen+2*rbblen <= paralen) {
|
965
|
+
fprintf(file," %s}]%-*c",para,
|
966
|
+
(int)(paralen-rparalen)
|
967
|
+
- 2*rbblen,' ');
|
968
|
+
para = (char *)0;
|
969
|
+
}
|
970
|
+
} else {
|
971
|
+
if (rparalen+2*rblen <= paralen) {
|
972
|
+
fprintf(file," %s}%-*c",para,
|
973
|
+
(int)(paralen-rparalen)
|
974
|
+
- 2*rblen,' ');
|
975
|
+
para = (char *)0;
|
976
|
+
}
|
977
|
+
}
|
978
|
+
}
|
979
|
+
|
963
980
|
if (para) {
|
964
981
|
next_para = para+rparalen-1;
|
965
982
|
|
@@ -1001,7 +1018,9 @@ static void argv_usage(
|
|
1001
1018
|
(int)(paralen-strlen(para)-rblen),' ');
|
1002
1019
|
para = (char *)0;
|
1003
1020
|
}
|
1004
|
-
} else if (desc > buf
|
1021
|
+
} else if (next_para && (desc > buf))
|
1022
|
+
next_para = (char *)0;
|
1023
|
+
else if (desc > buf)
|
1005
1024
|
fprintf(file,"%-*c",(int)paralen,' ');
|
1006
1025
|
|
1007
1026
|
if (desc) {
|