Changeset: 65e94217b6f4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65e94217b6f4
Modified Files:
        monetdb5/mal/mal_module.c
Branch: Dec2016
Log Message:

Casting a char to an int doesn't make it positive, using unsigned char does.


diffs (48 lines):

diff --git a/monetdb5/mal/mal_module.c b/monetdb5/mal/mal_module.c
--- a/monetdb5/mal/mal_module.c
+++ b/monetdb5/mal/mal_module.c
@@ -48,13 +48,13 @@ mal_module_reset(void)
 }
 
 static void clrModuleIndex(str nme, Module cur){
-               if( moduleIndex[(int)(*nme)][(int)(*(nme+1))]== cur)
-                       moduleIndex[(int)(*nme)][(int)(*(nme+1))]= cur->link;
+               if( moduleIndex[((unsigned char *) nme)[0]][((unsigned char *) 
nme)[1]]== cur)
+                       moduleIndex[((unsigned char *) nme)[0]][((unsigned char 
*) nme)[1]]= cur->link;
 }
 
 static void setModuleIndex(str nme, Module cur){
-               cur->link= moduleIndex[(int)(*nme)][(int)(*(nme+1))];
-               moduleIndex[(int)(*nme)][(int)(*(nme+1))]= cur;
+               cur->link= moduleIndex[((unsigned char *) nme)[0]][((unsigned 
char *) nme)[1]];
+               moduleIndex[((unsigned char *) nme)[0]][((unsigned char *) 
nme)[1]]= cur;
 }
 
 /*
@@ -98,7 +98,7 @@ Module fixModule(Module scope, str nme){
        
        if( strcmp(nme,"user")==0)
                return scope;
-       s= moduleIndex[(int)(*nme)][(int)(*(nme+1))];
+       s= moduleIndex[((unsigned char *) nme)[0]][((unsigned char *) nme)[1]];
        while(s != NULL){
                if( nme == s->name )
                        return s;
@@ -249,7 +249,7 @@ void deleteSymbol(Module scope, Symbol p
 Module findModule(Module scope, str name){
        Module def=scope;
        if( name==NULL) return scope;
-       scope= moduleIndex[(int)(*name)][(int)(*(name+1))];
+       scope= moduleIndex[((unsigned char *) name)[0]][((unsigned char *) 
name)[1]];
        while(scope != NULL){
                        if( name == scope->name )
                                        return scope;
@@ -262,7 +262,7 @@ Module findModule(Module scope, str name
 int isModuleDefined(Module scope, str name){
        if( name==NULL || scope==NULL) return FALSE;
        if( name == scope->name) return TRUE;
-       scope= moduleIndex[(int)(*name)][(int)(*(name+1))];
+       scope= moduleIndex[((unsigned char *) name)[0]][((unsigned char *) 
name)[1]];
        while(scope != NULL){
                        if( name == scope->name )
                                        return TRUE;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to