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

Diff for /mandoc/html.c between version 1.84 and 1.85

version 1.84, 2009/11/12 08:21:05 version 1.85, 2009/11/14 11:58:36
Line 91  extern int    getsubopt(char **, char * const *, char 
Line 91  extern int    getsubopt(char **, char * const *, char 
 static  void              print_spec(struct html *, const char *, size_t);  static  void              print_spec(struct html *, const char *, size_t);
 static  void              print_res(struct html *, const char *, size_t);  static  void              print_res(struct html *, const char *, size_t);
 static  void              print_ctag(struct html *, enum htmltag);  static  void              print_ctag(struct html *, enum htmltag);
 static  void              print_encode(struct html *, const char *);  static  int               print_encode(struct html *, const char *);
   
   
 void *  void *
Line 220  print_res(struct html *h, const char *p, size_t len)
Line 220  print_res(struct html *h, const char *p, size_t len)
 }  }
   
   
 static void  static int
 print_encode(struct html *h, const char *p)  print_encode(struct html *h, const char *p)
 {  {
         size_t           sz;          size_t           sz;
         int              len;          int              len, nospace;
         const char      *seq;          const char      *seq;
         enum roffdeco    deco;          enum roffdeco    deco;
   
           nospace = 0;
   
         for (; *p; p++) {          for (; *p; p++) {
                 sz = strcspn(p, "\\<>&");                  sz = strcspn(p, "\\<>&");
   
Line 264  print_encode(struct html *h, const char *p)
Line 266  print_encode(struct html *h, const char *p)
                 p += len - 1;                  p += len - 1;
   
                 if (DECO_NOSPACE == deco && '\0' == *(p + 1))                  if (DECO_NOSPACE == deco && '\0' == *(p + 1))
                         h->flags |= HTML_NOSPACE;                          nospace = 1;
         }          }
   
           return(nospace);
 }  }
   
   
Line 296  print_otag(struct html *h, enum htmltag tag, 
Line 300  print_otag(struct html *h, enum htmltag tag, 
         for (i = 0; i < sz; i++) {          for (i = 0; i < sz; i++) {
                 printf(" %s=\"", htmlattrs[p[i].key]);                  printf(" %s=\"", htmlattrs[p[i].key]);
                 assert(p->val);                  assert(p->val);
                 print_encode(h, p[i].val);                  (void)print_encode(h, p[i].val);
                 putchar('\"');                  putchar('\"');
         }          }
         putchar('>');          putchar('>');

Legend:
Removed from v.1.84  
changed lines
  Added in v.1.85

CVSweb