Commit Graph

56 Commits

Author SHA1 Message Date
David Fort
77413f49b2 winpr: rework alignment functions
_align_XXX functions aren't widely available depending on the C runtime. That causes
problems with mingw where we can easily have some runtime mixes (which lead to mysterious
segfaults most of the time). This patch introduce winpr_aligned_XXX functions that will
either use the function available, or use an emulation layer.
2022-05-12 11:36:01 +02:00
Armin Novak
6ed50b4b1d Refactored WinPR includes 2022-03-03 11:26:48 +01:00
akallabeth
8cc6582044
Unify struct definitions (#7633)
* Unified enum/struct definitions, fixed include issues

* Fixed mac compilation issues

* Added missing include

* Fixed windows server build warnings

* Fixed VS2010 build issue

* Removed unnecessary library linking

* Fixed ThreadPool WinXP compatibility

* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
akallabeth
ab90ddc781 Fixed clang pragma 2021-09-14 09:45:03 +02:00
Armin Novak
5eea7fc12d WINPR_UNUSED argc, argv for unit tests 2021-08-24 10:45:57 +02:00
akallabeth
8d82adb28a Fixed warnings 2021-06-17 10:35:22 +02:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
b5a7e4d9b9 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
09d43a66f4 Fixed tests and dead store warnings. 2017-03-28 16:49:56 +02:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Armin Novak
4b3d3cd69e Warning fixes. 2016-10-06 13:43:10 +02:00
Armin Novak
1454400236 Fixed windows defines for *LIST* 2016-10-06 13:43:10 +02:00
Armin Novak
4f62d848ac Refactored interlocked typedefs, avoid namespace collisions. 2016-10-06 13:43:09 +02:00
Armin Novak
68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +01:00
Norbert Federa
c77def3048 Fix unchecked CreateMutex calls 2015-05-07 13:27:49 +02:00
Bernhard Miklautz
850de59b55 winpr: add checks for *alloc
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
Bernhard Miklautz
b8415af0d8 Fix compiler warnings.
This commit is based on pull request #1493
2014-07-29 05:22:29 +02:00
Norbert Federa
fae8f6fbf2 winpr/sync: Added InitOnceExecuteOnce plus CTest 2014-07-24 21:12:59 +02:00
Marc-André Moreau
e6f4754ed3 winpr: improve windows builds across visual studio versions and toolsets 2014-07-17 15:11:04 -04:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Emmanuel Ledoux
2d48323865 winpr-comm: UGLY: attempt to resolve the linking issue below specific to debian-squeeze. This might end up in some circular dependencies...
Linking C executable ../../../../Testing/TestInterlocked
	../../handle/libwinpr-handle.so.1.1.0: undefined reference to `LeaveCriticalSection'
2014-07-04 18:02:35 +02:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Bernhard Miklautz
57d295441f windows build: use different .def file for xp
Use different def file for windows < 5.1.
2013-10-07 15:03:50 +02:00
Norbert Federa
2b25b4a520 libwinpr-sync: New complete critical section code
- Complete implementation including recursion support
- Added an intensive ctest (TestSynchCritical)
- Struct members are used exactly as Windows does it internally:
  LockCount starts at -1, RecursionCount at 0
- Same performance optimizations as internally on Windows:
    - Fast lock acquisition path using CAS -> SpinCount -> wait
    - SpinCount automatically disabled on uniprocessor systems
- On Linux SpinCount is disabled because it provided no advantage over NPTL/futex in all tests

Support for CRITICAL_SECTION's DebugInfo is not yet included (but trivial to add).
2013-08-07 10:20:04 +02:00
Marc-André Moreau
e7436a1a9d wfreerdp: minor 64-bit fixes 2013-04-10 21:15:38 -04:00
Daryl Poe
d393a26790 allow GCC compile with no compare_and_swap_8 2012-12-14 15:41:02 -07:00
Marc-André Moreau
b7a289f843 libwinpr: fix test build on Mac OS X 2012-10-25 15:34:57 -04:00
Marc-André Moreau
d5b635c9e8 libwinpr-library: improve library tests 2012-10-18 16:58:27 -04:00
Marc-André Moreau
dd23dd1aee ctest: change default output test path 2012-10-18 15:37:00 -04:00
Marc-André Moreau
e764c81ad5 freerdp: fix building of libraries for Android 2012-10-13 20:31:01 -04:00
Marc-André Moreau
229438dbf3 cmake: fix monolithic test build 2012-10-13 17:38:02 -04:00
Marc-André Moreau
06fa85f31c cmake: refactoring of MONOLITHIC_BUILD 2012-10-13 17:30:59 -04:00
Marc-André Moreau
2ee9f23a8e cmake: revert back to standard CTest BUILD_TESTING option 2012-10-13 09:50:02 -04:00
Marc-André Moreau
c26a623ed1 cmake: rename BUILD_TESTING to TEST_BUILD 2012-10-12 16:04:46 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
7891e0a765 winpr: stubbed pipe module, added some test stubs 2012-10-07 16:13:30 -04:00
Marc-André Moreau
f8b049630f libwinpr-interlocked: added support for doubly-linked lists 2012-10-06 20:19:03 -04:00
Marc-André Moreau
e2cd73ba54 channels: moving device plugins up in the directory structure 2012-10-05 18:30:14 -04:00
Marc-André Moreau
fbd2f360e9 winpr: fix compilation on Linux 2012-10-05 14:45:54 -04:00
Marc-André Moreau
bf26079d3f libwinpr: added tests and fix InterlockedCompareExchange64 on Windows XP 2012-10-04 18:57:32 -04:00
Marc-André Moreau
e828feccb7 cmake: organize solution folders 2012-10-04 09:42:23 -04:00
Marc-André Moreau
12554c172f winpr: fix build on Windows 2012-10-03 17:53:03 -04:00
Marc-André Moreau
703d9346c8 libwinpr-interlocked: fix on 32-bit 2012-10-03 08:43:27 -04:00
Marc-André Moreau
77023ec1dd channels/rdpdr: reduce dependency on list utils in favor or lightweight interlocked singly-list lists 2012-10-02 21:52:27 -04:00
Marc-André Moreau
f31b5c7f5d libwinpr-crt: improve aligned memory tests 2012-10-01 23:31:49 -04:00
Marc-André Moreau
ebbdc8dca9 libwinpr-interlocked: make tests pass 2012-10-01 23:00:41 -04:00
Marc-André Moreau
eb54da8eb5 libwinpr-interlocked: added unit tests for interlocked access 2012-10-01 21:58:24 -04:00
Marc-André Moreau
423585a6a1 libwinpr-path: fix build on Linux 2012-10-01 18:34:46 -04:00