summaryrefslogtreecommitdiff
path: root/source3/utils/profiles.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-10-02 18:22:51 +0000
committerJeremy Allison <jra@samba.org>2003-10-02 18:22:51 +0000
commit19953ff72e96694568f981fad40584774312ce6e (patch)
tree593f3d614c68dc5019d4029d871f6f1fb081a73c /source3/utils/profiles.c
parent567caaf5f9d48b881052a1272e0154f55faac462 (diff)
downloadsamba-19953ff72e96694568f981fad40584774312ce6e.tar.gz
samba-19953ff72e96694568f981fad40584774312ce6e.tar.bz2
samba-19953ff72e96694568f981fad40584774312ce6e.zip
Portability fixes from schmitz@hp.com (Joachim Schmitz). Bug #549.
Jeremy. (This used to be commit 93669f329eccec34d4a1da6239ae9759f067fb8b)
Diffstat (limited to 'source3/utils/profiles.c')
-rw-r--r--source3/utils/profiles.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/utils/profiles.c b/source3/utils/profiles.c
index 3230eb21fc..20b1222e72 100644
--- a/source3/utils/profiles.c
+++ b/source3/utils/profiles.c
@@ -295,7 +295,6 @@ Hope this helps.... (Although it was "fun" for me to uncover this things,
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
-#include <sys/mman.h>
typedef unsigned int DWORD;
typedef unsigned short WORD;
@@ -610,7 +609,12 @@ int main(int argc, char *argv[])
* dealing with the records. We are interested in the sk record
*/
start = 0;
+
+#ifdef HAVE_MMAP
base = mmap(&start, sbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+#else
+ base = (char *)-1;
+#endif
if ((int)base == -1) {
fprintf(stderr, "Could not mmap file: %s, %s\n", poptPeekArg(pc),
@@ -726,7 +730,9 @@ int main(int argc, char *argv[])
sk_hdr = (SK_HDR *)(base + OFF(IVAL(&sk_hdr->prev_off, 0)));
} while (sk_off != first_sk_off);
+#ifdef HAVE_MMAP
munmap(base, sbuf.st_size);
+#endif
poptFreeContext(pc);