Changeset: 7cbd22f18e70 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7cbd22f18e70
Modified Files:
geom/monetdb5/geom.c
Branch: geo
Log Message:
compilation error 2: all FROMSTR functions return size_t
diffs (99 lines):
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -72,9 +72,9 @@ geom_export int wkbTOSTR(char **geomWKT,
geom_export int mbrTOSTR(char **dst, int *len, mbr *atom);
geom_export size_t wkbaTOSTR(char **toStr, int* len, wkba *fromArray);
-geom_export int wkbFROMSTR(char* geomWKT, int *len, wkb** geomWKB, int srid);
-geom_export int mbrFROMSTR(char *src, int *len, mbr **atom);
-geom_export int wkbaFROMSTR(char *fromStr, int* len, wkba **toArray, int srid);
+geom_export size_t wkbFROMSTR(char* geomWKT, int *len, wkb** geomWKB, int
srid);
+geom_export size_t mbrFROMSTR(char *src, int *len, mbr **atom);
+geom_export size_t wkbaFROMSTR(char *fromStr, int* len, wkba **toArray, int
srid);
geom_export wkb *wkbNULL(void);
geom_export mbr *mbrNULL(void);
@@ -4041,7 +4041,7 @@ int wkbTOSTR(char **geomWKT, int* len, w
/* Creates WKB representation (including srid) from WKT representation */
/* return number of parsed characters. */
-int wkbFROMSTR(char* geomWKT, int* len, wkb **geomWKB, int srid) {
+size_t wkbFROMSTR(char* geomWKT, int* len, wkb **geomWKB, int srid) {
GEOSGeom geosGeometry = NULL; /* The geometry object that is parsed
from the src string. */
GEOSWKTReader *WKT_reader;
char *polyhedralSurface = "POLYHEDRALSURFACE";
@@ -4049,6 +4049,7 @@ int wkbFROMSTR(char* geomWKT, int* len,
char *geoType;
int typeSize = 0;
char *geomWKT_original = NULL;
+ size_t parsedCharacters = 0;
if (strcmp(geomWKT, str_nil) == 0) {
*geomWKB = wkb_nil;
@@ -4105,7 +4106,10 @@ int wkbFROMSTR(char* geomWKT, int* len,
GDKfree(geomWKT);
geomWKT = geomWKT_original;
}
- return (int)strlen(geomWKT);
+
+ parsedCharacters = strlen(geomWKT);
+ assert(parsedCharacters <= GDK_int_max);
+ return parsedCharacters;
}
BUN wkbHASH(wkb *w) {
@@ -4239,9 +4243,9 @@ int mbrTOSTR(char **dst, int *len, mbr *
/* FROMSTR: parse string to mbr. */
/* return number of parsed characters. */
-int mbrFROMSTR(char *src, int *len, mbr **atom) {
+size_t mbrFROMSTR(char *src, int *len, mbr **atom) {
int nil = 0;
- int nchars = 0; /* The number of characters parsed; the return value. */
+ size_t nchars = 0; /* The number of characters parsed; the return
value. */
GEOSGeom geosMbr = NULL; /* The geometry object that is parsed from the
src string. */
double xmin = 0, ymin = 0, xmax = 0, ymax = 0;
char *c;
@@ -4272,7 +4276,6 @@ int mbrFROMSTR(char *src, int *len, mbr
nchars = 3;
**atom = *mbrNULL();
} else if (geosMbr == NULL) {
- size_t l;
assert(GDK_flt_min <= xmin && xmin <= GDK_flt_max);
assert(GDK_flt_min <= xmax && xmax <= GDK_flt_max);
assert(GDK_flt_min <= ymin && ymin <= GDK_flt_max);
@@ -4281,12 +4284,11 @@ int mbrFROMSTR(char *src, int *len, mbr
(*atom)->ymin = (float) ymin;
(*atom)->xmax = (float) xmax;
(*atom)->ymax = (float) ymax;
- l = strlen(src);
- assert(l <= GDK_int_max);
- nchars = (int) l;
+ nchars = strlen(src);
}
if (geosMbr)
GEOSGeom_destroy(geosMbr);
+ assert(nchars <= GDK_int_max);
return nchars;
}
@@ -4434,7 +4436,7 @@ fprintf(stderr, "wkbaTOSTR\n");
}
/* return number of parsed characters. */
-int wkbaFROMSTR(char *fromStr, int* len, wkba **toArray, int srid) {
+size_t wkbaFROMSTR(char *fromStr, int* len, wkba **toArray, int srid) {
int items, i;
size_t skipBytes=0;
@@ -4451,7 +4453,8 @@ fprintf(stderr, "wkbaFROMSTR\n");
int parsedBytes = wkbFROMSTR(fromStr+skipBytes, len,
&((*toArray)->data[i]), srid);
skipBytes+=parsedBytes;
}
-
+
+ assert(skipBytes <= GDK_int_max);
return skipBytes;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list