diff options
author | Tim King <taking@cs.nyu.edu> | 2012-10-24 21:28:52 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2012-10-24 21:28:52 +0000 |
commit | 203435906c670095b3b753077f09ad334f278bf7 (patch) | |
tree | b53cd631b7ab984af966f07c8f79a494220834a1 /src | |
parent | baf045ed88c2f72f435547e2de6424992b8c0810 (diff) |
Fix for systems that do not have the MAP_FILE macro defined.
Diffstat (limited to 'src')
-rw-r--r-- | src/parser/memory_mapped_input_buffer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/parser/memory_mapped_input_buffer.cpp b/src/parser/memory_mapped_input_buffer.cpp index 5c2523aab..ff3f8b27d 100644 --- a/src/parser/memory_mapped_input_buffer.cpp +++ b/src/parser/memory_mapped_input_buffer.cpp @@ -95,8 +95,14 @@ static ANTLR3_UINT32 MemoryMapFile(pANTLR3_INPUT_STREAM input, return ANTLR3_ERR_NOFILE; } - input->data = mmap(0, input->sizeBuf, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, - 0); + +#ifndef MAP_FILE + //Tim: This is required for SunOS + input->data = mmap(0, input->sizeBuf, PROT_READ, MAP_PRIVATE, fd, 0); +#else + input->data = mmap(0, input->sizeBuf, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0); +#endif + errno = 0; if(intptr_t(input->data) == -1) { return ANTLR3_ERR_NOMEM; |