summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man2html/defs.h2
-rw-r--r--man2html/man2html.c2
-rw-r--r--man2html/strdefs.c8
3 files changed, 9 insertions, 3 deletions
diff --git a/man2html/defs.h b/man2html/defs.h
index bfd56a4..b108429 100644
--- a/man2html/defs.h
+++ b/man2html/defs.h
@@ -17,7 +17,7 @@ struct INTDEF {
};
extern STRDEF *chardef, *strdef, *defdef;
-extern INTDEF *intdef;
+extern INTDEF *intdef, *nargdef;
#define V(A,B) ((A)*256+(B))
#define V4(A,B,C,D) ((((((((A)*256)+(B))*256)+(C))*256)+(D)))
diff --git a/man2html/man2html.c b/man2html/man2html.c
index 7e78446..94b3738 100644
--- a/man2html/man2html.c
+++ b/man2html/man2html.c
@@ -52,7 +52,7 @@ static char *scan_troff(char *c, int san, char **result);
static char *scan_troff_mandoc(char *c, int san, char **result);
static char **argument=NULL;
-int nargs;
+#define nargs (nargdef->val)
static char charb[5];
diff --git a/man2html/strdefs.c b/man2html/strdefs.c
index e97bcab..03f4012 100644
--- a/man2html/strdefs.c
+++ b/man2html/strdefs.c
@@ -1,3 +1,4 @@
+#include <stdlib.h>
#include "defs.h"
#ifndef NULL
@@ -10,7 +11,7 @@ int nroff = 1;
#define TROFF (-667)
STRDEF *chardef, *strdef, *defdef;
-INTDEF *intdef;
+INTDEF *intdef, *nargdef;
static INTDEF standardint[] = {
{ V('n',' '), NROFF, 0, NULL },
@@ -168,10 +169,15 @@ void stdinit(void) {
while (intdef->nr) {
if (intdef->nr == NROFF) intdef->nr = nroff; else
if (intdef->nr == TROFF) intdef->nr = !nroff;
+ if (intdef->nr == V('.','$'))
+ nargdef = intdef;
intdef->next = &standardint[i];
intdef = intdef->next;
i++;
}
intdef = &standardint[0];
defdef = NULL;
+
+ if (!nargdef)
+ abort();
}