Mark Hammond wrote: > > > Here's a stab at a patch. Could you review it and test it ? I > > don't have enough knowledge of win32 for this... > > I think we can drop the getcwd call here completely. > > I prefer the patch below. If this works as expected, please check in the patch. (Note that I have not tested the patch I posted -- I've never used VC++ for anything else than compiling C extensions and GMP.) > Mark. > > Index: dynload_win.c > =================================================================== > RCS file: /cvsroot/python/python/dist/src/Python/dynload_win.c,v > retrieving revision 2.7 > diff -u -r2.7 dynload_win.c > --- dynload_win.c 2000/10/05 10:54:45 2.7 > +++ dynload_win.c 2001/05/01 00:36:40 > @@ -163,24 +163,21 @@ > > #ifdef MS_WIN32 > { > - HINSTANCE hDLL; > + HINSTANCE hDLL = NULL; > char pathbuf[260]; > - if (strchr(pathname, '\\') == NULL && > - strchr(pathname, '/') == NULL) > - { > - /* Prefix bare filename with ".\" */ > - char *p = pathbuf; > - *p = '\0'; > - _getcwd(pathbuf, sizeof pathbuf); > - if (*p != '\0' && p[1] == ':') > - p += 2; > - sprintf(p, ".\\%-.255s", pathname); > - pathname = pathbuf; > - } > - /* Look for dependent DLLs in directory of pathname first */ > - /* XXX This call doesn't exist in Windows CE */ > - hDLL = LoadLibraryEx(pathname, NULL, > - LOAD_WITH_ALTERED_SEARCH_PATH); > + LPTSTR dummy; > + /* We use LoadLibraryEx so Windows looks for dependent DLLs > + in directory of pathname first. However, Windows95 > + can sometimes not work correctly unless the absolute > + path is used. If GetFullPathName() fails, the LoadLibrary > + will certainly fail too, so use its error code */ > + if (GetFullPathName(pathname, > + sizeof(pathbuf), > + pathbuf, > + &dummy)) > + /* XXX This call doesn't exist in Windows CE */ > + hDLL = LoadLibraryEx(pathname, NULL, > + LOAD_WITH_ALTERED_SEARCH_PATH); > if (hDLL==NULL){ > char errBuf[256]; > unsigned int errorCode; -- Marc-Andre Lemburg ______________________________________________________________________ Company & Consulting: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4