Index: loader/win32.c =================================================================== --- loader/win32.c.orig 2007-02-15 11:49:32.000000000 -0800 +++ loader/win32.c 2007-02-15 11:49:42.000000000 -0800 @@ -5558,6 +5558,16 @@ } no_dll: + { + /* Search to see if this function has alreayd been defined */ + char expname[80]; + sprintf(expname, "%s:%d", library, ordinal); + j = strlen(expname); + for(i=0; i < pos; i++) { + if(strncmp(expname,export_names[i], j) == 0) + return (void*)extcode+i*0x30; + } + } if(pos>150)return 0; sprintf(export_names[pos], "%s:%d", library, ordinal); return add_stub(); @@ -5626,6 +5636,14 @@ } no_dll_byname: + { + /* Search to see if this function has alreayd been defined */ + j = strlen(name); + for(i=0; i < pos; i++) { + if(strncmp(name,export_names[i], j) == 0) + return (void*)extcode+i*0x30; + } + } if(pos>150)return 0;// to many symbols strcpy(export_names[pos], name); return add_stub();