-/* $Id: macro.c,v 1.53 2009/02/26 14:56:27 kristaps Exp $ */
+/* $Id: macro.c,v 1.56 2009/03/05 12:08:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
* macro.
*/
+/*
+ * FIXME: don't use static mdoc_argv values, as they require us to do a
+ * complicated copy-over when actually assigning them to dynamic memory.
+ */
+
#include "private.h"
static int macro_obsolete(MACRO_PROT_ARGS);
return(perr(mdoc, line, ppos, EARGVLIM));
}
- c = mdoc_elem_alloc(mdoc, line, ppos, tok, argc, argv);
+ c = mdoc_elem_alloc(mdoc, line, ppos,
+ tok, (size_t)argc, argv);
if (0 == c) {
mdoc_argv_free(argc, argv);
return(0);
}
+ /* FIXME: .Fl and .Ar handling of `|'. */
+
if (ARGS_QWORD != w && mdoc_isdelim(p)) {
if (0 == lastpunct && ! rewind_elem(mdoc, tok)) {
mdoc_argv_free(argc, argv);
}
lastpunct = 1;
} else if (lastpunct) {
- c = mdoc_elem_alloc(mdoc, line,
- ppos, tok, argc, argv);
+ c = mdoc_elem_alloc(mdoc, line, ppos,
+ tok, (size_t)argc, argv);
if (0 == c) {
mdoc_argv_free(argc, argv);
return(0);
return(perr(mdoc, line, ppos, EARGVLIM));
}
- c = mdoc_elem_alloc(mdoc, line, ppos, tok, argc, argv);
+ c = mdoc_elem_alloc(mdoc, line, ppos,
+ tok, (size_t)argc, argv);
+
mdoc_argv_free(argc, argv);
if (0 == c)
return(perr(mdoc, line, ppos, EARGVLIM));
}
- c = mdoc_elem_alloc(mdoc, line, ppos, tok, argc, argv);
+ c = mdoc_elem_alloc(mdoc, line, ppos,
+ tok, (size_t)argc, argv);
+
mdoc_argv_free(argc, argv);
if (0 == c)