diff options
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; |