Changeset 11631

Show
Ignore:
Timestamp:
07/14/08 17:12:00 (3 months ago)
Author:
cristy
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • ImageMagick/trunk/magick/nt-base.c

    r10595 r11631  
    13031303{ 
    13041304  DWORD 
    1305     high, 
    1306     low, 
    1307     mode; 
     1305    access_mode. 
     1306    high_length, 
     1307    high_offset, 
     1308    low_length, 
     1309    low_offset, 
     1310    protection_mode; 
    13081311 
    13091312  HANDLE 
    13101313    file_handle, 
    1311     file_map; 
     1314    map_handle; 
    13121315 
    13131316  void 
    13141317    *map; 
    13151318 
    1316   mode=0; 
    1317   if ((protection & PROT_WRITE) != 0) 
    1318     { 
    1319       mode=PAGE_READWRITE; 
    1320       if ((flags & MAP_PRIVATE) != 0) 
    1321         mode=PAGE_WRITECOPY; 
     1319  access_mode=0; 
     1320  file_handle=INVALID_HANDLE_VALUE; 
     1321  low_length=(DWORD) (length & 0xFFFFFFFFUL); 
     1322  high_length=(DWORD) ((((magick_off_t) length) >> 32) & 0xFFFFFFFFUL); 
     1323  map_handle=INVALID_HANDLE_VALUE; 
     1324  map=(void *) NULL; 
     1325  low_offset=(DWORD) (offset & 0xFFFFFFFFUL); 
     1326  high_offset=(DWORD) ((offset >> 32) & 0xFFFFFFFFUL); 
     1327  protection_mode=0; 
     1328  if (protection & PROT_WRITE) 
     1329    { 
     1330      access_mode=FILE_MAP_WRITE; 
     1331      if (!(flags & MAP_PRIVATE)) 
     1332        protection_mode=PAGE_READWRITE; 
     1333      else 
     1334        { 
     1335          access_mode=FILE_MAP_COPY; 
     1336          protection_mode=PAGE_WRITECOPY; 
     1337        } 
    13221338    } 
    13231339  else 
    1324     if ((protection & PROT_READ) != 0) 
    1325       mode=PAGE_READONLY; 
    1326   file_handle=INVALID_HANDLE_VALUE; 
    1327   if ((file != -1) || ((flags & MAP_ANONYMOUS) == 0)) 
     1340    if (protection & PROT_READ) 
     1341      { 
     1342        access_mode=FILE_MAP_READ; 
     1343        protection_mode=PAGE_READONLY; 
     1344      } 
     1345  if ((file == -1) && (flags & MAP_ANON)) 
     1346    file_handle=INVALID_HANDLE_VALUE; 
     1347  else 
    13281348    file_handle=(HANDLE) _get_osfhandle(file); 
    1329   low=(DWORD) (length & 0xffffffffUL); 
    1330   high=(DWORD) ((((MagickOffsetType) length) >> 32) & 0xffffffffUL); 
    1331   file_map=CreateFileMapping(file_handle,0,mode,high,low,0); 
    1332   map=(void *) NULL; 
    1333   if (file_map != (HANDLE) NULL) 
    1334     { 
    1335       mode=0; 
    1336       if ((protection & PROT_WRITE) != 0) 
    1337         { 
    1338           mode=FILE_MAP_WRITE; 
    1339           if ((flags & MAP_PRIVATE) != 0) 
    1340             mode=FILE_MAP_COPY; 
    1341         } 
    1342       else 
    1343         if ((protection & PROT_READ) != 0) 
    1344           mode=FILE_MAP_READ; 
    1345       low=(DWORD) (offset & 0xffffffffUL); 
    1346       high=(DWORD) ((offset >> 32) & 0xffffffffUL); 
    1347       map=(void *) MapViewOfFile(file_map,mode,high,low,length); 
    1348       CloseHandle(file_map); 
     1349  map_handle=CreateFileMapping(file_handle,0,protection_mode,high_length, 
     1350    low_length,0); 
     1351  if (map_handle) 
     1352    { 
     1353      map=(void *) MapViewOfFile(map_handle,access_mode,high_offset,low_offset, 
     1354        length); 
     1355      CloseHandle(map_handle); 
    13491356    } 
    13501357  if (map == (void *) NULL)