Changeset: 418908bb9712 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=418908bb9712
Modified Files:
        sql/server/rel_schema.c
Branch: default
Log Message:

Merge from Dec2011 branch.


diffs (88 lines):

diff --git a/geom/monetdb5/geom.mx b/geom/monetdb5/geom.mx
--- a/geom/monetdb5/geom.mx
+++ b/geom/monetdb5/geom.mx
@@ -451,18 +451,17 @@ mbrREAD(mbr *a, stream *s, size_t cnt)
 {
        mbr *c;
        size_t i;
-       int xmin, ymin, xmax, ymax;
+       int v[4];
+       flt vals[4];
 
        for (i = 0, c = a; i < cnt; i++, c++) {
-               if (!mnstr_readInt(s, &xmin) ||
-                   !mnstr_readInt(s, &ymin) ||
-                   !mnstr_readInt(s, &xmax) ||
-                   !mnstr_readInt(s, &ymax))
+               if (!mnstr_readIntArray(s, v, 4))
                        return NULL;
-               c->xmin = (flt) xmin;
-               c->ymin = (flt) ymin;
-               c->xmax = (flt) xmax;
-               c->ymax = (flt) ymax;
+               memcpy(vals, v, 4 * sizeof(int));
+               c->xmin = vals[0];
+               c->ymin = vals[1];
+               c->xmax = vals[2];
+               c->ymax = vals[3];
        }
        return a;
 }
@@ -473,15 +472,16 @@ int
 mbrWRITE(mbr *c, stream *s, size_t cnt)
 {
        size_t i;
+       flt vals[4];
+       int v[4];
 
        for (i = 0; i < cnt; i++, c++) {
-               /* use binary writeInt (as sizeof (flt) == sizeof(int)); */
-               /* We want to write nil's here too.
-                  So no overflow checking needed */
-               if (!mnstr_writeInt(s, (int) c->xmin) ||
-                   !mnstr_writeInt(s, (int) c->ymin) ||
-                   !mnstr_writeInt(s, (int) c->xmax) ||
-                   !mnstr_writeInt(s, (int) c->ymax))
+               vals[0] = c->xmin;
+               vals[1] = c->ymin;
+               vals[2] = c->xmax;
+               vals[3] = c->ymax;
+               memcpy(v, vals, 4 * sizeof(int));
+               if (!mnstr_writeIntArray(s, v, 4))
                        return GDK_FAIL;
        }
        return GDK_SUCCEED;
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -180,6 +180,7 @@ table_constraint_name(symbol *s, sql_tab
        char *suffix;           /* stores the type of this constraint */
        dnode *nms = NULL;
        static char buf[BUFSIZ];
+       size_t len;
 
        switch (s->token) {
                case SQL_UNIQUE:
@@ -200,16 +201,18 @@ table_constraint_name(symbol *s, sql_tab
        }
 
        /* copy table name */
-       strncpy(buf, t->base.name, BUFSIZ);
+       strncpy(buf, t->base.name, BUFSIZ - 1);
+       buf[BUFSIZ - 1] = '\0';
 
        /* add column name(s) */
        for (; nms; nms = nms->next) {
-               strncat(buf, "_", BUFSIZ - strlen(buf));
-               strncat(buf, nms->data.sval, BUFSIZ - strlen(buf));
+               len = strlen(buf);
+               snprintf(buf + len, BUFSIZ - len, "_%s", nms->data.sval);
        }
 
        /* add suffix */
-       strncat(buf, suffix, BUFSIZ - strlen(buf));
+       len = strlen(buf);
+       snprintf(buf + len, BUFSIZ - len, "%s", suffix);
 
        return buf;
 }
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to