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

Diff for /mandoc/Attic/xml.c between version 1.2 and 1.5

version 1.2, 2008/11/30 23:05:57 version 1.5, 2008/12/01 16:01:28
Line 28 
Line 28 
 #include "libmdocml.h"  #include "libmdocml.h"
 #include "private.h"  #include "private.h"
   
 #define INDENT           4  #define MAXINDENT        8
 #define COLUMNS          60  #define COLUMNS          60
   
 #ifdef  __linux__ /* FIXME */  #ifdef  __linux__ /* FIXME */
Line 40  enum md_tok {
Line 40  enum md_tok {
         MD_BLKOUT,          MD_BLKOUT,
         MD_IN,          MD_IN,
         MD_OUT,          MD_OUT,
         MD_TEXT          MD_TEXT,
           MD_OVERRIDE
 };  };
   
 struct  md_xml {  struct  md_xml {
Line 140  mbuf_indent(struct md_xml *p)
Line 141  mbuf_indent(struct md_xml *p)
         assert(p->pos == 0);          assert(p->pos == 0);
   
         /* LINTED */          /* LINTED */
         for (i = 0; i < MIN(p->indent, INDENT); i++)          for (i = 0; i < MIN(p->indent, MAXINDENT); i++)
                 if ( ! md_buf_putstring(p->mbuf, "    "))                  if ( ! md_buf_putstring(p->mbuf, "    "))
                         return(0);                          return(0);
   
         p->pos += i * INDENT;          p->pos += i * 4;
         return(1);          return(1);
 }  }
   
Line 194  mbuf_data(struct md_xml *p, int space, char *buf)
Line 195  mbuf_data(struct md_xml *p, int space, char *buf)
                                 return(0);                                  return(0);
                         if ( ! mbuf_nputstring(p, bufp, sz))                          if ( ! mbuf_nputstring(p, bufp, sz))
                                 return(0);                                  return(0);
                         if (p->indent * INDENT + sz >= COLUMNS) {                          if (p->indent * MAXINDENT + sz >= COLUMNS) {
                                 if ( ! mbuf_newline(p))                                  if ( ! mbuf_newline(p))
                                         return(0);                                          return(0);
                                 continue;                                  continue;
Line 329  rofftail(void *arg)
Line 330  rofftail(void *arg)
 static int  static int
 roffspecial(void *arg, int tok)  roffspecial(void *arg, int tok)
 {  {
           struct md_xml   *p;
   
         /* FIXME */          assert(arg);
           p = (struct md_xml *)arg;
   
           switch (tok) {
           case (ROFF_Ns):
                   p->last = MD_OVERRIDE;
                   break;
           default:
                   break;
           }
   
         return(1);          return(1);
 }  }
   
Line 481  roffout(void *arg, int tok)
Line 493  roffout(void *arg, int tok)
         assert(arg);          assert(arg);
         p = (struct md_xml *)arg;          p = (struct md_xml *)arg;
   
           /* Continue with a regular out token. */
   
         if (0 == p->pos && ! mbuf_indent(p))          if (0 == p->pos && ! mbuf_indent(p))
                 return(0);                  return(0);
   
Line 543  roffdata(void *arg, int space, char *buf)
Line 557  roffdata(void *arg, int space, char *buf)
         p->last = MD_TEXT;          p->last = MD_TEXT;
         return(1);          return(1);
 }  }
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

CVSweb