- // try get the factory function if there is no error yet
- factory_func = 0;
-
- if (!LastError())
- {
-#ifdef STATIC_LINK
- if (!GetSymbol( factory_func, symbol ? symbol : "init_module"))
+#if defined _WIN32
+ char errmsg[500];
+ DWORD dwErrorCode = GetLastError();
+ if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)errmsg, _countof(errmsg), NULL) == 0)
+ sprintf_s(errmsg, _countof(errmsg), "Error code: %u", dwErrorCode);
+ SetLastError(ERROR_SUCCESS);
+ err = errmsg;