Changeset: 57d5b7d55db2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/57d5b7d55db2
Modified Files:
        gdk/gdk_value.c
Branch: Jul2021
Log Message:

Avoid double work: if we need to calculate strlen, then no need to use strdup.


diffs (31 lines):

diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c
--- a/gdk/gdk_value.c
+++ b/gdk/gdk_value.c
@@ -156,10 +156,11 @@ VALcopy(ValPtr d, const ValRecord *s)
                d->vtype = s->vtype;
        } else if (s->vtype == TYPE_str) {
                d->vtype = TYPE_str;
-               d->val.sval = GDKstrdup(s->val.sval);
+               d->len = strLen(s->val.sval);
+               d->val.sval = GDKmalloc(d->len);
                if (d->val.sval == NULL)
                        return NULL;
-               d->len = strLen(d->val.sval);
+               memcpy(d->val.sval, s->val.sval, d->len);
        } else {
                ptr p = s->val.pval;
 
@@ -217,10 +218,11 @@ VALinit(ValPtr d, int tpe, const void *s
                d->val.uval = *(const uuid *) s;
                break;
        case TYPE_str:
-               d->val.sval = GDKstrdup(s);
+               d->len = strLen(s);
+               d->val.sval = GDKmalloc(d->len);
                if (d->val.sval == NULL)
                        return NULL;
-               d->len = strLen(s);
+               memcpy(d->val.sval, s, d->len);
                return d;
        case TYPE_ptr:
                d->val.pval = *(const ptr *) s;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to