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

Diff for /mandoc/preconv.c between version 1.3 and 1.5

version 1.3, 2011/05/26 14:43:07 version 1.5, 2011/07/24 18:15:14
Line 18 
Line 18 
 #include "config.h"  #include "config.h"
 #endif  #endif
   
   #ifdef HAVE_MMAP
 #include <sys/stat.h>  #include <sys/stat.h>
 #include <sys/mman.h>  #include <sys/mman.h>
   #endif
   
 #include <assert.h>  #include <assert.h>
 #include <fcntl.h>  #include <fcntl.h>
Line 137  conv_utf_8(const struct buf *b)
Line 139  conv_utf_8(const struct buf *b)
   
         /* Quick test for big-endian value. */          /* Quick test for big-endian value. */
   
         if ( ! (*((char *)(&one))))          if ( ! (*((const char *)(&one))))
                 be = 1;                  be = 1;
   
         for (i = b->offs; i < b->sz; i++) {          for (i = b->offs; i < b->sz; i++) {
Line 244  static int
Line 246  static int
 read_whole_file(const char *f, int fd,  read_whole_file(const char *f, int fd,
                 struct buf *fb, int *with_mmap)                  struct buf *fb, int *with_mmap)
 {  {
         struct stat      st;  
         size_t           off;          size_t           off;
         ssize_t          ssz;          ssize_t          ssz;
   
   #ifdef  HAVE_MMAP
           struct stat      st;
         if (-1 == fstat(fd, &st)) {          if (-1 == fstat(fd, &st)) {
                 perror(f);                  perror(f);
                 return(0);                  return(0);
Line 273  read_whole_file(const char *f, int fd, 
Line 276  read_whole_file(const char *f, int fd, 
                 if (fb->buf != MAP_FAILED)                  if (fb->buf != MAP_FAILED)
                         return(1);                          return(1);
         }          }
   #endif
   
         /*          /*
          * If this isn't a regular file (like, say, stdin), then we must           * If this isn't a regular file (like, say, stdin), then we must
Line 376  cue_enc(const struct buf *b, size_t *offs, enum enc *e
Line 380  cue_enc(const struct buf *b, size_t *offs, enum enc *e
   
                 /* Check us against known encodings. */                  /* Check us against known encodings. */
   
                 for (i = 0; i < ENC__MAX; i++) {                  for (i = 0; i < (int)ENC__MAX; i++) {
                         nsz = strlen(encs[i].name);                          nsz = strlen(encs[i].name);
                         if (phsz < nsz)                          if (phsz < nsz)
                                 continue;                                  continue;
Line 403  main(int argc, char *argv[])
Line 407  main(int argc, char *argv[])
         struct buf       b;          struct buf       b;
         const char      *fn;          const char      *fn;
         enum enc         enc, def;          enum enc         enc, def;
         const char       bom[3] = { 0xEF, 0xBB, 0xBF };          unsigned char    bom[3] = { 0xEF, 0xBB, 0xBF };
         size_t           offs;          size_t           offs;
         extern int       optind;          extern int       optind;
         extern char     *optarg;          extern char     *optarg;
Line 427  main(int argc, char *argv[])
Line 431  main(int argc, char *argv[])
                 case ('D'):                  case ('D'):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case ('e'):                  case ('e'):
                         for (i = 0; i < ENC__MAX; i++) {                          for (i = 0; i < (int)ENC__MAX; i++) {
                                 if (strcasecmp(optarg, encs[i].name))                                  if (strcasecmp(optarg, encs[i].name))
                                         continue;                                          continue;
                                 break;                                  break;
                         }                          }
                         if (i < ENC__MAX) {                          if (i < (int)ENC__MAX) {
                                 if ('D' == ch)                                  if ('D' == ch)
                                         def = (enum enc)i;                                          def = (enum enc)i;
                                 else                                  else
Line 510  main(int argc, char *argv[])
Line 514  main(int argc, char *argv[])
   
         rc = EXIT_SUCCESS;          rc = EXIT_SUCCESS;
 out:  out:
   #ifdef  HAVE_MMAP
         if (map)          if (map)
                 munmap(b.buf, b.sz);                  munmap(b.buf, b.sz);
         else          else
   #endif
                 free(b.buf);                  free(b.buf);
   
         if (fd > STDIN_FILENO)          if (fd > STDIN_FILENO)

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

CVSweb