]> git.cameronkatri.com Git - mandoc.git/blobdiff - preconv.c
catch up with the changed interface of mparse_alloc(), see mandoc.h rev 1.100
[mandoc.git] / preconv.c
index 59c3434913e7ab7379725aa9966cae92af8a1aec..a0b2d6415e99ba4d2c648db8777ce8d133817f4e 100644 (file)
--- a/preconv.c
+++ b/preconv.c
@@ -1,4 +1,4 @@
-/*     $Id: preconv.c,v 1.3 2011/05/26 14:43:07 kristaps Exp $ */
+/*     $Id: preconv.c,v 1.5 2011/07/24 18:15:14 kristaps Exp $ */
 /*
  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
 #include "config.h"
 #endif
 
+#ifdef HAVE_MMAP
 #include <sys/stat.h>
 #include <sys/mman.h>
+#endif
 
 #include <assert.h>
 #include <fcntl.h>
@@ -137,7 +139,7 @@ conv_utf_8(const struct buf *b)
 
        /* Quick test for big-endian value. */
 
-       if ( ! (*((char *)(&one))))
+       if ( ! (*((const char *)(&one))))
                be = 1;
 
        for (i = b->offs; i < b->sz; i++) {
@@ -244,10 +246,11 @@ static int
 read_whole_file(const char *f, int fd, 
                struct buf *fb, int *with_mmap)
 {
-       struct stat      st;
        size_t           off;
        ssize_t          ssz;
 
+#ifdef HAVE_MMAP
+       struct stat      st;
        if (-1 == fstat(fd, &st)) {
                perror(f);
                return(0);
@@ -273,6 +276,7 @@ read_whole_file(const char *f, int fd,
                if (fb->buf != MAP_FAILED)
                        return(1);
        }
+#endif
 
        /*
         * If this isn't a regular file (like, say, stdin), then we must
@@ -376,7 +380,7 @@ cue_enc(const struct buf *b, size_t *offs, enum enc *enc)
 
                /* 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);
                        if (phsz < nsz)
                                continue;
@@ -403,7 +407,7 @@ main(int argc, char *argv[])
        struct buf       b;
        const char      *fn;
        enum enc         enc, def;
-       const char       bom[3] = { 0xEF, 0xBB, 0xBF };
+       unsigned char    bom[3] = { 0xEF, 0xBB, 0xBF };
        size_t           offs;
        extern int       optind;
        extern char     *optarg;
@@ -427,12 +431,12 @@ main(int argc, char *argv[])
                case ('D'):
                        /* FALLTHROUGH */
                case ('e'):
-                       for (i = 0; i < ENC__MAX; i++) {
+                       for (i = 0; i < (int)ENC__MAX; i++) {
                                if (strcasecmp(optarg, encs[i].name))
                                        continue;
                                break;
                        }
-                       if (i < ENC__MAX) {
+                       if (i < (int)ENC__MAX) {
                                if ('D' == ch)
                                        def = (enum enc)i;
                                else
@@ -510,9 +514,11 @@ main(int argc, char *argv[])
 
        rc = EXIT_SUCCESS;
 out:
+#ifdef HAVE_MMAP
        if (map)
                munmap(b.buf, b.sz);
        else 
+#endif
                free(b.buf);
 
        if (fd > STDIN_FILENO)