server: Cast user handles to unsigned long for win64 compatibility.
This commit is contained in:
parent
e1c16ff356
commit
e65349d4eb
|
@ -36,10 +36,10 @@ static int allocated_handles;
|
||||||
static struct user_handle *handle_to_entry( user_handle_t handle )
|
static struct user_handle *handle_to_entry( user_handle_t handle )
|
||||||
{
|
{
|
||||||
unsigned short generation;
|
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 (index < 0 || index >= nb_handles) return NULL;
|
||||||
if (!handles[index].type) 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)
|
if (generation == handles[index].generation || !generation || generation == 0xffff)
|
||||||
return &handles[index];
|
return &handles[index];
|
||||||
return NULL;
|
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 )
|
inline static user_handle_t entry_to_handle( struct user_handle *ptr )
|
||||||
{
|
{
|
||||||
int index = ptr - handles;
|
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)
|
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;
|
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;
|
if (!(entry = handle_to_entry( handle ))) return handle;
|
||||||
return entry_to_handle( entry );
|
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;
|
if (!*handle) entry = handles;
|
||||||
else
|
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;
|
if (index < 0 || index >= nb_handles) return NULL;
|
||||||
entry = handles + index + 1; /* start from the next one */
|
entry = handles + index + 1; /* start from the next one */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue