server: Cast user handles to unsigned long for win64 compatibility.

This commit is contained in:
Mike McCormack 2006-06-15 17:10:31 +09:00 committed by Alexandre Julliard
parent e1c16ff356
commit e65349d4eb
1 changed files with 5 additions and 5 deletions

View File

@ -36,10 +36,10 @@ static int allocated_handles;
static struct user_handle *handle_to_entry( user_handle_t handle )
{
unsigned short generation;
int index = (((unsigned int)handle & 0xffff) - FIRST_USER_HANDLE) >> 1;
int index = (((unsigned long)handle & 0xffff) - FIRST_USER_HANDLE) >> 1;
if (index < 0 || index >= nb_handles) return NULL;
if (!handles[index].type) return NULL;
generation = (unsigned int)handle >> 16;
generation = (unsigned long)handle >> 16;
if (generation == handles[index].generation || !generation || generation == 0xffff)
return &handles[index];
return NULL;
@ -48,7 +48,7 @@ static struct user_handle *handle_to_entry( user_handle_t handle )
inline static user_handle_t entry_to_handle( struct user_handle *ptr )
{
int index = ptr - handles;
return (user_handle_t)(((index << 1) + FIRST_USER_HANDLE) + (ptr->generation << 16));
return (user_handle_t)((((unsigned long)index << 1) + FIRST_USER_HANDLE) + (ptr->generation << 16));
}
inline static struct user_handle *alloc_user_entry(void)
@ -113,7 +113,7 @@ user_handle_t get_user_full_handle( user_handle_t handle )
{
struct user_handle *entry;
if ((unsigned int)handle >> 16) return handle;
if ((unsigned long)handle >> 16) return handle;
if (!(entry = handle_to_entry( handle ))) return handle;
return entry_to_handle( entry );
}
@ -149,7 +149,7 @@ void *next_user_handle( user_handle_t *handle, enum user_object type )
if (!*handle) entry = handles;
else
{
int index = (((unsigned int)*handle & 0xffff) - FIRST_USER_HANDLE) >> 1;
int index = (((unsigned long)*handle & 0xffff) - FIRST_USER_HANDLE) >> 1;
if (index < 0 || index >= nb_handles) return NULL;
entry = handles + index + 1; /* start from the next one */
}