'IntPoint' -> 'point2int' + ensure that casted value fits in

destination type
This commit is contained in:
Roberto Ierusalimschy 2014-06-26 13:17:35 -03:00
parent 54ac5960a8
commit c94f11d783
2 changed files with 5 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/*
** $Id: llimits.h,v 1.115 2014/04/15 14:28:20 roberto Exp roberto $
** $Id: llimits.h,v 1.116 2014/04/15 16:32:49 roberto Exp roberto $
** Limits, basic types, and some other `installation-dependent' definitions
** See Copyright Notice in lua.h
*/
@ -44,11 +44,11 @@ typedef unsigned char lu_byte;
/*
** conversion of pointer to integer
** conversion of pointer to integer:
** this is for hashing only; there is no problem if the integer
** cannot hold the whole pointer value
*/
#define IntPoint(p) ((unsigned int)(lu_mem)(p))
#define point2int(p) ((unsigned int)((lu_mem)(p) & UINT_MAX))

View File

@ -1,5 +1,5 @@
/*
** $Id: ltable.c,v 2.89 2014/05/26 17:10:22 roberto Exp roberto $
** $Id: ltable.c,v 2.90 2014/06/18 22:59:29 roberto Exp roberto $
** Lua tables (hash)
** See Copyright Notice in lua.h
*/
@ -64,7 +64,7 @@
#define hashmod(t,n) (gnode(t, ((n) % ((sizenode(t)-1)|1))))
#define hashpointer(t,p) hashmod(t, IntPoint(p))
#define hashpointer(t,p) hashmod(t, point2int(p))
#define dummynode (&dummynode_)