Changeset: 197619f9b069 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=197619f9b069
Modified Files:
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_type.c
Branch: default
Log Message:

No magic values in getAtomIndex, and don't call strlen more than needed.


diffs (46 lines):

diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -564,7 +564,7 @@ pushNilType(MalBlkPtr mb, InstrPtr q, ch
 
        if (q == NULL)
                return NULL;
-       idx= getAtomIndex(tpe, 0, TYPE_any);
+       idx= getAtomIndex(tpe, strlen(tpe), TYPE_any);
        if( idx < 0 || idx >= GDKatomcnt || idx >= MAXATOMS)
                return NULL;
        cst.vtype=TYPE_void;
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -632,7 +632,7 @@ getType(MalBlkPtr mb, str nme)
 
        i = findVariable(mb, nme);
        if (i < 0)
-               return getAtomIndex(nme, 0, TYPE_any);
+               return getAtomIndex(nme, strlen(nme), TYPE_any);
        return getVarType(mb, i);
 }
 
@@ -1208,7 +1208,8 @@ pushArgumentId(MalBlkPtr mb, InstrPtr p,
                return NULL;
        v = findVariable(mb, name);
        if (v < 0) {
-               if ((v = newVariable(mb, name, strlen(name), getAtomIndex(name, 
0, TYPE_any))) < 0) {
+               size_t namelen = strlen(name);
+               if ((v = newVariable(mb, name, namelen, getAtomIndex(name, 
namelen, TYPE_any))) < 0) {
                        freeInstruction(p);
                        return NULL;
                }
diff --git a/monetdb5/mal/mal_type.c b/monetdb5/mal/mal_type.c
--- a/monetdb5/mal/mal_type.c
+++ b/monetdb5/mal/mal_type.c
@@ -102,8 +102,6 @@ getAtomIndex(const char *nme, size_t len
 {
        int i;
 
-       if (len == 0)
-               len = strlen(nme);
        if (len >= IDLENGTH) {
                /* name too long: cannot match any atom name */
                return deftype;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to