Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
windows:mingw:win32
mingw32-geoclue
geoclue-0.12.0-win32reloc.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File geoclue-0.12.0-win32reloc.patch of Package mingw32-geoclue
--- geoclue-0.12.0/src/master.c 2010-02-20 12:21:56.000000000 +0100 +++ geoclue-0.12.0/src/master.c 2010-04-16 15:31:52.000000000 +0200 @@ -40,6 +40,63 @@ #endif #endif +#ifdef _WIN32 +# include <shlobj.h> +# include <mbstring.h> + +/* search for data relative to where we are installed */ + +static HMODULE hmodule; + +BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) +{ + switch (fdwReason) + { + case DLL_PROCESS_ATTACH: + hmodule = hinstDLL; + break; + } + + return TRUE; +} + +static char * +_get_geoclue_providers_dir (void) +{ + static char retval[1000]; + static int beenhere = 0; + + unsigned char *p; + + if (beenhere) + return retval; + + if (!GetModuleFileName (hmodule, (CHAR *) retval, sizeof(retval) - 10)) + return GEOCLUE_PROVIDERS_DIR; + + p = _mbsrchr ((const unsigned char *) retval, '\\'); + *p = '\0'; + p = _mbsrchr ((const unsigned char *) retval, '\\'); + if (p) { + if (stricmp ((const char *) (p+1), "bin") == 0) + *p = '\0'; + } + strcat (retval, "\\share\\geoclue-providers"); + + beenhere = 1; + + return retval; +} + +#undef GEOCLUE_PROVIDERS_DIR +#define GEOCLUE_PROVIDERS_DIR _get_geoclue_providers_dir () + +#endif + + enum { OPTIONS_CHANGED, LAST_SIGNAL
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor