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

Diff for /mandoc/Attic/ml.c between version 1.3 and 1.4

version 1.3, 2008/12/03 19:21:58 version 1.4, 2008/12/04 16:19:52
Line 34  ml_nputstring(struct md_mbuf *p, 
Line 34  ml_nputstring(struct md_mbuf *p, 
                 const char *buf, size_t sz, size_t *pos)                  const char *buf, size_t sz, size_t *pos)
 {  {
         int              i;          int              i;
           const char      *seq;
           size_t           ssz;
   
         for (i = 0; i < (int)sz; i++) {          for (i = 0; i < (int)sz; i++) {
                 switch (buf[i]) {                  switch (buf[i]) {
   
                   /* Ampersand ml-escape. */
                 case ('&'):                  case ('&'):
                         if ( ! ml_nputs(p, "&amp;", 5, pos))                          seq = "&amp;";
                                 return(0);                          ssz = 5;
                         break;                          break;
   
                   /* Quotation ml-escape. */
                 case ('"'):                  case ('"'):
                         if ( ! ml_nputs(p, "&quot;", 6, pos))                          seq = "&quot;";
                                 return(0);                          ssz = 6;
                         break;                          break;
   
                   /* Lt ml-escape. */
                 case ('<'):                  case ('<'):
                         if ( ! ml_nputs(p, "&lt;", 4, pos))                          seq = "&lt;";
                                 return(0);                          ssz = 4;
                         break;                          break;
   
                   /* Gt ml-escape. */
                 case ('>'):                  case ('>'):
                         if ( ! ml_nputs(p, "&gt;", 4, pos))                          seq = "&gt;";
                                 return(0);                          ssz = 4;
                         break;                          break;
   
                 default:                  default:
                         if ( ! ml_nputs(p, &buf[i], 1, pos))                          seq = &buf[i];
                                 return(0);                          ssz = 1;
                         break;                          break;
                 }                  }
   
                   if ( ! ml_nputs(p, seq, ssz, pos))
                           return(-1);
         }          }
         return(1);          return(1);
 }  }
Line 67  int
Line 81  int
 ml_nputs(struct md_mbuf *p, const char *buf, size_t sz, size_t *pos)  ml_nputs(struct md_mbuf *p, const char *buf, size_t sz, size_t *pos)
 {  {
   
           if (0 == sz)
                   return(1);
   
         if ( ! md_buf_puts(p, buf, sz))          if ( ! md_buf_puts(p, buf, sz))
                 return(0);                  return(0);
   
Line 80  ml_puts(struct md_mbuf *p, const char *buf, size_t *po
Line 97  ml_puts(struct md_mbuf *p, const char *buf, size_t *po
 {  {
         size_t           sz;          size_t           sz;
   
         sz = strlen(buf);          if (0 == (sz = strlen(buf)))
                   return(1);
   
         if ( ! md_buf_puts(p, buf, sz))          if ( ! md_buf_puts(p, buf, sz))
                 return(0);                  return(0);
         *pos += sz;          *pos += sz;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

CVSweb