=================================================================== RCS file: /cvs/docbook2mdoc/parse.c,v retrieving revision 1.9 retrieving revision 1.12 diff -u -p -r1.9 -r1.12 --- docbook2mdoc/parse.c 2019/04/02 15:53:02 1.9 +++ docbook2mdoc/parse.c 2019/04/03 16:08:57 1.12 @@ -1,4 +1,4 @@ -/* $Id: parse.c,v 1.9 2019/04/02 15:53:02 schwarze Exp $ */ +/* $Id: parse.c,v 1.12 2019/04/03 16:08:57 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -98,7 +98,7 @@ static const struct element elements[] = { { "indexterm", NODE_DELETE }, { "info", NODE_INFO }, { "informalequation", NODE_INFORMALEQUATION }, - { "informaltable", NODE_INFORMALTABLE }, + { "informaltable", NODE_TABLE }, { "inlineequation", NODE_INLINEEQUATION }, { "itemizedlist", NODE_ITEMIZEDLIST }, { "keysym", NODE_KEYSYM }, @@ -166,6 +166,7 @@ static const struct element elements[] = { { "structname", NODE_STRUCTNAME }, { "subtitle", NODE_SUBTITLE }, { "surname", NODE_PERSONNAME }, + { "symbol", NODE_CONSTANT }, { "synopsis", NODE_SYNOPSIS }, { "table", NODE_TABLE }, { "tbody", NODE_TBODY }, @@ -692,14 +693,16 @@ parse_file(struct parse *p, int fd, const char *fname) /* Parse an attribute value. */ if (in_arg) { - if (in_quotes == 0 && b[pend] == '"') { - in_quotes = 1; + if (in_quotes == 0 && + (b[pend] == '\'' || b[pend] == '"')) { + in_quotes = b[pend] == '"' ? 2 : 1; p->ncol++; pend++; continue; } if (advance(p, b, rlen, &pend, - in_quotes ? "\"" : " >") && rsz > 0) + in_quotes == 2 ? "\"" : + in_quotes == 1 ? "'" : " >") && rsz > 0) break; in_arg = in_quotes = elem_end = 0; if (b[pend] == '>') {