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