[BACK]Return to parse.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / docbook2mdoc

Diff for /docbook2mdoc/parse.c between version 1.6 and 1.8

version 1.6, 2019/03/28 15:05:40 version 1.8, 2019/04/02 13:11:09
Line 73  static const struct element elements[] = {
Line 73  static const struct element elements[] = {
         { "colspec",            NODE_COLSPEC },          { "colspec",            NODE_COLSPEC },
         { "command",            NODE_COMMAND },          { "command",            NODE_COMMAND },
         { "constant",           NODE_CONSTANT },          { "constant",           NODE_CONSTANT },
           { "contrib",            NODE_CONTRIB },
         { "copyright",          NODE_COPYRIGHT },          { "copyright",          NODE_COPYRIGHT },
         { "date",               NODE_DATE },          { "date",               NODE_DATE },
         { "editor",             NODE_EDITOR },          { "editor",             NODE_EDITOR },
Line 82  static const struct element elements[] = {
Line 83  static const struct element elements[] = {
         { "envar",              NODE_ENVAR },          { "envar",              NODE_ENVAR },
         { "fieldsynopsis",      NODE_FIELDSYNOPSIS },          { "fieldsynopsis",      NODE_FIELDSYNOPSIS },
         { "filename",           NODE_FILENAME },          { "filename",           NODE_FILENAME },
         { "firstname",          NODE_IGNORE },          { "firstname",          NODE_PERSONNAME },
         { "firstterm",          NODE_FIRSTTERM },          { "firstterm",          NODE_FIRSTTERM },
         { "footnote",           NODE_FOOTNOTE },          { "footnote",           NODE_FOOTNOTE },
         { "funcdef",            NODE_FUNCDEF },          { "funcdef",            NODE_FUNCDEF },
Line 122  static const struct element elements[] = {
Line 123  static const struct element elements[] = {
         { "option",             NODE_OPTION },          { "option",             NODE_OPTION },
         { "orderedlist",        NODE_ORDEREDLIST },          { "orderedlist",        NODE_ORDEREDLIST },
         { "orgname",            NODE_ORGNAME },          { "orgname",            NODE_ORGNAME },
         { "othername",          NODE_IGNORE },          { "othername",          NODE_PERSONNAME },
         { "para",               NODE_PARA },          { "para",               NODE_PARA },
         { "paramdef",           NODE_PARAMDEF },          { "paramdef",           NODE_PARAMDEF },
         { "parameter",          NODE_PARAMETER },          { "parameter",          NODE_PARAMETER },
Line 164  static const struct element elements[] = {
Line 165  static const struct element elements[] = {
         { "spanspec",           NODE_SPANSPEC },          { "spanspec",           NODE_SPANSPEC },
         { "structname",         NODE_STRUCTNAME },          { "structname",         NODE_STRUCTNAME },
         { "subtitle",           NODE_SUBTITLE },          { "subtitle",           NODE_SUBTITLE },
         { "surname",            NODE_IGNORE },          { "surname",            NODE_PERSONNAME },
         { "synopsis",           NODE_SYNOPSIS },          { "synopsis",           NODE_SYNOPSIS },
         { "table",              NODE_TABLE },          { "table",              NODE_TABLE },
         { "tbody",              NODE_TBODY },          { "tbody",              NODE_TBODY },
Line 521  struct ptree *
Line 522  struct ptree *
 parse_file(struct parse *p, int fd, const char *fname)  parse_file(struct parse *p, int fd, const char *fname)
 {  {
         char             b[4096];          char             b[4096];
           char            *cp;
         ssize_t          rsz;   /* Return value from read(2). */          ssize_t          rsz;   /* Return value from read(2). */
         size_t           rlen;  /* Number of bytes in b[]. */          size_t           rlen;  /* Number of bytes in b[]. */
         size_t           poff;  /* Parse offset in b[]. */          size_t           poff;  /* Parse offset in b[]. */
Line 646  parse_file(struct parse *p, int fd, const char *fname)
Line 648  parse_file(struct parse *p, int fd, const char *fname)
                                 if (advance(p, b, rlen, &pend, " >") &&                                  if (advance(p, b, rlen, &pend, " >") &&
                                     rsz > 0)                                      rsz > 0)
                                         break;                                          break;
                                   if (pend > poff + 3 &&
                                       strncmp(b + poff, "<!--", 4) == 0) {
   
                                           /* Skip a comment. */
   
                                           cp = strstr(b + pend - 2, "-->");
                                           if (cp == NULL) {
                                                   if (rsz > 0) {
                                                           pend = rlen;
                                                           break;
                                                   }
                                                   cp = b + rlen;
                                           } else
                                                   cp += 3;
                                           while (b + pend < cp) {
                                                   if (b[++pend] == '\n') {
                                                           p->nline++;
                                                           p->ncol = 1;
                                                   } else
                                                           p->ncol++;
                                           }
                                           continue;
                                   }
                                 elem_end = 0;                                  elem_end = 0;
                                 if (b[pend] != '>')                                  if (b[pend] != '>')
                                         in_tag = 1;                                          in_tag = 1;

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

CVSweb