Armin Novak
7de0a5bba4
[winpr] fix various return checks
2026-03-02 18:39:42 +01:00
Armin Novak
486caf5516
[winpr] fix InitializeCriticalSectionAndSpinCount
...
Check return values when used.
2026-02-27 15:52:34 +01:00
Armin Novak
822257bf7c
[c23,winpr] replace NULL with nullptr
2026-02-26 21:16:48 +01:00
Armin Novak
e58819830a
[c23] simplify boolean checks
2026-02-26 11:51:05 +01:00
Armin Novak
48267edf2f
[winpr] add WINPR_C_ARRAY_INIT
...
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
Armin Novak
3fcc287b16
[warnings] initialize all va_list
2026-02-25 07:41:39 +01:00
akallabeth
76c2944d99
[winpr,warnings] fix -Wunused-parameter
2025-02-13 15:53:51 +01:00
akallabeth
307bf48870
[warnings] fix integer casting in winpr
...
* use WINPR_ASSERTING_INT_CAST to detect overflows in sign or narrow
integer casts
* replace defines with static variables
2025-01-03 10:08:57 +01:00
akallabeth
83f2f21ad3
[warnigns] fix lots of bugprone warnings
...
* update-settings-tests: properly cast types in getter/setter
* wtypes: fix PHANDLE definition
* wStream: fix INT64 write function warnings
* Simplify HANDLE copy in channels, just assign after proper cast
2024-12-06 09:15:48 +01:00
akallabeth
eceab9aedb
[warnings] fix integer narrowing
2024-10-03 21:21:40 +02:00
akallabeth
26003e59cc
[va_list] initialize with ={0};
2024-09-24 11:06:18 +02:00
akallabeth
0eb0cff367
[winpr,utils] fix integer size warnings
2024-09-04 12:50:43 +02:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
207def5c56
[clang-tidy] readability-isolate-declaration
2024-02-15 11:49:16 +01:00
akallabeth
ba8cf8cf21
[build] fix Wmismatched-deallocator warnings
...
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
Armin Novak
f2aa469700
[winpr,collections] fix cast warnings
2023-07-28 13:42:12 +02:00
akallabeth
d63817640f
Fixed ArrayList_SetItem, return success
2022-04-28 12:37:19 +02:00
akallabeth
667b471686
Fixed cast-quality warnings
2022-04-28 09:17:20 +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
David Fort
67986ea298
Fix compilation with mingw
...
This patch addresses some issues when compiling against mingw. With these changes
FreeRDP can be compiled out-of-the box on a Ubuntu 20.04.
2021-11-15 09:23:16 +01:00
akallabeth
f1bde376b1
Raw channel send ( #7255 )
...
* Added raw channel data write function
* Use nego_set_state
* Added ArrayList_ForEachAP
* Provide va_copy for older VS compilers
2021-08-26 16:17:51 +02:00
Armin Novak
610396e197
Fixed compilation warnings
...
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
akallabeth
6726772d8d
Fixed integer warnings
2021-06-18 09:41:02 +02:00
akallabeth
8d82adb28a
Fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
bfcad7d6aa
Added WINPR_ASSERT in ArrayList
2021-06-16 11:46:42 +02:00
Armin Novak
30776358bb
Readded ArrayList_Add and HashTable_Add as deprecated
2021-06-16 11:46:42 +02:00
Armin Novak
d6c84c28fb
Renamed ArrayList_Add to ArrayList_Append
...
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak
a1c8e4cf85
Refactored ArrayList_Add to conform to other functions
2021-06-16 11:46:42 +02:00
Marc-André Moreau
96f07ea993
Windows ARM64 build fixes
2021-06-01 14:18:01 +02:00
akallabeth
66dc4cc9ee
Fixed compilation warnings.
2020-11-10 08:53:43 +01:00
akallabeth
6e3c00725a
Cleaned up collections:
...
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
554e18780b
USe const compare function pointer arguments
2018-10-18 09:06:55 +02:00
Sébastien Duquette
2497fcf941
Use fnObjectEquals in ArrayList_Remove.
2018-10-04 16:57:29 -04:00
Armin Novak
0490aeb018
Fixed clang malloc integer overflow warnings.
2017-07-20 09:29:48 +02:00
Marc-André Moreau
d0f413db12
winpr: initial port to Universal Windows Platform (UWP)
2016-02-05 16:28:45 -05:00
Martin Haimberger
008d9f3b79
fixed misc *_free functions to accept NULL
...
Following types of collections support now
NULL in the free call:
* ArrayList
* BitStream
* ContdownEvent
* Dictionary
* KeyValuePair
* MessageQueue
2015-07-30 07:02:36 -07:00
Marc-André Moreau
11ae267518
libfreerdp-core: expose new API to allow FreeRDS virtual channel hooking
2014-10-10 16:11:42 -04:00
Armin Novak
93ad5b7335
Implemented default fnObjectEquals function.
...
Implemented ArrayList_Contains.
ArrayList_IndexOf and ArrayList_LastIndexOf now use comparison function.
2014-08-13 14:15:17 +02:00
Armin Novak
309405592e
Fixed broken ArrayList_Remove and ArrayList_RemoveAt functions, freeing element now.
2014-05-23 13:43:14 +02:00
Hardening
31c77baba0
Don't leak memory when realloc fails
2014-04-09 21:53:42 +02:00
Hardening
36b4f20ff8
Fixes in case of OOM
2014-04-09 15:26:43 +02:00
Norbert Federa
3a58934eb2
libwinpr-utils: Use criticalsection with spincount
...
Use InitializeCriticalSectionAndSpinCount instead of IntializeCriticalSection.
Using spin counts for critical sections of short duration enables the calling
thread to avoid the wait operation in most situations which can dramatically
improve the overall performance on multiprocessor systems.
On Linux this change has no effect because the new winpr critical section
implementation does not use the SpinCount field under Linux because the NPTL
synchronization primitives are implemented using the extremely performant
futex system calls which have this magic already built in.
However, on Mac OS X this change improved the overall performance of the
multithreaded RemoteFX decoder by 25 percent.
I've used a SpinCount of 4000 which avoided 99 percent of the wait calls.
This value is also used by Microsoft's heap manager for its per-heap
critical sections.
Note: This change requires pull request #1397 to be merged.
2013-08-07 18:16:01 +02:00
Norbert Federa
81ef251fc8
winpr: improve and fix locking for data structures
...
- Improved/completed(almost) winpr's critical section implementation
- Replaced WaitForSingleObject locking with critical sections
Note:
WaitForSingleObject should _never_ be used for granular low-contention
locks as it _always_ enters the kernel.
Just replacing WaitForSingleObject locking in Bufferpool with
EnterCriticalSection boosts the multithreaded rfx decoder
performance by almost 400% on win32.
2013-08-02 12:07:05 +02:00
Daryl Poe
86156ce61f
fix memory errors due to too-large memcpy in ArrayList
2013-06-03 09:30:14 -06:00
Christian Hofstaedtler
8833c14eac
fix ArrayList_Shift for args (al, 0, -1)
...
As a result, this should fix #1051 .
2013-03-12 23:21:42 +01:00
Marc-André Moreau
7ff2be09b2
libfreerdp-core: more TSG memory cleanup
2012-12-12 22:03:40 -05:00