Commit graph

8532 commits

Author SHA1 Message Date
Doug Simons
0935f77d8f
Merge pull request #405 from gnustep/small_xml_fixes
Two small xml fixes
2024-05-15 09:26:57 -06:00
Frederik Seiffert
94a6cb9919 Fix Unicode includes in NSString.m
Fixes compilation using ICU bundled with Windows.
2024-05-15 17:09:00 +02:00
Doug Simons
fdffcbdd27
Update NSXMLElement.m to satisfy older compilers 2024-05-14 15:56:43 -06:00
Doug Simons
f5f8f61e54
oops! Put the other bracket back in. 2024-05-14 15:44:44 -06:00
Doug Simons
256700d57d
avoid using Obj-C 2.0 notation 2024-05-14 15:40:22 -06:00
Doug Simons
50f447f5b8
Fix execute_xpath() to return an NSError when expression can't be evaluated; Remove previous attributes when setting attributes; Add related tests 2024-05-14 15:25:07 -06:00
rfm
3f994d3ee1 avoid compiler warnings 2024-05-12 15:07:49 +01:00
rfm
e9cfa9558b removed unused import 2024-05-12 10:14:02 +01:00
rfm
adbc7c2631
Merge pull request #400 from gnustep/nsurlhandle_cache
GSFileURLHandle: Remove file handle caching
2024-05-12 10:11:28 +01:00
rfm
35bb9f48ef regular expression range search 2024-05-12 10:03:15 +01:00
rfm
1fdf6395bd
Merge pull request #370 from ethanc8/ethanc8-3
Implement +[NSRegularExpression escapedPatternForString:] and -[NSString enumerateSubstringsInRange:options:usingBlock]
2024-05-12 09:32:34 +01:00
rfm
00a95fef78 trivial coding style fixups 2024-05-09 12:20:45 +01:00
hmelder
77e3453020 Remove FIXMEs 2024-05-08 16:06:44 +02:00
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
hmelder
a1dff584a4 GSFileURLHandle: Remove caching functionality 2024-05-06 18:06:50 +02:00
hmelder
a127d4ee75 GSFileURLHandle: Expose internal cache 2024-05-06 10:44:22 +02:00
hmelder
e1fcc2db35 GSFileURLHandle: Use NSCache and limit cache size 2024-05-06 10:38:07 +02: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
ethanc8
a15fa66276 Stylistic changes in -[NSString enumerateSubstringsInRange:options:usingBlock:] 2024-02-17 19:11:05 -06: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
rfm
bad85d69f7 add write error debug log 2024-01-29 21:05:54 +00:00
rfm
742d9fc843 improve poor debug log 2024-01-29 21:00:22 +00:00
rfm
41d948b5bb patch to improve thread startup by Larry Campbell 2024-01-29 19:50:44 +00:00
rfm
b7f66a9dd3 fix for issue #365 2024-01-29 14:27:32 +00:00
rfm
a0ce4ab880 keep observer retained until removed 2024-01-09 08:25:28 +00:00
rfm
db90ab6bb9 fix leak spotted by Larry Campbell 2024-01-05 08:22:24 +00:00
ethanc8
b8239f604f Implement -[NSString enumerateSubstringsInRange:options:usingBlock] 2023-12-31 22:41:45 -06:00
ethanc8
7862434d85 Implement +[NSRegularExpression escapedPatternForString:] 2023-12-29 22:43:35 -06:00
hmelder
7a39bcf319 Fix formatting 2023-12-28 12:02:04 +01:00
hmelder
61bb82e902 NSNull: Implement valueForUndefinedKey and return [NSNull null] 2023-12-28 12:02:04 +01:00
Riccardo Mottola
08858caf29 cleanup biolerplate comments, enable autogsdoc comments, cleanup some old RCS/CVS tags, fix emails 2023-12-23 02:44:50 +01:00
rfm
6ad8953196 fix minor documentation generation warning 2023-12-21 20:20:52 +00:00
rfm
c739ac81bd Another path fix 2023-12-19 14:24:13 +00:00
rfm
cead13c823 cope with partial path to file containing class 2023-12-12 21:11:55 +00:00
rfm
48e599ae06 add some logging info 2023-12-12 20:59:09 +00:00
rfm
286a127501 Warn about unmatched <ignore> tags 2023-12-12 20:45:06 +00:00
rfm
70e56ecfea bugfix by by danieljboyd@icloud.com 2023-12-06 17:40:06 +00:00
rfm
aec85c5a4f remove obsolete size restriction on port messages 2023-12-05 14:33:56 +00:00
rfm
05c1ba2e6e ifindentation fixes 2023-12-05 14:12:07 +00:00
rfm
5c5a62e8d4 Avoid conflict of ivar name with systemcall name 2023-11-30 08:16:02 +00:00
rfm
2473c744d1 fix accidentally deleted line 2023-11-23 17:30:51 +00:00
rfm
07fed93200 Improvements for github issue 352 2023-11-23 16:39:58 +00:00
rfm
c1c17df624 avoid compiler warning 2023-11-23 16:35:35 +00:00
Riccardo Mottola
d22abeebc5 add further debug log 2023-11-21 17:30:00 +01:00
rfm
a01afe20b9 Fixup error intrduced in last commit 2023-11-21 14:05:24 +00:00
rfm
d98bc5cf2f Fix path format for backslashes on windows 2023-11-21 13:18:43 +00:00
rfm
270429cf97 Warn if we can't find the library version for a bundle 2023-11-21 08:31:44 +00:00
Frederik Seiffert
fd7f11a134 Support deleting NSMutableURLRequest headers by calling setValue:forHTTPHeaderField: with nil value. 2023-11-14 23:04:42 +01:00
rfm
b4feee311f Fix for #334 2023-11-14 21:20:50 +00:00
rfm
e8b67e3e0b fix for #292 2023-11-14 20:55:22 +00:00
rfm
58397df4bc Merge branch 'autogsdoc-improvements'
Adds ObjC2 support and various bugfixes
2023-11-14 20:00:36 +00:00
rfm
dc96e8ec47 more options to close descriptors (for portability) 2023-11-14 19:56:43 +00:00
rfm
ae9892db11 Use closefrom() if available 2023-11-14 11:34:55 +00:00
rfm
15ff083a9a Reformatting and compilation fixes. 2023-11-13 19:45:16 +00:00
hmelder
a66d25598e NSObject: Change return type of setVersion: from id to void 2023-11-13 20:01:11 +01:00
Hugo Melder
ac38295f64
NSRegularExpression: Improved Error and Exception handling to match macOS behaviour (#343)
* NSRegularExpression: Match macOS error handling

* Add test cases for error handling

* NSRegularExpression: Raise an NSInvalidArgumentException instead of NSInternalInconsistencyException

* Check if NSRegularExpression throws an exception
2023-11-13 19:55:49 +01:00
rfm
40ebe6df30 Minore documentation cross reference fixes 2023-10-30 19:55:45 +00:00
rfm
e027ff8585 Minor documentation tweaks 2023-10-30 16:56:05 +00:00
rfm
44dc5cef3d Documentation error tweaks 2023-10-30 16:09:10 +00:00
rfm
2e48b09feb Raise exception for unimplemented methods 2023-10-30 15:37:18 +00:00
rfm
8b4a8820a8 Fix to ensure correct version of mheader fiel is imported 2023-10-30 14:30:06 +00:00
rfm
1cce7e97e2 Mark unimplemented methods 2023-10-30 14:29:25 +00:00
rfm
0db43469c2 Fuylly specify argument type 2023-10-30 13:58:23 +00:00
rfm
112c60b48b Tweaks to make preprocessor documentation more reliable 2023-10-30 12:27:25 +00:00
rfm
57f066442e Add diagnostic code and implement lookup for metods in informal protocols 2023-10-27 15:10:11 +01:00
rfm
1942313dea NSISO8601DateFormatter bugfix (as reported by kevinpeizner) and tweaks. 2023-10-26 14:19:06 +01:00
rfm
fa30cfa93a Remove -WordMap information (now built in to autogsdoc) and use -Verbose 2023-10-26 11:24:30 +01:00
Riccardo Mottola
02262e9ac0 some cleanup for autogsdoc 2023-10-23 21:41:59 +02:00
rfm
7dfe3c56a5 Add missing preprocessor value mappings 2023-10-23 19:56:10 +01:00
rfm
7924d3a08f
Merge pull request #333 from qmfrederik/fixes/objc-includes
Add missing includes for `objc_msg_lookup` in `NSObject.m` and `NSProxy.m`
2023-10-21 19:08:49 +01:00
rfm
ab11ba285e
Merge pull request #337 from qmfrederik/fixes/tool-not-found-error
NSDistributedNotificationCenter: Throw a descriptive exception when gdnc could not be found
2023-10-21 19:08:02 +01:00
rfm
921c1317f7 Fix to make working directory checks function on windows 2023-10-11 18:10:44 +01:00
Frederik Carlier
b9f3bb4d76 NSDistributedNotificationCenter: Throw a descriptive exception when gdnc could not be found
`NSTask launchPathForTool: @"gdnc"];` can return `nil` when the tool is not found.  In this case, `[NSTask launchedTaskWithLaunchPath]` would raise a `NSInvalidArgumentException` with error message "NSTask - no launch path set" which is not very descriptive.
2023-10-11 16:38:17 +02:00
Richard Frith-Macdonald
a5a9423c10 Return error if task directory is bad 2023-10-10 17:01:52 +01:00
Gregory John Casamento
e73f55f182 Remove check for GSMacOSXCompatible from respondsToSelector: 2023-10-10 03:45:21 -04:00
Gregory John Casamento
2300a26b1a Update... fix respondsToSelector: 2023-10-10 00:28:49 -04:00
Wolfgang Lux
3ed5eb3dcf Use _exit instead of exit to terminate a vfork'ed process.
This avoids running the atexit handlers, which could have visible side
effects in the parent process.
2023-10-09 22:51:01 +02:00
Frederik Carlier
f92c46982d NSProxy: Include <objc/message.h>
NSProxy uses objc_msg_lookup, which is defined in <objc/message.h>
2023-10-08 23:20:52 +02:00
Frederik Carlier
ed77305f32 NSObject: Include <objc/message.h>
NSObject uses objc_msg_lookup, which is defined in message.h
2023-10-08 23:19:30 +02:00
Richard Frith-Macdonald
531d3b8559 Small array keyword fixes for NSPredicate 2023-10-08 13:48:33 +01:00
Gregory John Casamento
dbc71df600 Remove unneeded method definition 2023-10-07 20:51:47 -04:00
Gregory John Casamento
f2e31e0b54 Move implementation of new method to correct category 2023-10-07 20:51:47 -04:00
Gregory John Casamento
edc15778d2 Add removeObserver:fromObjectsAtIndexes:forKeyPath:context: method 2023-10-07 20:51:47 -04:00
Richard Frith-Macdonald
24653e63c3 Ensure sockaddr_any is future proof for new socket addresse sizes on
platforms where sockaddr_storage is provided
2023-09-24 12:26:59 +01:00
Riccardo Mottola
5773700b93 some date cleanup for updated doc generation 2023-09-21 01:27:10 +02:00
Riccardo Mottola
0547b18d32 remove some useless ; in declarations 2023-09-21 00:55:10 +02:00
Gregory Casamento
92ef305e1e
Merge pull request #326 from gnustep/warningfix 2023-09-20 16:51:25 -04:00
Gregory Casamento
dbfbf3766a
Merge pull request #317 from gnustep/NSLock_fix_issue316 2023-09-19 12:41:12 -04:00
Riccardo Mottola
2c7b3c6f63 cast to the localsub type 2023-09-18 22:57:40 +00:00
Riccardo Mottola
72e8335bd9 check for a valid file and check for ftruncate() result and throw exception in case 2023-09-18 23:40:13 +02:00
Riccardo Mottola
e20b3d59fc only exec if chdir worked 2023-09-18 23:13:41 +02:00
Riccardo Mottola
339fb7a131 suppress various warnings 2023-09-18 23:08:41 +02:00
Richard Frith-Macdonald
65163ebf48 Add testcases and corrected code to check for GSMacOSXCompatibility mode
when unlocking fails.  Also put more detail in the warning message
2023-09-17 23:35:03 -04:00
Gregory John Casamento
f73efa4f89 Remove reference to method we are not implementing at this point 2023-09-15 15:15:10 -04:00
Gregory Casamento
788606f424 Add method which calls info implementation 2023-09-15 14:59:33 -04:00
Gregory John Casamento
4b54990846 Move info method to the right place 2023-09-15 14:57:29 -04:00
Gregory Casamento
19977930f5 Add skeletal version of removeObserver:fromObjectsAtIndexes:forKeyPath:context: 2023-09-15 14:46:01 -04:00
Gregory Casamento
75965866a1 Fix compilation error 2023-09-15 14:39:33 -04:00
Gregory Casamento
0f3bb3d2b8 Use keysight implementation of the method removeObjserver:forKeyPath:context: 2023-09-15 14:13:44 -04:00
Gregory John Casamento
b8bc924cdb Throw an exception when calling the removeObserver:forKeyPath:context: method 2023-09-14 12:22:56 -04:00
Gregory John Casamento
5507ea1d1e Change formatting 2023-09-14 09:31:57 -04:00
Gregory John Casamento
2c81d3e003 Add removeObserver:forKeyPath:context: to implementation 2023-09-13 12:49:01 -04:00
Gregory John Casamento
05dd8a4c2a Add code using getenv to show #rfm the current failure 2023-09-11 11:02:14 -04:00