Alexander Zakharov
3f139108ff
Fix Stack_Peek
2017-03-13 15:45:27 +03:00
pony
a57adc3fde
libwinpr-utils: fix 3 logic errors
2017-02-15 10:08:53 +01:00
Marc-André Moreau
915b9a15b1
Merge branch 'master' of github.com:FreeRDP/FreeRDP
...
Conflicts:
winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Armin Novak
ee186bec73
ListDictionary handle NULL list argument.
2016-04-26 09:34:12 +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
Armin Novak
6698e24228
Fixed leaks, NULL dereferences and broken init.
2015-06-23 21:29:21 +02:00
David FORT
16d36e3083
A malloc() pass on WinPR
...
This patch treats remaining non-checked mallocs. And changes to calloc in places
where it makes sense
2015-06-22 19:10:00 +02:00
David FORT
12f873f1f9
Fixed MessageQueue and callers
2015-05-29 14:24:14 +02:00
Hardening
f8120919af
Add checks for some XXX_New and XXX_Add functions
...
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +02:00
Norbert Federa
ef1fd12b15
Fix unchecked CreateEvent calls and misc fixes
...
1)
Added missing checks for CreateEvent which also required the
following related changes:
- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL
2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.
3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.
4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers
5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Bernhard Miklautz
1093f647d3
ObjectPool: fix regression
...
winpr allocation checks introduced a problem that lead to zero size
allocations in ObjectPool
2015-04-14 13:47:23 +02:00
Bernhard Miklautz
a8c44f15c0
winpr: small fixes and cleanups
...
Update the pull request and integrate the latest comments and
suggestions.
* TestLibrary*: fix typo in error message
* TestPipeCreateNamedPipeOverlapped: free possibly allocated memory
* smartcard_pcsc.c: format fix
* process.c: add missing NULL check
* MessageQueue.c: delete possibly initialized critical section on error
2015-04-08 11:34:37 +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
f469e069dc
stream: Stream_Ensure*Capacity: change return type
...
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.
This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
Bernhard Miklautz
1d7b3694a9
Integrate feedback from pull request ( #2492 )
...
* shell: add missing NULL checks
* thread: handle case where HAVE_EVENTFD_H isn't defined
* wlog: return NULL instead of 0
* wlog: use g_RootLog instead of WLog_GetRoot
otherwise a new root might be initialized on uninit
* indentation and style fixes
2015-03-25 17:38:21 +01:00
Bernhard Miklautz
3c7662517c
hardening
...
Start to add missing checks for:
* *alloc
* *_New
2015-03-25 17:38:21 +01:00
Marc-André Moreau
9562439bd8
libfreerdp-codec: add support for 1bpp image copy
2015-03-16 13:27:27 -04:00
Marc-André Moreau
f226c27fb0
libwinpr-utils: improve BipBuffer
2015-03-13 20:22:21 -04:00
Marc-André Moreau
34181949e6
libwinpr-utils: update BipBuffer
2015-03-13 18:37:48 -04:00
Marc-André Moreau
afdd55fa81
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-03-13 15:30:31 -04:00
Marc-André Moreau
1222da4a86
libwinpr-utils: initial BipBuffer implementation
2015-03-12 16:34:48 -04:00
Marc-André Moreau
5ab34dfa3e
Merge pull request #2456 from zhangzl2013/fix-realloc
...
Fix incorrect usage of realloc
2015-03-12 07:33:27 -04:00
Armin Novak
ac16811e46
Fixed PubSub_Unsubscribe.
2015-03-11 12:28:07 +01:00
Armin Novak
06df5049a7
Fixed missing loop exit condition.
2015-03-11 11:33:17 +01:00
Zhang Zhaolong
512865011d
libwinpr: check return value of realloc.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 16:34:38 +08:00
Zhang Zhaolong
19f2354ee4
fix build error.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 15:04:38 +08:00
Zhang Zhaolong
e30d1c0f47
libwinpr: fix incorrect usage of realloc.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 14:59:56 +08:00
Marc-André Moreau
22ac46957a
xfreerdp: fix egfx multimonitor support
2015-02-10 16:32:07 -05:00
Marc-André Moreau
85191391d5
libfreerdp-core: simplify TS Gateway RPC fragment receiving
2015-01-31 16:56:25 -05:00
Marc-André Moreau
cc2321d359
libfreerdp-core: fix leak and use after free in tsg ListDictionary usage
2014-12-11 17:08:22 -05:00
Marc-André Moreau
d8e10ac04a
freerdp: patch leaks reported by valgrind when using TS Gateway
2014-12-11 11:25:34 -05:00
Armin Novak
d525999a06
Fixed allocation size warning.
2014-11-16 23:43:18 +01:00
Armin Novak
d225b97078
Fixed allocation size warning.
2014-11-16 23:42:30 +01:00
Armin Novak
2671482458
Fixed Stack_Free.
2014-11-16 16:48:50 +01:00
Armin Novak
cf5b9a75b8
Fixed memory leak
2014-11-16 15:03:20 +01:00
Marc-André Moreau
11ae267518
libfreerdp-core: expose new API to allow FreeRDS virtual channel hooking
2014-10-10 16:11:42 -04:00
Marc-André Moreau
b01ef89b3d
libwinpr-utils: improve HashTable flexibility, add proper string support
2014-10-09 16:46:55 -04:00
Marc-André Moreau
bbf4732470
Merge branch 'master' of github.com:FreeRDP/FreeRDP
...
Conflicts:
libfreerdp/gdi/gdi.c
2014-09-25 10:34:56 -04:00
Bernhard Miklautz
7bd62a0127
winpr-utils: fix problem in LinkedList enumerator
...
A segfault can happen if LinkedList_Enumerator_MoveNext is invoked
before LinkedList_Enumerator_Reset was called.
2014-09-24 12:31:52 +02:00
Marc-André Moreau
09fc388e03
shadow: add RefreshRect/SuppressOutput support
2014-09-18 22:18:58 -04:00
Bernhard Miklautz
2218e9684a
Fix: misc compiler warnings
...
Seen in Xcode
2014-09-12 00:36:29 +02:00
Armin Novak
41e7fdd95f
Fixed missing initialisation of position variable.
2014-09-09 16:33:05 +02:00
Armin Novak
a15df299e9
Removed last remainig printf.
2014-09-09 16:32:23 +02:00
Marc-André Moreau
065d6f0c99
Merge pull request #2010 from hardening/list_return_value
...
Make LinkedList return errors when something fails
2014-08-18 13:05:18 -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
Marc-André Moreau
dc7f89dbd5
Merge branch 'egfx' of github.com:awakecoding/FreeRDP
2014-08-11 17:25:38 -04:00
Marc-André Moreau
22d3b6c74b
libfreerdp-codec: remove old RemoteFX RLGR implementation in favour of faster one
2014-08-05 21:41:58 -04:00
Hardening
ff95b9aafa
Make LinkedList return errors when something fails
2014-07-31 10:38:59 +02:00
Bernhard Miklautz
b8415af0d8
Fix compiler warnings.
...
This commit is based on pull request #1493
2014-07-29 05:22:29 +02:00
Marc-André Moreau
ac7d23b9a3
libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free
2014-07-08 15:07:19 -04:00
Marc-André Moreau
78d3c82798
xfreerdp: fix multiple egfx-related memory leaks
2014-06-20 13:52:13 -04:00
Marc-André Moreau
ce6ff35297
xfreerdp: fix egfx off-by-one errors
2014-06-19 17:08:50 -04:00
Marc-André Moreau
42c83c25f8
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
...
Conflicts:
channels/tsmf/client/tsmf_main.c
2014-06-12 12:08:15 -04:00
Armin Novak
fb4fd9f5bb
Added stream pool shrinking if large parts are unused.
2014-06-11 14:38:20 +02:00
Armin Novak
309405592e
Fixed broken ArrayList_Remove and ArrayList_RemoveAt functions, freeing element now.
2014-05-23 13:43:14 +02:00
Marc-André Moreau
c2a59c23a7
libfreerdp-core: fix potential crash on session redirection failure
2014-04-28 16:44:52 -04:00
Zhang Zhaolong
196f5315ae
libwinpr: fix memory leak in case realloc() failed.
2014-04-26 11:32:51 +08:00
Zhang Zhaolong
66dfc4fd5b
winpr: fix error malloc size.
2014-04-25 21:14:10 +08:00
Hardening
ef11358668
Enhance ListDictonnary
...
This patch enhances ListDictionnary so that you can set callbacks for
keys and for values.
2014-04-18 18:26:04 +02:00
Hardening
6febe88026
Fixes for queue and stack
...
This patch does misc fixes in queue and stack:
* the *_new() were not handling OOM correctly ;
* the *_Contains() methods were not using the equals cb;
* the lock were not always taken when accessing internal members;
2014-04-18 16:27:51 +02:00
Marc-André Moreau
edb3ad383e
Merge pull request #1784 from hardening/collections_reallocs
...
Don't leak memory when realloc fails
2014-04-14 14:17:05 -04:00
Hardening
31c77baba0
Don't leak memory when realloc fails
2014-04-09 21:53:42 +02:00
Marc-André Moreau
2c016bf2b0
Merge branch 'master' of github.com:FreeRDP/FreeRDP into smartcard
2014-04-09 10:41:05 -04:00
Hardening
36b4f20ff8
Fixes in case of OOM
2014-04-09 15:26:43 +02:00
Marc-André Moreau
2aa248853a
channels/smartcard: cancel outstanding IRPs on re-initialization
2014-04-05 17:15:17 -04:00
Marc-André Moreau
8cdb3576c2
Merge branch 'master' of github.com:awakecoding/FreeRDP into smartcard
...
Conflicts:
channels/smartcard/client/smartcard_main.c
2014-04-02 18:27:31 -04:00
Marc-André Moreau
882f3098b3
libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets
2014-03-16 15:51:35 -04:00
Marc-André Moreau
c2d8486d8a
libwinpr-utils: convert BitStream to macros
2014-03-11 22:17:31 -04:00
Marc-André Moreau
c686d434b7
libfreerdp-codec: initial RDP4/RDP5 MPPC compression test case success
2014-03-09 17:32:49 -04:00
Marc-André Moreau
d9a2fb4ff9
libfreerdp-codec: start MPPC compressor
2014-03-08 17:38:47 -05:00
Marc-André Moreau
dbe7e7aae2
libwinpr-utils: move BitStream functions to macros
2014-03-05 13:08:11 -05:00
Marc-André Moreau
2cd9649f37
libwinpr-utils: start new BitStream util
2014-03-04 18:15:03 -05:00
Marc-André Moreau
22fbf48109
libwinpr-utils: add synchronized version of HashTable
2014-02-13 22:25:30 -05:00
Marc-André Moreau
cdcd290c44
wfreerdp: fix most build warnings
2014-02-10 22:12:13 -05:00
Marc-André Moreau
ad86d3c333
libwinpr-utils: add HashTable
2014-02-09 21:55:21 -05:00
Hardening
600047df4f
Fix LinkedList_Remove
...
The previous version was setting to NULL both tail and head when
removing the head or tail item. That was corrupting the list.
2014-02-07 14:30:38 +01:00
Marc-André Moreau
80449cd2c5
libwinpr-memory: start stubbing
2014-01-31 18:27:58 -05:00
Marc-André Moreau
b0b8b6aa9e
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-11-12 12:59:41 -05:00
Armin Novak
638d26569f
Updated MessagePipe to new MessageQueue API.
2013-11-12 15:11:39 +01:00
Armin Novak
09d219b8d6
Added <MessageQueue_Clear> and custom handler argument to
...
<MessageQueue_New>.
2013-11-12 15:10:41 +01:00
Marc-André Moreau
5536033a8a
libfreerdp-core: transport refactoring
2013-11-07 17:37:58 -05:00
Marc-André Moreau
61f95fbe16
libfreerdp-core: transport code style cleanup
2013-11-07 15:14:59 -05:00
Marc-André Moreau
3c44ff9c83
channels/rdpsnd: fix bug in rdpsnd and rdpdr deinitialization
2013-11-06 14:31:33 -05:00
Marc-André Moreau
1dbf279212
channels/smartcard: refactor usage of lists and get rid of workarounds
2013-11-03 20:46:40 -05:00
Marc-André Moreau
0417e552cf
libwinpr-utils: fix bug in ListDictionary
2013-10-17 17:27:47 -04:00
Marc-André Moreau
490f18a7aa
channels/rdpdr: don't use deprecated LIST util, use ListDictionary for faster lookups
2013-10-17 16:30:36 -04:00
Bernhard Miklautz
7c61b16da5
ListDictionary: added Remove_Head function
...
ListDictionary_Remove_Head removed the first object from the dictionary
and returns it's value.
2013-10-15 16:15:44 +02:00
Bernhard Miklautz
95bed71dbc
ListDictionary: support for wObject added
2013-10-15 15:51:53 +02:00
Bernhard Miklautz
86e53aed9a
ListDictionary_Remove: return value if removed
...
Update tests accordingly.
2013-10-15 15:49:57 +02:00
Marc-André Moreau
518995a05e
freerdp: merge with master
2013-09-16 17:10:27 -04:00
Armin Novak
62356e667c
Fixed erroneous patch.
2013-09-05 12:14:34 +02:00
Armin Novak
e5c138a5b9
Fixed various memory leaks, allocation size issues and API misuse
...
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Armin Novak
a3b531c036
Fixed issues found with clang-analyzer
2013-09-05 12:14:33 +02:00
Marc-André Moreau
d7656ada48
libfreerdp-codec: fix NSCodec encoding and buffer pool usage
2013-08-19 18:21:34 -04:00
Marc-André Moreau
317ffb2ca3
libwinpr-utils: backport fixed-size buffer pool inside variable size buffer pool
2013-08-19 17:14:24 -04:00
Marc-André Moreau
87593b4f19
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-08-15 13:16:05 -04:00
Marc-André Moreau
efff23acb5
Merge pull request #1395 from richterger/client_redir
...
Fix memory corruption in client redirection
2013-08-15 10:15:11 -07:00
Marc-André Moreau
9f25c4fc25
libfreerdp-codec: initial working fragmented NSCodec encoder
2013-08-15 13:13:02 -04:00
Marc-André Moreau
c149ede6f2
libwinpr-utils: add support for variable size buffer pool
2013-08-15 00:01:42 -04:00
Marc-André Moreau
b972830841
libfreerdp-codec: make use of ObjectPool for tiles
2013-08-13 09:34:15 -04:00
Marc-André Moreau
f8e870a258
libwinpr-utils: implement asynchronous mode for ListDictionary
2013-08-12 17:48:32 -04:00
Marc-André Moreau
34f9985add
freerdp: merge with master
2013-08-07 15:48:57 -04: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
richterger
505facbb6f
Fix off by one problem in StreamPool allocation
2013-08-07 08:01:33 +02:00
Marc-André Moreau
13872f33bf
libwinpr-utils: implement doubly-linked list
2013-08-05 17:29:14 -04: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
Marc-André Moreau
b3265b6958
libwinpr-utils: implement ListDictionary
2013-07-05 18:23:26 -04:00
Marc-André Moreau
3fbc4f899f
libwinpr-utils: fix deadlock in PubSub
2013-06-27 14:16:50 -04:00
Marc-André Moreau
fbf3208b0a
libwinpr-utils: rename certain PubSub functions
2013-06-18 21:23:26 -04:00
Marc-André Moreau
508bae674b
libwinpr-utils: improve PubSub with automatic strongly-typed helpers
2013-06-18 00:39:48 -04:00
Marc-André Moreau
e77d4657e4
libwinpr-utils: add PubSub multiplexing and synchronized access
2013-06-15 18:18:02 -04:00
Marc-André Moreau
8ad532a9d4
libwinpr-utils: implement basic Publisher/Subscriber pattern
2013-06-15 13:32:13 -04:00
Marc-André Moreau
174d1bdd71
libwinpr-utils: start implementing Publisher/Subscriber pattern
2013-06-14 16:55:05 -04:00
Marc-André Moreau
2bd6808432
freerdp: merge with master
2013-06-05 10:31:01 -04:00
Daryl Poe
86156ce61f
fix memory errors due to too-large memcpy in ArrayList
2013-06-03 09:30:14 -06:00
Marc-André Moreau
367ebf32a3
freerdp: make use of stream macros to access members
2013-05-15 12:14:26 -04:00
Marc-André Moreau
c49c235c93
libwinpr-utils: fix stream pool
2013-04-30 00:36:16 -04:00
Marc-André Moreau
83af4266bf
libfreerdp-core: refactor fastpath fragmentation
2013-04-29 23:55:44 -04:00
Marc-André Moreau
51715636a5
freerdp: remove some deprecated stream utils
2013-04-29 22:35:15 -04:00
Marc-André Moreau
d04b76d005
libfreerdp-core: use stream pool
2013-04-12 13:44:23 -04:00
Marc-André Moreau
0fded8c2d0
winpr-utils: fix StreamPool
2013-04-12 12:20:20 -04:00
Marc-André Moreau
f94f90c08b
winpr-utils: initial stream pool implementation
2013-04-11 21:59:02 -04:00
Hardening
7701c9d934
Replace printf(...) by fprintf(stderr, ...)
2013-03-28 23:06:34 +01:00
Marc-André Moreau
8b9ea43d78
libfreerdp-core: fix locking with TS Gateway
2013-03-27 20:06:10 -04: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
fe34a529d5
freerdp: fix build and warnings on Mac OS X
2013-02-21 21:09:42 -05:00
Marc-André Moreau
082e069913
libwinpr-utils: initial MessagePipe implementation
2013-02-20 14:48:32 -05:00
Marc-André Moreau
5e8d35c4ac
channels/rdpsnd: use MessageQueue
2013-02-19 22:36:04 -05:00
Marc-André Moreau
e42b1272ef
libfreerdp-core: added ObjectPool
2013-02-14 20:39:56 -05:00
Marc-André Moreau
47a7d54370
xfreerdp: stabilize asynchronous X11 event handling
2013-02-11 20:38:19 -05:00
Marc-André Moreau
4269ac5c14
xfreerdp: improve asynchronicity
2013-02-09 17:13:53 -05:00
Marc-André Moreau
64160af3a8
libfreerdp-core: added more message definitions
2013-02-04 14:56:54 -05:00
Marc-André Moreau
d9ac2cca39
libfreerdp-gdi: fix 8bpp FillRect color
2013-02-03 15:16:37 -05:00
Marc-André Moreau
470defa4af
libwinpr-utils: test MessageQueue
2013-01-24 15:08:49 -05:00
Marc-André Moreau
fa30eeaef9
libwinpr-utils: started implementing asynchronous MessageQueue
2013-01-24 14:09:44 -05:00
Marc-André Moreau
f5d9b06252
libwinpr-utils: added buffer pool
2013-01-22 20:36:08 -05:00
Marc-André Moreau
d4d19d6473
libwinpr-pool: implement WaitForThreadpoolWorkCallbacks
2013-01-21 19:22:08 -05:00
Marc-André Moreau
9a7bcbb084
libfreerdp-codec: remove old RemoteFX tile pool
2013-01-20 20:44:30 -05:00
Marc-André Moreau
5b4aaf276f
libfreerdp-core: added reference counter for receive buffers
2013-01-18 13:50:35 -05:00
Vic Lee
48c0c4b090
libwinpr-utils/queue: fix a memory corruption in Queue_Clear.
2012-12-24 12:45:55 +08:00
Marc-André Moreau
7ff2be09b2
libfreerdp-core: more TSG memory cleanup
2012-12-12 22:03:40 -05:00
Marc-André Moreau
d3e0537d0d
libfreerdp-core: more TSG memory cleanup
2012-12-12 00:49:15 -05:00
Marc-André Moreau
3aeb9eb197
libfreerdp-core: TSG partial cleanup
2012-12-11 23:34:51 -05:00
Marc-André Moreau
db91555564
libfreerdp-core: improved TSG asynchronicity
2012-12-10 18:56:53 -05:00
Marc-André Moreau
731e606c15
libfreerdp-core: start handling client call state
2012-12-07 21:09:55 -05:00
Marc-André Moreau
be98cffbd2
libwinpr-utils: fix ArrayList
2012-12-07 19:40:44 -05:00
Marc-André Moreau
b92d2cf30f
libwinpr-utils/collections: stubbed more classes
2012-12-05 19:36:45 -05:00
Marc-André Moreau
5a131688e4
libwinpr-utils: implement ArrayList
2012-12-05 17:24:01 -05:00