]> andersk Git - gssapi-openssh.git/blobdiff - openssh/openbsd-compat/xmmap.c
fix another AIX build problem
[gssapi-openssh.git] / openssh / openbsd-compat / xmmap.c
index d85303132b97c18cfb6752a7ed9f51dec044d8c1..e0395e33f982919f2044581542f5d654cf19a787 100644 (file)
 
 #include "includes.h"
 
+#include <sys/types.h>
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
 #endif
+#include <sys/stat.h>
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+#include <errno.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
 
 #include "log.h"
 
-void *xmmap(size_t size)
+void *
+xmmap(size_t size)
 {
+#ifdef HAVE_MMAP
        void *address;
 
-#ifdef HAVE_MMAP
 # ifdef MAP_ANON
        address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_ANON|MAP_SHARED,
            -1, (off_t)0);
@@ -59,7 +71,8 @@ void *xmmap(size_t size)
                        fatal("mkstemp(\"%s\"): %s",
                            MM_SWAP_TEMPLATE, strerror(errno));
                unlink(tmpname);
-               ftruncate(tmpfd, size);
+               if (ftruncate(tmpfd, size) != 0)
+                       fatal("%s: ftruncate: %s", __func__, strerror(errno));
                address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_SHARED,
                    tmpfd, (off_t)0);
                close(tmpfd);
This page took 0.086049 seconds and 4 git commands to generate.