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

Diff for /mandoc/Attic/libmdocml.c between version 1.18 and 1.19

version 1.18, 2008/12/03 14:39:59 version 1.19, 2008/12/08 16:29:57
Line 28 
Line 28 
 #include "libmdocml.h"  #include "libmdocml.h"
 #include "private.h"  #include "private.h"
   
 #define BUFFER_LINE      BUFSIZ /* Default line-buffer size. */  
   
 static  int      md_run_enter(const struct md_args *,  static  int      md_run_enter(const struct md_args *,
                         struct md_mbuf *, struct md_rbuf *, void *);                          struct md_mbuf *, struct md_rbuf *, void *);
 static  int      md_run_leave(const struct md_args *, struct md_mbuf *,  static  int      md_run_leave(const struct md_args *, struct md_mbuf *,
Line 162  md_run_enter(const struct md_args *args, struct md_mbu
Line 160  md_run_enter(const struct md_args *args, struct md_mbu
                 struct md_rbuf *rbuf, void *p)                  struct md_rbuf *rbuf, void *p)
 {  {
         ssize_t          sz, i;          ssize_t          sz, i;
         char             line[BUFFER_LINE];  
         size_t           pos;          size_t           pos;
           char             line[MD_LINE];
         md_line          fp;          md_line          fp;
   
         assert(args);          assert(args);
Line 192  again:
Line 190  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 < MD_LINE) {
                                 /* LINTED */                                  /* LINTED */
                                 line[pos++] = rbuf->buf[i];                                  rbuf->linebuf[pos++] = rbuf->buf[i];
                                 continue;                                  continue;
                         }                          }
                         warnx("%s: line %zu too long",                          warnx("%s: line %zu too long",
Line 210  again:
Line 201  again:
                         return(md_run_leave(args, mbuf, rbuf, -1, p));                          return(md_run_leave(args, mbuf, rbuf, -1, p));
                 }                  }
   
                 line[(int)pos] = 0;                  rbuf->linebuf[(int)pos] = 0;
                   (void)memcpy(line, rbuf->linebuf, sizeof(line));
                 if ( ! (*fp)(p, line))                  if ( ! (*fp)(p, line))
                         return(md_run_leave(args, mbuf, rbuf, -1, p));                          return(md_run_leave(args, mbuf, rbuf, -1, p));
                 rbuf->line++;                  rbuf->line++;

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

CVSweb