style cleanup: mmap_win32

This commit is contained in:
Campbell Barton 2012-05-22 13:20:01 +00:00
parent 1937f3b8de
commit eb023322ef
2 changed files with 49 additions and 52 deletions

@ -29,8 +29,7 @@
* \ingroup MEM
*/
#if defined(WIN32)
#ifdef WIN32
#include <windows.h>
#include <errno.h>
@ -56,18 +55,16 @@
/* local storage definitions */
/* --------------------------------------------------------------------- */
/* all memory mapped chunks are put in linked lists */
typedef struct mmapLink
{
struct mmapLink *next,*prev;
typedef struct mmapLink {
struct mmapLink *next, *prev;
} mmapLink;
typedef struct mmapListBase
{
typedef struct mmapListBase {
void *first, *last;
} mmapListBase;
typedef struct MemMap {
struct MemMap *next,*prev;
struct MemMap *next, *prev;
void *mmap;
HANDLE fhandle;
HANDLE maphandle;
@ -81,8 +78,8 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink);
static void mmap_remlink(volatile mmapListBase *listbase, void *vlink);
static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr);
static int mmap_get_prot_flags (int flags);
static int mmap_get_access_flags (int flags);
static int mmap_get_prot_flags(int flags);
static int mmap_get_access_flags(int flags);
/* --------------------------------------------------------------------- */
/* vars */
@ -105,52 +102,53 @@ void *mmap(void *UNUSED(start), size_t len, int prot, int flags, int fd, off_t o
MemMap *mm = NULL;
void *ptr = NULL;
if ( flags & MAP_FIXED ) {
if (flags & MAP_FIXED) {
return MAP_FAILED;
}
/*
#if 0
if ( fd == -1 ) {
_set_errno( EBADF );
return MAP_FAILED;
}
*/
#endif
if ( fd != -1 ) {
fhandle = (HANDLE) _get_osfhandle (fd);
if (fd != -1) {
fhandle = (HANDLE) _get_osfhandle(fd);
}
if ( fhandle == INVALID_HANDLE_VALUE ) {
if (fhandle == INVALID_HANDLE_VALUE) {
if (!(flags & MAP_ANONYMOUS)) {
errno = EBADF;
return MAP_FAILED;
}
} else {
if ( !DuplicateHandle( GetCurrentProcess(), fhandle, GetCurrentProcess(),
&fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS ) ) {
}
else {
if (!DuplicateHandle(GetCurrentProcess(), fhandle, GetCurrentProcess(),
&fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS) ) {
return MAP_FAILED;
}
}
maphandle = CreateFileMapping(fhandle, NULL, prot_flags, 0, len, NULL);
if ( maphandle == 0 ) {
if (maphandle == 0) {
errno = EBADF;
return MAP_FAILED;
}
ptr = MapViewOfFile(maphandle, access_flags, 0, offset, 0);
if ( ptr == NULL ) {
if (ptr == NULL) {
DWORD dwLastErr = GetLastError();
if ( dwLastErr == ERROR_MAPPED_ALIGNMENT )
errno=EINVAL;
if (dwLastErr == ERROR_MAPPED_ALIGNMENT)
errno = EINVAL;
else
errno=EACCES;
errno = EACCES;
CloseHandle(maphandle);
return MAP_FAILED;
}
mm= (MemMap *)malloc(sizeof(MemMap));
mm = (MemMap *)malloc(sizeof(MemMap));
if (!mm) {
errno=ENOMEM;
errno = ENOMEM;
}
mm->fhandle = fhandle;
mm->maphandle = maphandle;
@ -165,12 +163,12 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size))
{
MemMap *mm = mmap_findlink(mmapbase, ptr);
if (!mm) {
errno=EINVAL;
errno = EINVAL;
return -1;
}
UnmapViewOfFile( mm->mmap );
CloseHandle( mm->maphandle );
CloseHandle( mm->fhandle);
UnmapViewOfFile(mm->mmap);
CloseHandle(mm->maphandle);
CloseHandle(mm->fhandle);
mmap_remlink(mmapbase, mm);
free(mm);
return 0;
@ -182,7 +180,7 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size))
static void mmap_addtail(volatile mmapListBase *listbase, void *vlink)
{
struct mmapLink *link= vlink;
struct mmapLink *link = vlink;
if (link == 0) return;
if (listbase == 0) return;
@ -197,7 +195,7 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink)
static void mmap_remlink(volatile mmapListBase *listbase, void *vlink)
{
struct mmapLink *link= vlink;
struct mmapLink *link = vlink;
if (link == 0) return;
if (listbase == 0) return;
@ -226,46 +224,46 @@ static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr)
return NULL;
}
static int mmap_get_prot_flags (int flags)
static int mmap_get_prot_flags(int flags)
{
int prot = PAGE_NOACCESS;
if ( ( flags & PROT_READ ) == PROT_READ ) {
if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
if ( (flags & PROT_READ) == PROT_READ) {
if ( (flags & PROT_WRITE) == PROT_WRITE) {
prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE;
} else {
}
else {
prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_READONLY;
}
} else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
}
else if ( (flags & PROT_WRITE) == PROT_WRITE) {
prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_WRITECOPY;
} else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) {
}
else if ( (flags & PROT_EXEC) == PROT_EXEC) {
prot = PAGE_EXECUTE_READ;
}
return prot;
}
static int mmap_get_access_flags (int flags)
static int mmap_get_access_flags(int flags)
{
int access = 0;
if ( ( flags & PROT_READ ) == PROT_READ ) {
if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
if ( (flags & PROT_READ) == PROT_READ) {
if ( (flags & PROT_WRITE) == PROT_WRITE) {
access = FILE_MAP_WRITE;
} else {
}
else {
access = (flags & PROT_EXEC) ? FILE_MAP_EXECUTE : FILE_MAP_READ;
}
} else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) {
}
else if ( (flags & PROT_WRITE) == PROT_WRITE) {
access = FILE_MAP_COPY;
} else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) {
}
else if ( (flags & PROT_EXEC) == PROT_EXEC) {
access = FILE_MAP_EXECUTE;
}
return access;
}
#endif // WIN32

@ -308,7 +308,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
}
#undef ADD_EDGE_USER
#undef INVALID_UNUSED
#undef INVALID_PAIR