Commit graph

8145 commits

Author SHA1 Message Date
Frederik Seiffert
0af2c6de72 Add required cast in case nil is not defined as id 2021-11-13 22:16:46 +01:00
Richard Frith-Macdonald
b55ee6b0c5 Clarify that run loop watchers are NOT retained, and are responsible for removing themselves from the run loop when they have finished watching for events. 2021-11-11 10:01:52 +00:00
Mads Marquart
4033ee28a8 Fix NSGetSizeAndAlignment usage
The argument order is (*sizep, *alignp), but it was often incorrectly used the other way around.
2021-11-02 10:18:05 +01:00
Mads Marquart
d439847ba6
Fix NSData initWithBytesNoCopy:length:deallocator:
The previous implementation simply swizzled `NSData` into `NSDataWithDeallocatorBlock`, and forgot to actually assign `bytes` and `length`.
2021-10-29 09:17:56 +02:00
Frederik Seiffert
47480d781a Add missing export declarations required by libs-gui on Windows MSVC 2021-10-26 10:28:51 +02:00
Frederik Seiffert
80f05c2278 Fix -[NSFileManager URLForDirectory:...] using incorrect NSURL initializer and simplified implementation 2021-10-20 18:42:21 +02:00
Richard Frith-Macdonald
c307a04a39 Fix minor leaks 2021-09-16 10:25:26 +01:00
Richard Frith-Macdonald
149acc40ae fix minor potential leaks 2021-09-16 10:20:41 +01:00
Nuntius
b2983dc77a Workaround for the session retain loop 2021-09-04 13:07:14 +02:00
Nuntius
a5c66e7c5d Apply requested changes 2021-08-29 17:47:01 +02:00
Nuntius
a0ab740234 Implement URLSession:downloadTask:didFinishDownloadingToURL: delegate 2021-08-28 20:33:19 +02:00
Nuntius
d3e40dfc9d Begin implementation of NSURLSessionDownloadTask 2021-08-27 21:56:08 +02:00
Richard Frith-Macdonald
6d5084e3e1 Delete commented out code accidentally left in on last commit 2021-08-27 10:52:32 +01:00
Richard Frith-Macdonald
00db92e146 Merge remote-tracking branch 'origin/master' into nstimezone 2021-08-27 09:37:51 +01:00
Richard Frith-Macdonald
0d12a1e77e Changes to address mostm of Fred's comments 2021-08-27 09:19:38 +01:00
Frederik Seiffert
170701f7e6 Fix building for Windows MSVC with recent toolchain 2021-08-19 11:05:33 +02:00
rfm
1e8ff8e628
Merge branch 'master' into nstimezone 2021-08-18 14:52:24 +01:00
Richard Frith-Macdonald
1fe008304a Formatting tidyups 2021-08-18 14:03:25 +01:00
Nuntius
ca5e4fc239 Adjust formatting 2021-08-17 15:03:09 +00:00
Nuntius
c3daa41f2d Fix indentation 2021-08-17 13:57:37 +00:00
Nuntius
866bdd0636 Merge branch 'master' of https://github.com/Fokka-Engineering/libs-base into new-nsurl-methods 2021-08-17 13:00:09 +00:00
Nuntius
9b3caf99fd Implement 10.11 NSURL initFileURLWithPath: initializers 2021-08-17 10:30:19 +00:00
Richard Frith-Macdonald
96ef94862f Add debug log for certificat request which is not for x509 2021-08-17 11:10:23 +01:00
Richard Frith-Macdonald
ae8d496f91 Remove spurous line in last change 2021-08-16 14:00:09 +01:00
Richard Frith-Macdonald
19809ac46d tweak for ms-windows 2021-08-16 12:48:48 +01:00
Richard Frith-Macdonald
78ab878029 more simplifications and removal of unused defines etc 2021-08-16 11:45:42 +01:00
Richard Frith-Macdonald
a0852146c9 Avoid O_CLOEXEC for portability 2021-08-14 12:49:12 +01:00
Richard Frith-Macdonald
b71a5bfc40 Use our own struct tm 2021-08-14 12:43:44 +01:00
Richard Frith-Macdonald
11c50770d3 Use our own struct tm equivalent for portability 2021-08-14 12:42:26 +01:00
Richard Frith-Macdonald
2f2869ff20 Remove some useless defines and declarations 2021-08-14 12:22:03 +01:00
Richard Frith-Macdonald
c43ea6d474 Update for handling more future dates, and further testing. 2021-08-14 11:25:23 +01:00
Frederik Seiffert
f67c99dbcc win32: initialize Windows Sockets in NSObject only
And update to Windows Socket version 2.2. Also clean up the DllMain initialization to handle CRT init errors and call _CRT_INIT also on DLL/thread detach, and remove uneeded .idata section after removing WSAStartup() import.

