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

Diff for /docbook2mdoc/docbook2mdoc.c between version 1.45 and 1.46

version 1.45, 2019/03/08 10:04:01 version 1.46, 2019/03/08 15:09:54
Line 225  xml_char(void *arg, const XML_Char *p, int sz)
Line 225  xml_char(void *arg, const XML_Char *p, int sz)
          */           */
         if (NODE_TEXT != ps->node) {          if (NODE_TEXT != ps->node) {
                 for (i = 0; i < sz; i++)                  for (i = 0; i < sz; i++)
                         if ( ! isspace((int)p[i]))                          if ( ! isspace((unsigned char)p[i]))
                                 break;                                  break;
                 if (i == sz)                  if (i == sz)
                         return;                          return;
Line 265  pnode_trim(struct pnode *pn)
Line 265  pnode_trim(struct pnode *pn)
   
         assert(NODE_TEXT == pn->node);          assert(NODE_TEXT == pn->node);
         for ( ; pn->bsz > 0; pn->bsz--)          for ( ; pn->bsz > 0; pn->bsz--)
                 if ( ! isspace((int)pn->b[pn->bsz - 1]))                  if ( ! isspace((unsigned char)pn->b[pn->bsz - 1]))
                         break;                          break;
 }  }
   
Line 580  pnode_printmacrolinetext(struct parse *p, struct pnode
Line 580  pnode_printmacrolinetext(struct parse *p, struct pnode
   
         /* Convert all space to spaces. */          /* Convert all space to spaces. */
         for (cp = p->b; '\0' != *cp; cp++)          for (cp = p->b; '\0' != *cp; cp++)
                 if (isspace((int)*cp))                  if (isspace((unsigned char)*cp))
                         *cp = ' ';                          *cp = ' ';
   
         for (cp = p->b; isspace((int)*cp); cp++)          for (cp = p->b; isspace((unsigned char)*cp); cp++)
                 /* Spin past whitespace (XXX: necessary?) */ ;                  /* Spin past whitespace (XXX: necessary?) */ ;
         for ( ; '\0' != *cp; cp++) {          for ( ; '\0' != *cp; cp++) {
                 /* Escape us if we look like a macro. */                  /* Escape us if we look like a macro. */
                 if ((cp == p->b || ' ' == *(cp - 1)) &&                  if ((cp == p->b || ' ' == *(cp - 1)) &&
                         isupper((int)*cp) &&                          isupper((unsigned char)*cp) &&
                         '\0' != *(cp + 1) &&                          '\0' != *(cp + 1) &&
                         islower((int)*(cp + 1)) &&                          islower((unsigned char)*(cp + 1)) &&
                         ('\0' == *(cp + 2) ||                          ('\0' == *(cp + 2) ||
                          ' ' == *(cp + 2) ||                           ' ' == *(cp + 2) ||
                          (islower((int)*(cp + 2)) &&                           (islower((unsigned char)*(cp + 2)) &&
                           ('\0' == *(cp + 3) ||                            ('\0' == *(cp + 3) ||
                            ' ' == *(cp + 3)))))                             ' ' == *(cp + 3)))))
                         fputs("\\&", stdout);                          fputs("\\&", stdout);
                 if (MACROLINE_UPPER & fl)                  if (MACROLINE_UPPER & fl)
                         putchar(toupper((int)*cp));                          putchar(toupper((unsigned char)*cp));
                 else                  else
                         putchar((int)*cp);                          putchar(*cp);
                 /* If we're a character escape, escape us. */                  /* If we're a character escape, escape us. */
                 if ('\\' == *cp)                  if ('\\' == *cp)
                         putchar('e');                          putchar('e');
Line 672  pnode_printmclosepunct(struct parse *p, struct pnode *
Line 672  pnode_printmclosepunct(struct parse *p, struct pnode *
         /* Only do this for the comma/period. */          /* Only do this for the comma/period. */
         if (pn->bsz > 0 &&          if (pn->bsz > 0 &&
                 (',' == pn->b[0] || '.' == pn->b[0]) &&                  (',' == pn->b[0] || '.' == pn->b[0]) &&
                 (1 == pn->bsz || isspace((int)pn->b[1]))) {                  (1 == pn->bsz || isspace((unsigned char)pn->b[1]))) {
                 putchar(' ');                  putchar(' ');
                 putchar(pn->b[0]);                  putchar(pn->b[0]);
                 pn->b++;                  pn->b++;
Line 1455  pnode_print(struct parse *p, struct pnode *pn)
Line 1455  pnode_print(struct parse *p, struct pnode *pn)
                 for (last = '\n'; '\0' != *cp; ) {                  for (last = '\n'; '\0' != *cp; ) {
                         if ('\n' == last) {                          if ('\n' == last) {
                                 /* Consume all whitespace. */                                  /* Consume all whitespace. */
                                 if (isspace((int)*cp)) {                                  if (isspace((unsigned char)*cp)) {
                                         while (isspace((int)*cp))                                          while (isspace((unsigned char)*cp))
                                                 cp++;                                                  cp++;
                                         continue;                                          continue;
                                 } else if ('\'' == *cp || '.' == *cp)                                  } else if ('\'' == *cp || '.' == *cp)

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46

CVSweb