909{
910 uint32_t i;
911 uint8_t *loc;
912 int ptsize;
914
915 assert(poly);
916 assert(buf);
917
919
921 loc = buf;
922
923
924 memcpy(loc, &type, sizeof(uint32_t));
925 loc += sizeof(uint32_t);
926
927
928 memcpy(loc, &(poly->
nrings),
sizeof(uint32_t));
929 loc += sizeof(uint32_t);
930
931
932 for (i = 0; i < poly->
nrings; i++)
933 {
934 memcpy(loc, &(poly->
rings[i]->
npoints),
sizeof(uint32_t));
935 loc += sizeof(uint32_t);
936 }
937
938
940 {
941 memset(loc, 0, sizeof(uint32_t));
942 loc += sizeof(uint32_t);
943 }
944
945
946 for (i = 0; i < poly->
nrings; i++)
947 {
949 size_t pasize;
950
952 lwerror(
"Dimensions mismatch in lwpoly");
953
957 loc += pasize;
958 }
959 return (size_t)(loc - buf);
960}
#define FLAGS_NDIMS(flags)
#define FLAGS_GET_ZM(flags)
#define LWDEBUGF(level, msg,...)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)