annotate sbr/help.c @ 12:441a2190cfae

Lion fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 Apr 2012 13:10:49 +0900
parents bce86c4163a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 /* help.c - print the usage line */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 #ifndef lint
12
441a2190cfae Lion fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
3 static char ident[] = "@(#)$Id: help.c,v 1.1.1.1 2005/04/18 14:46:06 kono Exp $";
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 #endif /* lint */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 #include "../h/mh.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 #include <stdio.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 extern char *options[];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 void help (str, swp)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 register char *str;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 register struct swit *swp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 int nameoutput,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 len,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 linepos,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 outputlinelen;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 register char *cp,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 **ap;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 printf ("syntax: %s\n", str);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 printf (" switches are:\n");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 printsw (ALL, swp, "-");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 if ((cp = m_find (invo_name)) != NULL)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 printf ("profile: %s\n", cp);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 if (ssequal ("@(#)", cp = version))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 cp += 4;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 printf ("\nversion: %s\n", cp);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 nameoutput = linepos = 0;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 outputlinelen = OUTPUTLINELEN;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 for (ap = options; *ap; ap++) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 if (!nameoutput) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 fprintf (stdout, "%s: ", cp = "options");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 linepos += (nameoutput = strlen (cp) + 2);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 len = strlen (cp = *ap);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 if (linepos != nameoutput)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 if (len + linepos + 3 > outputlinelen)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 fprintf (stdout, "\n%*s", linepos = nameoutput, "");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 else {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 fputs (" ", stdout);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 linepos++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 fprintf (stdout, "[%s]", cp);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 linepos += len + 2;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 if (linepos)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 (void) fputc ('\n', stdout);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 }