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

Diff for /mandoc/Attic/xml.c between version 1.24 and 1.25

version 1.24, 2008/12/10 12:05:33 version 1.25, 2008/12/10 17:31:58
Line 26 
Line 26 
   
 static  int             xml_alloc(void **);  static  int             xml_alloc(void **);
 static  void            xml_free(void *);  static  void            xml_free(void *);
 static  ssize_t         xml_endtag(struct md_mbuf *, void *,  static  ssize_t         xml_beginstring(struct ml_args *,
                                 const struct md_args *,  
                                 enum md_ns, int);  
 static  ssize_t         xml_begintag(struct md_mbuf *, void *,  
                                 const struct md_args *,  
                                 enum md_ns, int,  
                                 const int *, const char **);  
 static  ssize_t         xml_beginstring(struct md_mbuf *,  
                                 const struct md_args *,  
                                 const char *, size_t);                                  const char *, size_t);
 static  ssize_t         xml_endstring(struct md_mbuf *,  static  ssize_t         xml_endstring(struct ml_args *,
                                 const struct md_args *,  
                                 const char *, size_t);                                  const char *, size_t);
 static  int             xml_begin(struct md_mbuf *,  static  int             xml_begin(struct ml_args *, const struct tm *,
                                 const struct md_args *,  
                                 const struct tm *,  
                                 const char *, const char *,                                  const char *, const char *,
                                 enum roffmsec, enum roffvol);                                  enum roffmsec, enum roffvol);
 static  int             xml_end(struct md_mbuf *,  static  int             xml_end(struct ml_args *, const struct tm *,
                                 const struct md_args *,  
                                 const struct tm *,  
                                 const char *, const char *,                                  const char *, const char *,
                                 enum roffmsec, enum roffvol);                                  enum roffmsec, enum roffvol);
 static  ssize_t         xml_printtagname(struct md_mbuf *,  static  ssize_t         xml_printtagname(struct ml_args *,
                                 enum md_ns, int);                                  enum md_ns, int);
 static  ssize_t         xml_printtagargs(struct md_mbuf *,  static  ssize_t         xml_printtagargs(struct ml_args *,
                                 const int *, const char **);                                  const int *, const char **);
   static  ssize_t         xml_endtag(struct ml_args *, enum md_ns, int);
   static  ssize_t         xml_begintag(struct ml_args *, enum md_ns, int,
                                   const int *, const char **);
   
   
 static ssize_t  static ssize_t
 xml_printtagargs(struct md_mbuf *mbuf, const int *argc,  xml_printtagargs(struct ml_args *p, const int *argc, const char **argv)
                 const char **argv)  
 {  {
         int              i, c;          int              i, c;
         size_t           res;          size_t           res;
Line 68  xml_printtagargs(struct md_mbuf *mbuf, const int *argc
Line 57  xml_printtagargs(struct md_mbuf *mbuf, const int *argc
   
         /* LINTED */          /* LINTED */
         for (res = 0, i = 0; ROFF_ARGMAX != (c = argc[i]); i++) {          for (res = 0, i = 0; ROFF_ARGMAX != (c = argc[i]); i++) {
                 if ( ! ml_nputs(mbuf, " ", 1, &res))                  if ( ! ml_nputs(p->mbuf, " ", 1, &res))
                         return(-1);                          return(-1);
   
                 /* FIXME: should puke on some, no? */                  /* FIXME: should puke on some, no? */
   
                 if ( ! ml_puts(mbuf, tokargnames[c], &res))                  if ( ! ml_puts(p->mbuf, tokargnames[c], &res))
                         return(-1);                          return(-1);
                 if ( ! ml_nputs(mbuf, "=\"", 2, &res))                  if ( ! ml_nputs(p->mbuf, "=\"", 2, &res))
                         return(-1);                          return(-1);
                 if (argv[i]) {                  if (argv[i]) {
                         if ( ! ml_putstring(mbuf, argv[i], &res))                          if ( ! ml_putstring(p->mbuf, argv[i], &res))
                                 return(-1);                                  return(-1);
                 } else if ( ! ml_nputs(mbuf, "true", 4, &res))                  } else if ( ! ml_nputs(p->mbuf, "true", 4, &res))
                         return(-1);                          return(-1);
                 if ( ! ml_nputs(mbuf, "\"", 1, &res))                  if ( ! ml_nputs(p->mbuf, "\"", 1, &res))
                         return(-1);                          return(-1);
         }          }
   
Line 91  xml_printtagargs(struct md_mbuf *mbuf, const int *argc
Line 80  xml_printtagargs(struct md_mbuf *mbuf, const int *argc
   
   
 static ssize_t  static ssize_t
 xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, int tok)  xml_printtagname(struct ml_args *p, enum md_ns ns, int tok)
 {  {
         size_t           res;          size_t           res;
   
         res = 0;          res = 0;
         switch (ns) {          switch (ns) {
         case (MD_NS_BLOCK):          case (MD_NS_BLOCK):
                 if ( ! ml_nputs(mbuf, "block:", 6, &res))                  if ( ! ml_nputs(p->mbuf, "block:", 6, &res))
                         return(-1);                          return(-1);
                 break;                  break;
         case (MD_NS_INLINE):          case (MD_NS_INLINE):
                 if ( ! ml_nputs(mbuf, "inline:", 7, &res))                  if ( ! ml_nputs(p->mbuf, "inline:", 7, &res))
                         return(-1);                          return(-1);
                 break;                  break;
         case (MD_NS_BODY):          case (MD_NS_BODY):
                 if ( ! ml_nputs(mbuf, "body:", 5, &res))                  if ( ! ml_nputs(p->mbuf, "body:", 5, &res))
                         return(-1);                          return(-1);
                 break;                  break;
         case (MD_NS_HEAD):          case (MD_NS_HEAD):
                 if ( ! ml_nputs(mbuf, "head:", 5, &res))                  if ( ! ml_nputs(p->mbuf, "head:", 5, &res))
                         return(-1);                          return(-1);
                 break;                  break;
         default:          default:
                 break;                  break;
         }          }
   
         if ( ! ml_puts(mbuf, toknames[tok], &res))          if ( ! ml_puts(p->mbuf, toknames[tok], &res))
                 return(-1);                  return(-1);
         return((ssize_t)res);          return((ssize_t)res);
 }  }
Line 125  xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, 
Line 114  xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, 
   
 /* ARGSUSED */  /* ARGSUSED */
 static int  static int
 xml_begin(struct md_mbuf *mbuf, const struct md_args *args,  xml_begin(struct ml_args *p, const struct tm *tm, const char *os,
                 const struct tm *tm, const char *os,  
                 const char *title, enum roffmsec sec, enum roffvol vol)                  const char *title, enum roffmsec sec, enum roffvol vol)
 {  {
   
         if ( ! ml_puts(mbuf, "<?xml version=\"1.0\" "          if ( ! ml_puts(p->mbuf, "<?xml version=\"1.0\" "
                                 "encoding=\"UTF-8\"?>\n", NULL))                                  "encoding=\"UTF-8\"?>\n", NULL))
                 return(0);                  return(0);
         return(ml_puts(mbuf, "<mdoc xmlns:block=\"block\" "          return(ml_puts(p->mbuf, "<mdoc xmlns:block=\"block\" "
                                 "xmlns:body=\"body\" "                                  "xmlns:body=\"body\" "
                                 "xmlns:head=\"head\" "                                  "xmlns:head=\"head\" "
                                 "xmlns:inline=\"inline\">", NULL));                                  "xmlns:inline=\"inline\">", NULL));
Line 142  xml_begin(struct md_mbuf *mbuf, const struct md_args *
Line 130  xml_begin(struct md_mbuf *mbuf, const struct md_args *
   
 /* ARGSUSED */  /* ARGSUSED */
 static int  static int
 xml_end(struct md_mbuf *mbuf, const struct md_args *args,  xml_end(struct ml_args *p, const struct tm *tm, const char *os,
                 const struct tm *tm, const char *os,  
                 const char *title, enum roffmsec sec, enum roffvol vol)                  const char *title, enum roffmsec sec, enum roffvol vol)
 {  {
   
         return(ml_puts(mbuf, "</mdoc>", NULL));          return(ml_puts(p->mbuf, "</mdoc>", NULL));
 }  }
   
   
 /* ARGSUSED */  /* ARGSUSED */
 static ssize_t  static ssize_t
 xml_beginstring(struct md_mbuf *mbuf,  xml_beginstring(struct ml_args *p, const char *buf, size_t sz)
                 const struct md_args *args,  
                 const char *buf, size_t sz)  
 {  {
   
         return(0);          return(0);
Line 164  xml_beginstring(struct md_mbuf *mbuf, 
Line 149  xml_beginstring(struct md_mbuf *mbuf, 
   
 /* ARGSUSED */  /* ARGSUSED */
 static ssize_t  static ssize_t
 xml_endstring(struct md_mbuf *mbuf,  xml_endstring(struct ml_args *p, const char *buf, size_t sz)
                 const struct md_args *args,  
                 const char *buf, size_t sz)  
 {  {
   
         return(0);          return(0);
Line 175  xml_endstring(struct md_mbuf *mbuf, 
Line 158  xml_endstring(struct md_mbuf *mbuf, 
   
 /* ARGSUSED */  /* ARGSUSED */
 static ssize_t  static ssize_t
 xml_begintag(struct md_mbuf *mbuf, void *data,  xml_begintag(struct ml_args *p, enum md_ns ns,
                 const struct md_args *args, enum md_ns ns,  
                 int tok, const int *argc, const char **argv)                  int tok, const int *argc, const char **argv)
 {  {
         ssize_t          res, sz;          ssize_t          res, sz;
   
         if (-1 == (res = xml_printtagname(mbuf, ns, tok)))          if (-1 == (res = xml_printtagname(p, ns, tok)))
                 return(-1);                  return(-1);
         if (-1 == (sz = xml_printtagargs(mbuf, argc, argv)))          if (-1 == (sz = xml_printtagargs(p, argc, argv)))
                 return(-1);                  return(-1);
         return(res + sz);          return(res + sz);
 }  }
Line 191  xml_begintag(struct md_mbuf *mbuf, void *data,
Line 173  xml_begintag(struct md_mbuf *mbuf, void *data,
   
 /* ARGSUSED */  /* ARGSUSED */
 static ssize_t  static ssize_t
 xml_endtag(struct md_mbuf *mbuf, void *data,  xml_endtag(struct ml_args *p, enum md_ns ns, int tok)
                 const struct md_args *args, enum md_ns ns, int tok)  
 {  {
   
         return(xml_printtagname(mbuf, ns, tok));          return(xml_printtagname(p, ns, tok));
 }  }
   
   

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

CVSweb