| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Various fixes
|
| |
| |
| |
| |
| |
| | |
Visual Studio 6.0 does not support __declspec(noinline) and throw error.
Add checks for compilers which support noinline to prevent compile errors.
|
| |
| |
| |
| |
| |
| | |
If compiling with _WIN32_WINNT target prior 0x0500 then SDK does not define
ULONG_PTR type. Such systems are only 32bit so define it explicitly to
32bit type ULONG.
|
| |
| |
| |
| | |
'ULONG_PTR' to 'char', possible loss of data
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This function implements calling GetModuleHandleExA() with correct flags to
retrieve hModule from passed address.
To allow compilation also with older compilers and environments (like WDK)
with any _WIN32_WINNT value, retrieve pointer to this function via
GetProcAddress(). And as a fallback implementation use old code via
VirtualQuery() which was there prior commit 8ec5ffef2eca.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Call SetErrorMode(SEM_FAILCRITICALERRORS) prior opening Psapi.dll library
to avoid GUI error messages.
Close Psapi.dll library via FreeLibrary() if symbol was not retrieved to
prevent possible memory leaks.
Try to get K32EnumProcessModules symbol from Kernel32.dll library as it is
preferred way how to call EnumProcessModules() on Windows 7 and newer
versions.
If retrieving EnumProcessModules symbol failed with both methods then do
not try it again on next MyEnumProcessModules() function call.
|
| |
| |
| |
| |
| |
| | |
There is no need for propagating internal errors via SetLastError() and
GetLastError() calls. Just use additional argument for save_err_str()
function. Also dlfcn API is POSIX and does not use GetLastError().
|
| | |
|
|/ |
|
|\
| |
| | |
dladdr() - Retrieve symbol name and address from export table
|
| |
| |
| |
| | |
is_valid_address() already rejects NULL addresses, so there is no need to check address for NULL.
|
| |
| |
| |
| |
| |
| | |
It is not required as import table can use only symbols which are exported
and therefore are in export table. So if symbol is not found in export
table it cannot be in import table.
|
|/
|
|
|
|
| |
export and import tables
dladdr tests for Windows now should always pass like on other systems.
|
|\
| |
| | |
Add function dladdr()
|
| | |
|
| |
| |
| |
| | |
This is used to obtain test result references.
|
|/ |
|
|\
| |
| | |
Add cmake build support to travis CI
|
|/ |
|
|\
| |
| | |
Rewrite function save_err_ptr_str() to not use sprintf()
|
|/
|
|
|
|
|
|
| |
sprintf() is marked by MSVC as unsafe and suppressing compile warning does
not work. It is still generated on AppVeyor. So rewrite code for converting
pointer number to string via open coded for-loop and do not use unsafe
sprintf() function anymore. New code correctly handles both 32bit and 64bit
variants and does not use any #ifdef _MSC_VER anymore.
|
|\
| |
| | |
Add _CRT_SECURE_NO_WARNINGS for test.c to disable MSVC deprecation warnings
|
|/ |
|
|\
| |
| | |
Run Travis tests also under i586-mingw32msvc-gcc compiler
|
| | |
|
|/
|
|
|
|
| |
Beware that i586-mingw32msvc-gcc is sometimes just a symlink to
i686-w64-mingw32-gcc. Real i586-mingw32msvc-gcc compiler is available in
mingw32 package only in dist trusty.
|
|\
| |
| | |
Add support to use wine to run cross compiled tests for cmake
|
| | |
|
| |
| |
| |
| |
| |
| | |
To make it easier to extend the CI support and to be able to execute
the contained tests locally, a dedicated shell script tools/ci_build.sh
was added to execute the tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tests with wine
For details about the ENABLE_WINE option, which support three modes
AUTO|ON|OFF see the documentation of cmake macro check_auto_option().
A custom path for the wine executable can be specified by adding
-DWINE_EXECUTABLE=<path> to the cmake command line.
The cmake related macros were copied from
https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/cmake/modules/Macros.cmake
|
| | |
|
| |
| |
| |
| |
| |
| | |
The cmake command enable_testing() must be placed in the topmost
CMakeLists.txt so that the make target 'test' is available in the
topmost build directory.
|
| |
| |
| |
| |
| | |
This is required for running test applications, because by default cmake
places binaries into the associated subdir.
|
|\ \
| |/
|/| |
Change order of variables in appveyor build matrix
|
|/
|
|
|
|
|
|
|
| |
This change no function effect as it changes only order of defined
variables. The only visible change is on appveyor web where variables are
printed in other as they are defined. If list of variables is too long,
variables defined later are hidden on the web interface. Variable
APPVEYOR_BUILD_WORKER_IMAGE was moved to the end of list as it is less
important to know as variable GENERATOR (defines which compiler is used).
|
|\
| |
| | |
CMake build system fixes
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
According to https://cmake.org/pipermail/cmake/2013-May/054792.html
cmake 2.8.11 was released in 2013, so we can assume that no older version
will be used anymore.
|
|\ \
| |/
|/| |
Drop obsolete visual studio related files
|
|/
|
|
|
| |
These files can be easily recreated with cmake on the fly, which is
already used by CI-system.
|
|\
| |
| | |
Relicense to MIT
|
| | |
|
| |
| |
| |
| |
| |
| | |
The licensing note in the configure script has been reworked, similarly
to how libvpx did it (they were also based on FFmpeg's configure script
and also use a more permissive license).
|
|\ \
| |/
|/| |
Add Travis CI testing
|
|/ |
|
|\
| |
| | |
Fix compilation with older environments
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change should fix following compile error:
dlfcn.c: In function 'dlsym':
dlfcn.c:374:14: warning: implicit declaration of function 'GetModuleHandleExA'
dlfcn.c: undefined reference to `GetModuleHandleExA'
Documentation for function GetModuleHandleExA() says:
To compile an application that uses this function, define _WIN32_WINNT as 0x0501 or later.
Fixes: https://github.com/dlfcn-win32/dlfcn-win32/issues/75
|
|\
| |
| | |
Replace VirtualQueryEx() call by GetModuleHandleExA() call
|