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