=================================================================== RCS file: /cvs/mandoc/Attic/xml.c,v retrieving revision 1.17 retrieving revision 1.24 diff -u -p -r1.17 -r1.24 --- mandoc/Attic/xml.c 2008/12/06 21:10:31 1.17 +++ mandoc/Attic/xml.c 2008/12/10 12:05:33 1.24 @@ -1,4 +1,4 @@ -/* $Id: xml.c,v 1.17 2008/12/06 21:10:31 kristaps Exp $ */ +/* $Id: xml.c,v 1.24 2008/12/10 12:05:33 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -20,7 +20,6 @@ #include #include -#include "libmdocml.h" #include "private.h" #include "ml.h" @@ -34,13 +33,22 @@ static ssize_t xml_begintag(struct md_mbuf *, void *, const struct md_args *, enum md_ns, int, const int *, const char **); +static ssize_t xml_beginstring(struct md_mbuf *, + const struct md_args *, + const char *, size_t); +static ssize_t xml_endstring(struct md_mbuf *, + const struct md_args *, + const char *, size_t); static int xml_begin(struct md_mbuf *, const struct md_args *, const struct tm *, const char *, const char *, - const char *, const char *); -static int xml_end(struct md_mbuf *, - const struct md_args *); + enum roffmsec, enum roffvol); +static int xml_end(struct md_mbuf *, + const struct md_args *, + const struct tm *, + const char *, const char *, + enum roffmsec, enum roffvol); static ssize_t xml_printtagname(struct md_mbuf *, enum md_ns, int); static ssize_t xml_printtagargs(struct md_mbuf *, @@ -63,6 +71,8 @@ xml_printtagargs(struct md_mbuf *mbuf, const int *argc if ( ! ml_nputs(mbuf, " ", 1, &res)) return(-1); + /* FIXME: should puke on some, no? */ + if ( ! ml_puts(mbuf, tokargnames[c], &res)) return(-1); if ( ! ml_nputs(mbuf, "=\"", 2, &res)) @@ -117,22 +127,24 @@ xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, static int xml_begin(struct md_mbuf *mbuf, const struct md_args *args, const struct tm *tm, const char *os, - const char *title, const char *section, - const char *vol) + const char *title, enum roffmsec sec, enum roffvol vol) { if ( ! ml_puts(mbuf, "\n", NULL)) return(0); return(ml_puts(mbuf, "", NULL)); } /* ARGSUSED */ static int -xml_end(struct md_mbuf *mbuf, const struct md_args *args) +xml_end(struct md_mbuf *mbuf, const struct md_args *args, + const struct tm *tm, const char *os, + const char *title, enum roffmsec sec, enum roffvol vol) { return(ml_puts(mbuf, "", NULL)); @@ -141,6 +153,28 @@ xml_end(struct md_mbuf *mbuf, const struct md_args *ar /* ARGSUSED */ static ssize_t +xml_beginstring(struct md_mbuf *mbuf, + const struct md_args *args, + const char *buf, size_t sz) +{ + + return(0); +} + + +/* ARGSUSED */ +static ssize_t +xml_endstring(struct md_mbuf *mbuf, + const struct md_args *args, + const char *buf, size_t sz) +{ + + return(0); +} + + +/* ARGSUSED */ +static ssize_t xml_begintag(struct md_mbuf *mbuf, void *data, const struct md_args *args, enum md_ns ns, int tok, const int *argc, const char **argv) @@ -170,6 +204,7 @@ int xml_alloc(void **p) { + *p = NULL; return(1); } @@ -211,6 +246,8 @@ md_init_xml(const struct md_args *args, cbs.ml_endtag = xml_endtag; cbs.ml_begin = xml_begin; cbs.ml_end = xml_end; + cbs.ml_beginstring = xml_beginstring; + cbs.ml_endstring = xml_endstring; return(mlg_alloc(args, rbuf, mbuf, &cbs)); }