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

Diff for /mandoc/html.c between version 1.137 and 1.138

version 1.137, 2011/04/30 22:24:31 version 1.138, 2011/05/14 16:28:23
Line 31 
Line 31 
 #include <unistd.h>  #include <unistd.h>
   
 #include "mandoc.h"  #include "mandoc.h"
   #include "libmandoc.h"
 #include "out.h"  #include "out.h"
 #include "html.h"  #include "html.h"
 #include "main.h"  #include "main.h"
Line 294  print_metaf(struct html *h, enum mandoc_esc deco)
Line 295  print_metaf(struct html *h, enum mandoc_esc deco)
                         print_otag(h, TAG_I, 0, NULL);                          print_otag(h, TAG_I, 0, NULL);
 }  }
   
   int
   html_strlen(const char *cp)
   {
           int              ssz, sz;
           const char      *seq, *p;
   
           /*
            * Account for escaped sequences within string length
            * calculations.  This follows the logic in term_strlen() as we
            * must calculate the width of produced strings.
            * Assume that characters are always width of "1".  This is
            * hacky, but it gets the job done for approximation of widths.
            */
   
           sz = 0;
           while (NULL != (p = strchr(cp, '\\'))) {
                   sz += (int)(p - cp);
                   ++cp;
                   switch (mandoc_escape(&cp, &seq, &ssz)) {
                   case (ESCAPE_ERROR):
                           return(sz);
                   case (ESCAPE_PREDEF):
                           sz++;
                           break;
                   case (ESCAPE_SPECIAL):
                           sz++;
                           break;
                   default:
                           break;
                   }
           }
   
           assert(sz >= 0);
           return(sz + strlen(cp));
   }
   
 static int  static int
 print_encode(struct html *h, const char *p, int norecurse)  print_encode(struct html *h, const char *p, int norecurse)

Legend:
Removed from v.1.137  
changed lines
  Added in v.1.138

CVSweb