mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-25 01:22:47 +00:00
Update the TYPMOD_SET_* macros in the same way as for the FLAGS_SET_* macros earlier, so that they actually change the variable they reference.
git-svn-id: http://svn.osgeo.org/postgis/trunk@4654 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
parent
24da252e56
commit
7dea8a5282
|
@ -73,15 +73,15 @@ void test_typmod_macros(void)
|
|||
int z = 1;
|
||||
int rv;
|
||||
|
||||
typmod = TYPMOD_SET_SRID(typmod,srid);
|
||||
TYPMOD_SET_SRID(typmod,srid);
|
||||
rv = TYPMOD_GET_SRID(typmod);
|
||||
CU_ASSERT_EQUAL(rv, srid);
|
||||
|
||||
typmod = TYPMOD_SET_TYPE(typmod,type);
|
||||
TYPMOD_SET_TYPE(typmod,type);
|
||||
rv = TYPMOD_GET_TYPE(typmod);
|
||||
CU_ASSERT_EQUAL(rv,type);
|
||||
|
||||
typmod = TYPMOD_SET_Z(typmod);
|
||||
TYPMOD_SET_Z(typmod);
|
||||
rv = TYPMOD_GET_Z(typmod);
|
||||
CU_ASSERT_EQUAL(rv,z);
|
||||
|
||||
|
|
|
@ -70,13 +70,13 @@
|
|||
* ZM Flags = Bottom 2 bits.
|
||||
*/
|
||||
#define TYPMOD_GET_SRID(typmod) ((typmod & 0x0FFFFF00)>>8)
|
||||
#define TYPMOD_SET_SRID(typmod, srid) ((typmod & 0x000000FF) | ((srid & 0x000FFFFF)<<8))
|
||||
#define TYPMOD_SET_SRID(typmod, srid) ((typmod) = (typmod & 0x000000FF) | ((srid & 0x000FFFFF)<<8))
|
||||
#define TYPMOD_GET_TYPE(typmod) ((typmod & 0x000000FC)>>2)
|
||||
#define TYPMOD_SET_TYPE(typmod, type) ((typmod & 0xFFFFFF03) | ((type & 0x0000003F)<<2))
|
||||
#define TYPMOD_SET_TYPE(typmod, type) ((typmod) = (typmod & 0xFFFFFF03) | ((type & 0x0000003F)<<2))
|
||||
#define TYPMOD_GET_Z(typmod) ((typmod & 0x00000002)>>1)
|
||||
#define TYPMOD_SET_Z(typmod) (typmod | 0x00000002)
|
||||
#define TYPMOD_SET_Z(typmod) ((typmod) = typmod | 0x00000002)
|
||||
#define TYPMOD_GET_M(typmod) (typmod & 0x00000001)
|
||||
#define TYPMOD_SET_M(typmod) (typmod | 0x00000001)
|
||||
#define TYPMOD_SET_M(typmod) ((typmod) = typmod | 0x00000001)
|
||||
#define TYPMOD_GET_NDIMS(typmod) (2+TYPMOD_GET_Z(typmod)+TYPMOD_GET_M(typmod))
|
||||
|
||||
|
||||
|
|
|
@ -341,13 +341,13 @@ Datum geography_typmod_in(PG_FUNCTION_ARGS)
|
|||
}
|
||||
else
|
||||
{
|
||||
typmod = TYPMOD_SET_SRID(typmod, srid);
|
||||
TYPMOD_SET_SRID(typmod, srid);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
typmod = TYPMOD_SET_SRID(typmod, 0);
|
||||
TYPMOD_SET_SRID(typmod, 0);
|
||||
}
|
||||
}
|
||||
if( i == 0 ) /* TYPE */
|
||||
|
@ -365,11 +365,11 @@ Datum geography_typmod_in(PG_FUNCTION_ARGS)
|
|||
}
|
||||
else
|
||||
{
|
||||
typmod = TYPMOD_SET_TYPE(typmod, type);
|
||||
TYPMOD_SET_TYPE(typmod, type);
|
||||
if ( z )
|
||||
typmod = TYPMOD_SET_Z(typmod);
|
||||
TYPMOD_SET_Z(typmod);
|
||||
if ( m )
|
||||
typmod = TYPMOD_SET_M(typmod);
|
||||
TYPMOD_SET_M(typmod);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue