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

Diff for /mandoc/html.c between version 1.141 and 1.145

version 1.141, 2011/05/17 11:19:45 version 1.145, 2011/05/18 23:59:08
Line 272  print_metaf(struct html *h, enum mandoc_esc deco)
Line 272  print_metaf(struct html *h, enum mandoc_esc deco)
         case (ESCAPE_FONTBOLD):          case (ESCAPE_FONTBOLD):
                 font = HTMLFONT_BOLD;                  font = HTMLFONT_BOLD;
                 break;                  break;
           case (ESCAPE_FONT):
                   /* FALLTHROUGH */
         case (ESCAPE_FONTROMAN):          case (ESCAPE_FONTROMAN):
                 font = HTMLFONT_NONE;                  font = HTMLFONT_NONE;
                 break;                  break;
Line 315  html_strlen(const char *cp)
Line 317  html_strlen(const char *cp)
                 switch (mandoc_escape(&cp, &seq, &ssz)) {                  switch (mandoc_escape(&cp, &seq, &ssz)) {
                 case (ESCAPE_ERROR):                  case (ESCAPE_ERROR):
                         return(sz);                          return(sz);
                   case (ESCAPE_UNICODE):
                           /* FALLTHROUGH */
                 case (ESCAPE_NUMBERED):                  case (ESCAPE_NUMBERED):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case (ESCAPE_PREDEF):                  case (ESCAPE_PREDEF):
Line 373  print_encode(struct html *h, const char *p, int norecu
Line 377  print_encode(struct html *h, const char *p, int norecu
                         break;                          break;
   
                 switch (esc) {                  switch (esc) {
                   case (ESCAPE_UNICODE):
                           /* Skip passed "u" header. */
                           c = mchars_num2uc(seq + 1, len - 1);
                           if ('\0' != c)
                                   printf("&#x%x;", c);
                           break;
                 case (ESCAPE_NUMBERED):                  case (ESCAPE_NUMBERED):
                         c = mchars_num2char(seq, len);                          c = mchars_num2char(seq, len);
                         if ('\0' != c)                          if ('\0' != c)
Line 384  print_encode(struct html *h, const char *p, int norecu
Line 394  print_encode(struct html *h, const char *p, int norecu
                 case (ESCAPE_SPECIAL):                  case (ESCAPE_SPECIAL):
                         print_spec(h, seq, len);                          print_spec(h, seq, len);
                         break;                          break;
                   case (ESCAPE_FONT):
                           /* FALLTHROUGH */
                 case (ESCAPE_FONTPREV):                  case (ESCAPE_FONTPREV):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case (ESCAPE_FONTBOLD):                  case (ESCAPE_FONTBOLD):
Line 656  buffmt_includes(struct html *h, const char *name)
Line 668  buffmt_includes(struct html *h, const char *name)
   
         pp = h->base_includes;          pp = h->base_includes;
   
           bufinit(h);
         while (NULL != (p = strchr(pp, '%'))) {          while (NULL != (p = strchr(pp, '%'))) {
                 bufncat(h, pp, (size_t)(p - pp));                  bufncat(h, pp, (size_t)(p - pp));
                 switch (*(p + 1)) {                  switch (*(p + 1)) {
Line 680  buffmt_man(struct html *h, 
Line 693  buffmt_man(struct html *h, 
   
         pp = h->base_man;          pp = h->base_man;
   
         /* LINTED */          bufinit(h);
         while (NULL != (p = strchr(pp, '%'))) {          while (NULL != (p = strchr(pp, '%'))) {
                 bufncat(h, pp, (size_t)(p - pp));                  bufncat(h, pp, (size_t)(p - pp));
                 switch (*(p + 1)) {                  switch (*(p + 1)) {
Line 713  bufcat_su(struct html *h, const char *p, const struct 
Line 726  bufcat_su(struct html *h, const char *p, const struct 
 }  }
   
 void  void
 html_idcat(char *dst, const char *src, int sz)  bufcat_id(struct html *h, const char *src)
 {  {
         int              ssz;  
   
         assert(sz > 2);  
   
         /* Cf. <http://www.w3.org/TR/html4/types.html#h-6.2>. */          /* Cf. <http://www.w3.org/TR/html4/types.html#h-6.2>. */
   
         /* We can't start with a number (bah). */          while ('\0' != *src)
                   bufcat_fmt(h, "%.2x", *src++);
         if ('#' == *dst) {  
                 dst++;  
                 sz--;  
         }  
         if ('\0' == *dst) {  
                 *dst++ = 'x';  
                 *dst = '\0';  
                 sz--;  
         }  
   
         for ( ; *dst != '\0' && sz; dst++, sz--)  
                 /* Jump to end. */ ;  
   
         for ( ; *src != '\0' && sz > 1; src++) {  
                 ssz = snprintf(dst, (size_t)sz, "%.2x", *src);  
                 sz -= ssz;  
                 dst += ssz;  
         }  
 }  }

Legend:
Removed from v.1.141  
changed lines
  Added in v.1.145

CVSweb