WSAStartup() should not be called from DllMain according to MS documentation. Fixes #186.
2021-08-11 19:32:21 +02:00
Frederik Seiffert
b2f2a3a429 win32: fix warnings 2021-08-11 19:32:21 +02:00
Frederik Seiffert
acde7b062a Fix release method signature to match NSObject 2021-08-11 19:32:21 +02:00
Frederik Seiffert
27c06a9209 Fix various incorrect format string types 2021-08-11 19:32:21 +02:00
Frederik Seiffert
87dc8ab70c Fix incorrect method signature in win32/NSMessagePort 2021-08-11 19:32:21 +02:00
Frederik Seiffert
5a46f744df Fix incorrect string format in NSException 2021-08-11 19:32:21 +02:00
Frederik Seiffert
2d45396de0 Fix various incorrect log statements 2021-08-11 19:32:21 +02:00
Richard Frith-Macdonald
5162d888dc timezone updates for version2 files 2021-08-11 08:43:20 +01:00
Richard Frith-Macdonald
25b25080c3 Fix possible buffer overrun/corruption spotted by Fred. 2021-08-09 08:29:15 +01:00
Frederik Seiffert
35ef9423e0 Annotate callback functions with __stdcall on Windows
Fixes crash on exit on Windows x86.
2021-08-08 17:27:40 +02:00
Frederik Seiffert
55da62c1c1 Add missing import declaration on runtime declarations
Fixes warnings when building for Windows MSVC.
2021-08-08 17:27:40 +02:00
Frederik Seiffert
40f88bc622 Enable _C_BOOL on non GNU C compilers 2021-08-08 17:27:40 +02:00
Frederik Seiffert
3b8009654c Improve robustness of finding devroot on Windows
Fixes possible infinite loop if developer root is not found.

Also disable devroot() code under MSVC, as there will be no MSYS environment.
2021-08-08 17:27:40 +02:00
Frederik Seiffert
b41953d274 More robust check for Windows ICU
Also ensure that we don't include both unicode/*.h and icu.h.
2021-08-08 17:27:40 +02:00
Frederik Seiffert
dc32970502 Add support for using ICU DLL from Windows 10
Requires Windows 10 version 1903 (May 2019 Update):
https://docs.microsoft.com/en-us/windows/win32/intl/international-components-for-unicode--icu-

Also adds missing configure check for unicode/utext.h.
2021-08-03 16:52:38 +02:00
Frederik Seiffert
cf2dae1e21 Improve NSThread thread priority error handling
Now using sched_get_priority_min/max instead of PTHREAD_MIN/MAX_PRIORITY defines, and prevent error log when min/max priority are equal (e.g. 0), which happens e.g. on Android when thread priorities are not settable.
2021-07-29 14:22:27 +02:00
Frederik Seiffert
abfe4e2a04 Use native threading and locking APIs on Windows
Removes dependency on pthread library and uses fast Slim Reader/Writer (SRW) locks for NSLock/NSRecursiveLock/NSCondition/NSConditionLock as well as all internal locks. Adds GS_MUTEX_*() macros in GSPThread.h, that are being used for all internal locking instead of pthread APIs.

Also adds support for thread priorities on Windows, fixes method signature of +[NSThread setThreadPriority:] to match Apple platforms, and adds error handling in same method.
2021-07-29 14:22:27 +02:00
Richard Frith-Macdonald
3b8bbb00ba Try to make timezone parsing more robust: always use standard header for posix time zone files. 2021-07-29 10:35:19 +01:00
Richard Frith-Macdonald
0b3f2a9fb0 Fixup for incorrect method implementation used in sloppy parser. 2021-07-26 14:57:41 +01:00