summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-01-07 15:57:14 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-01-07 15:57:14 +0000
commit764912ffd1d25c58186eba0c2f70ff0de3d08a7b (patch)
treebca4c3661a4f3d86a317eeb6a08f1729b87002c2
parent9dd355694618bcd06487072ef69080b1afa3dead (diff)
downloadmandoc-764912ffd1d25c58186eba0c2f70ff0de3d08a7b.tar.gz
mandoc-764912ffd1d25c58186eba0c2f70ff0de3d08a7b.tar.zst
mandoc-764912ffd1d25c58186eba0c2f70ff0de3d08a7b.zip
Added line numbering.
-rw-r--r--macro.c14
-rw-r--r--mdoc.c9
-rw-r--r--private.h13
-rw-r--r--prologue.c10
4 files changed, 24 insertions, 22 deletions
diff --git a/macro.c b/macro.c
index 6cc28953..f7395c8b 100644
--- a/macro.c
+++ b/macro.c
@@ -1,4 +1,4 @@
-/* $Id: macro.c,v 1.25 2009/01/07 15:53:00 kristaps Exp $ */
+/* $Id: macro.c,v 1.26 2009/01/07 15:57:14 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -314,7 +314,7 @@ macro_close_explicit(MACRO_PROT_ARGS)
return(0);
flushed = 1;
}
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
break;
}
@@ -405,7 +405,7 @@ macro_text(MACRO_PROT_ARGS)
return(0);
}
mdoc_argv_free(argc, argv);
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
if (ppos > 1)
return(1);
@@ -504,7 +504,7 @@ macro_scoped(MACRO_PROT_ARGS)
continue;
}
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
break;
}
@@ -565,7 +565,7 @@ macro_scoped_line(MACRO_PROT_ARGS)
continue;
}
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
break;
}
@@ -645,7 +645,7 @@ macro_constant_scoped(MACRO_PROT_ARGS)
mdoc_body_alloc(mdoc, ppos, tok);
mdoc->next = MDOC_NEXT_CHILD;
}
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
break;
}
@@ -751,7 +751,7 @@ macro_constant_delimited(MACRO_PROT_ARGS)
if ( ! flushed && ! rewind_elem(mdoc, ppos, tok))
return(0);
flushed = 1;
- if ( ! mdoc_macro(mdoc, c, lastarg, pos, buf))
+ if ( ! mdoc_macro(mdoc, c, line, lastarg, pos, buf))
return(0);
break;
}
diff --git a/mdoc.c b/mdoc.c
index b97908ac..fc6d8afc 100644
--- a/mdoc.c
+++ b/mdoc.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc.c,v 1.20 2009/01/07 15:53:00 kristaps Exp $ */
+/* $Id: mdoc.c,v 1.21 2009/01/07 15:57:14 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -312,7 +312,7 @@ mdoc_parseln(struct mdoc *mdoc, int line, char *buf)
while (buf[i] && isspace(buf[i]))
i++;
- if ( ! mdoc_macro(mdoc, c, 1, &i, buf)) {
+ if ( ! mdoc_macro(mdoc, c, line, 1, &i, buf)) {
mdoc->flags |= MDOC_HALT;
return(0);
}
@@ -358,7 +358,8 @@ mdoc_warn(struct mdoc *mdoc, int tok, int pos, enum mdoc_warn type)
int
-mdoc_macro(struct mdoc *mdoc, int tok, int ppos, int *pos, char *buf)
+mdoc_macro(struct mdoc *mdoc, int tok,
+ int line, int ppos, int *pos, char *buf)
{
if ( ! (MDOC_PROLOGUE & mdoc_macros[tok].flags) &&
@@ -375,7 +376,7 @@ mdoc_macro(struct mdoc *mdoc, int tok, int ppos, int *pos, char *buf)
return(0);
}
- return((*mdoc_macros[tok].fp)(mdoc, tok, ppos, pos, buf));
+ return((*mdoc_macros[tok].fp)(mdoc, tok, line, ppos, pos, buf));
}
diff --git a/private.h b/private.h
index 910e6f1c..9a441f0a 100644
--- a/private.h
+++ b/private.h
@@ -1,4 +1,4 @@
-/* $Id: private.h,v 1.57 2009/01/07 15:53:00 kristaps Exp $ */
+/* $Id: private.h,v 1.58 2009/01/07 15:57:14 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -40,8 +40,12 @@ struct mdoc {
enum mdoc_sec sec_last;
};
+
+#define MACRO_PROT_ARGS struct mdoc *mdoc, int tok, int line, \
+ int ppos, int *pos, char *buf
+
struct mdoc_macro {
- int (*fp)(struct mdoc *, int, int, int *, char *);
+ int (*fp)(MACRO_PROT_ARGS);
int flags;
#define MDOC_CALLABLE (1 << 0)
#define MDOC_PARSED (1 << 1)
@@ -53,15 +57,12 @@ struct mdoc_macro {
extern const struct mdoc_macro *const mdoc_macros;
-#define MACRO_PROT_ARGS struct mdoc *mdoc, int tok, \
- int ppos, int *pos, char *buf
-
__BEGIN_DECLS
int mdoc_err(struct mdoc *, int, int, enum mdoc_err);
int mdoc_warn(struct mdoc *, int, int, enum mdoc_warn);
void mdoc_msg(struct mdoc *, int, const char *, ...);
-int mdoc_macro(struct mdoc *, int, int, int *, char *);
+int mdoc_macro(MACRO_PROT_ARGS);
int mdoc_find(const struct mdoc *, const char *);
void mdoc_word_alloc(struct mdoc *, int, const char *);
void mdoc_elem_alloc(struct mdoc *, int, int,
diff --git a/prologue.c b/prologue.c
index b9dac28a..8fd053c7 100644
--- a/prologue.c
+++ b/prologue.c
@@ -1,4 +1,4 @@
-/* $Id: prologue.c,v 1.4 2009/01/05 17:57:08 kristaps Exp $ */
+/* $Id: prologue.c,v 1.5 2009/01/07 15:57:14 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -178,7 +178,7 @@ again:
return(0);
if (0 == j) {
- if (xstrcmp("$Mdocdate: January 5 2009 $", args[j])) {
+ if (xstrcmp("$Mdocdate: January 7 2009 $", args[j])) {
mdoc->meta.date = time(NULL);
goto again;
} else if (xstrcmp("$Mdocdate:", args[j]))
@@ -203,11 +203,11 @@ macro_prologue(MACRO_PROT_ARGS)
switch (tok) {
case (MDOC_Dt):
- return(prologue_dt(mdoc, tok, ppos, pos, buf));
+ return(prologue_dt(mdoc, tok, line, ppos, pos, buf));
case (MDOC_Dd):
- return(prologue_dd(mdoc, tok, ppos, pos, buf));
+ return(prologue_dd(mdoc, tok, line, ppos, pos, buf));
case (MDOC_Os):
- return(prologue_os(mdoc, tok, ppos, pos, buf));
+ return(prologue_os(mdoc, tok, line, ppos, pos, buf));
default:
break;
}