Commit graph

8413 commits

Author SHA1 Message Date
hmelder
6155329b64 NSIndexSet: Implement enumerateRangesInRange convenience methods 2024-05-08 16:06:44 +02:00
hmelder
f6eaa5bd03 NSURLSession: Call completion handler on failed request 2024-05-08 16:05:17 +02:00
rfm
6011b3c528 Protect bfd symbol lookup for thread safety 2024-05-07 11:24:26 +01:00
williameveretteggplant
21a48f6136
NotificationCenter removeObserver (#396)
This modifies the NotificationCenter class to do the following:

- add an ivar to the class for an array to hold observers that need to be released when they are removed
- adds an observer to that array if the observer is of class GSNotificationObserver
- upon removing an observer, check if it is in that array, if so remove it from the array and release it.

This replaces the previous implementation which checked the class of the observer as it was being removed, which would cause a crash if the observer had been deallocated.
2024-04-30 18:44:26 +02:00
rfm
a5beb6ab31 Fix for bug #399 2024-04-29 13:11:35 +01:00
hmelder
10eaba4f13 Fix dummy function signature 2024-04-28 23:22:20 +02:00
hmelder
8ec158ad05 Guard Windows Header Include 2024-04-28 23:22:20 +02:00
hmelder
8a93628ecb NSThread: Fix behaviour and Implement setName on Win32 2024-04-28 23:22:20 +02:00
Frederik Carlier
810a39b1f8
Map CURLE_COULDNT_CONNECT to NSURLErrorCannotConnectToHost (#388)
Map `CURLE_COULDNT_CONNECT` to `NSURLErrorCannotConnectToHost`.

When connecting to an IPv6 socket fails, curl easy will return `CURLE_COULDNT_CONNECT`.  GNUstep currently maps `easyCode == CURLE_COULDNT_CONNECT && failureErrno == ETIMEDOUT` to `NSURLErrorTimedOut`, in all other scenarios `CURLE_COULDNT_CONNECT` is not handled.

This would cause the `NSURLSession/test01` to fail on (certain) systems with IPv6 enabled.

This PR maps all other values of `CURLE_COULDNT_CONNECT` to `NSURLErrorCannotConnectToHost`.
Additionally, it also stores the value of `easyCode` in the `NSUnderlyingErrorKey` to make troubleshooting (slightly) easier.
2024-04-21 10:26:24 +01:00
hmelder
1d33c2095f Fix formatting 2024-04-17 23:32:56 +02:00
hmelder
279d91e0f3 NSTimeZone: Import NSScanner 2024-04-17 23:32:56 +02:00
hmelder
2918bd992e Refactor +[NSTimeZone timeZoneArray] 2024-04-17 23:32:56 +02:00
Frederik Seiffert
7842a79839 Removed obsolete GS_ARC_COMPATIBLE define (replaced by OBJC_CAP_ARC) 2024-04-15 09:55:14 +02:00
Frederik Seiffert
ec8a7a3e97 Add +[NSObject _TrivialAllocInit] to enable fast-path alloc / init methods with libobjc2 2.2 2024-04-15 09:55:14 +02:00
rfm
a2b8f34661 Some web servers send empty headers ... tolerate it. 2024-04-04 10:59:00 +01:00
Gregory Casamento
3c1db49f4f
Merge pull request #384 from qmfrederik/dummy-nsnetservices 2024-04-03 23:49:03 -04:00
rfm
d52708e020 Fix for #385 2024-04-02 11:07:14 +01:00
Frederik Carlier
97c01d8064
NSNetService and NSNetServiceBrowser: Gracefully fail when no-backend implementation
Always compile `NSNetService` and `NSNetServiceBrowser`, but have their
`intialize` method return `nil` if libavahi and mDNS are unavailable.

This:
- Results in a clear error message if code which was compiled against a
  copy of GNUstep with avahi/mDNS support runs on a copy of GNUstep which
  doesn't have avahi/mDNS support.
- Avoids code which uses `NSNetService` or `NSNetServiceBrowser` to
  successfully compile (because the classes are defined in the header)
  but then failing to link (because there is no implementation for these
  classes).
2024-03-31 11:37:23 +00:00
Frederik Carlier
07d17a16a7 Generate pkg-config configuration file for libs-base
This commit generates a `gnustep-base.pc` file which is installed in `/lib/pkgconfig` and contains the GNUstep base version number, the libraries to link (equivalent to `gnustep-config --base-libs`) with and the C flags to use (equivalent to `gnustep-config --objc-flags`).
2024-03-30 15:56:22 +00:00
rfm
61da0dab96 fix possible dereference of null pointer 2024-03-11 14:36:22 +00:00
hmelder
ca1d07dcf2 Implement +[NSDate now] 2024-03-11 11:48:28 +01:00
rfm
88b73acd8b more leak fixes 2024-03-04 11:52:42 +00:00
rfm
e8813346e5 more leak fixes 2024-03-04 10:49:58 +00:00
rfm
619f902e9b ileak fix 2024-03-04 10:21:35 +00:00
rfm
cd2626e26b Attept fix for deadlock 2024-02-20 16:05:58 +00:00
rfm
f071a8c7d0 imprve debug info a little 2024-02-20 10:08:43 +00:00
rfm
d988153800 Fix for #361 2024-02-16 14:26:41 +00:00
rfm
92660a5937 Make extra event operate for winsock only 2024-02-13 17:18:42 +00:00
rfm
c4e5ea3d42 partial revert for regression on unix 2024-02-13 16:28:28 +00:00
rfm
d444f1fb3f windows socket fixes 2024-02-13 15:09:43 +00:00
rfm
90e0460466 acceidentally missed from earlier commit 2024-02-13 15:04:23 +00:00
rfm
88e43d73a6 fix incorrect enumeration end parameter 2024-02-13 12:59:12 +00:00
rfm
815556ddf9 OSX compatibility fix 2024-02-13 12:41:34 +00:00
rfm
6488189dca Improve winsock error handling (consistently use correct errror number) 2024-02-13 11:19:36 +00:00
rfm
e6e95d81f6 Added debug 2024-02-12 17:39:22 +00:00
rfm
c0b9ba8992 Possible fox for #319 2024-02-12 06:10:44 +00:00
rfm
ec914793c3 fix for #302 2024-02-11 19:50:06 +00:00
rfm
be12e91109 locale method fixup with testcase 2024-02-11 15:03:37 +00:00
Frederik Seiffert
6d1fe8fadf Initialize Android process with current locale and system time zone 2024-02-11 09:04:04 +01:00
rfm
79a1a6b944 fix for #368 2024-02-06 14:22:04 +00:00
rfm
d6bb6deff6 fix small bug and add optimisation 2024-02-02 15:40:44 +00:00
Dave Vernon
947f0f8b52 Revert inadvertent change. 2024-02-01 09:25:49 -07:00
Frederik Seiffert
f7eff46e86 Fix NSLocale -countryCode incorrectly returning language code 2024-02-01 10:27:14 +01:00
DavidHVernon
c9999c8dcb experiment. 2024-01-31 15:44:03 -07:00
rfm
2df0df5450 move tcp tune code to be shared between windows and unix 2024-01-30 15:26:34 +00:00
rfm
ca48e4f5d7 Merge branch 'master' of ssh://github.com/gnustep/libs-base 2024-01-30 15:09:32 +00:00
rfm
46e7064393 Stream debug and event handling improvements 2024-01-30 15:08:31 +00:00
Frederik Seiffert
524a0c498f Fixed dangling AAssetDir pointer on Android 2024-01-30 10:36:12 +01:00
rfm
3bc0a58531 yet more debug info 2024-01-29 21:46:11 +00:00
rfm
562ee46118 clarer debug log 2024-01-29 21:24:31 +00:00