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

Diff for /mandoc/Attic/libmdocml.c between version 1.7 and 1.10

version 1.7, 2008/11/23 23:12:47 version 1.10, 2008/11/25 12:51:17
Line 17 
Line 17 
  * PERFORMANCE OF THIS SOFTWARE.   * PERFORMANCE OF THIS SOFTWARE.
  */   */
 #include <assert.h>  #include <assert.h>
   #include <ctype.h>
 #include <fcntl.h>  #include <fcntl.h>
 #include <err.h>  #include <err.h>
 #include <stdio.h>  #include <stdio.h>
Line 136  md_run_leave(const struct md_args *args, struct md_mbu
Line 137  md_run_leave(const struct md_args *args, struct md_mbu
         /* Run exiters. */          /* Run exiters. */
         switch (args->type) {          switch (args->type) {
         case (MD_HTML4_STRICT):          case (MD_HTML4_STRICT):
                 if ( ! md_exit_html4_strict(args, mbuf, rbuf, c, data))                  if ( ! md_exit_html4_strict(data, -1 == c ? 0 : 1))
                         return(-1);                          c = -1;
                 break;                  break;
         case (MD_DUMMY):  
                 break;  
         default:          default:
                 abort();                  if ( ! md_exit_dummy(data, -1 == c ? 0 : 1))
                           c = -1;
                   break;
         }          }
   
         /* Make final flush of buffer. */          /* Make final flush of buffer. */
Line 188  again:
Line 189  again:
                 return(md_run_leave(args, mbuf, rbuf, 0, p));                  return(md_run_leave(args, mbuf, rbuf, 0, p));
   
         for (i = 0; i < sz; i++) {          for (i = 0; i < sz; i++) {
                   if ( ! isascii(rbuf->buf[i])) {
                           warnx("%s: non-ascii char (line %zu, col %zu)",
                                           rbuf->name, rbuf->line, pos);
                           return(md_run_leave(args, mbuf, rbuf, -1, p));
                   }
                 if ('\n' != rbuf->buf[i]) {                  if ('\n' != rbuf->buf[i]) {
                         if (pos < BUFFER_LINE) {                          if (pos < BUFFER_LINE) {
                                 /* LINTED */                                  /* LINTED */
Line 199  again:
Line 205  again:
                         return(md_run_leave(args, mbuf, rbuf, -1, p));                          return(md_run_leave(args, mbuf, rbuf, -1, p));
                 }                  }
   
                 if ( ! (*fp)(args, mbuf, rbuf, line, pos, p))                  line[pos] = 0;
                   if ( ! (*fp)(p, line, pos))
                         return(md_run_leave(args, mbuf, rbuf, -1, p));                          return(md_run_leave(args, mbuf, rbuf, -1, p));
                 rbuf->line++;                  rbuf->line++;
                 pos = 0;                  pos = 0;
Line 227  md_run(const struct md_args *args,
Line 234  md_run(const struct md_args *args,
   
         mbuf.pos = 0;          mbuf.pos = 0;
         rbuf.line = 1;          rbuf.line = 1;
         data = NULL;  
   
         /* Run initialisers. */          /* Run initialisers. */
         switch (args->type) {          switch (args->type) {
         case (MD_HTML4_STRICT):          case (MD_HTML4_STRICT):
                 if ( ! md_init_html4_strict(args, &mbuf, &rbuf, &data))                  data = md_init_html4_strict
                         return(-1);                          (args, &mbuf, &rbuf);
                 break;                  break;
         case (MD_DUMMY):  
                 break;  
         default:          default:
                 abort();                  data = md_init_dummy
                           (args, &mbuf, &rbuf);
                   break;
         }          }
   
         /* Go into mainline. */          /* Go into mainline. */

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10

CVSweb