Commit graph

8546 commits

Author SHA1 Message Date
rfm
d49b6a46ce Debug improvements 2024-06-21 16:43:50 +01:00
rfm
4233f6a9d6 fix dead assignments 2024-06-21 15:02:55 +01:00
rfm
5a09b09fe3 iAdd comment on why we use fork() 2024-06-21 12:34:34 +01:00
rfm
ea1f5a0d12 Fix dead initialisations 2024-06-21 12:23:52 +01:00
rfm
da181e9ab0 Remove dead assignments. 2024-06-21 12:17:15 +01:00
rfm
8e0000770d Do not use vfork since its behavior is undefined for our use-case 2024-06-21 12:02:13 +01:00
rfm
a08d7f8b0f Tolerate nil cwrelease methods for content 2024-06-21 11:51:26 +01:00
rfm
4ad8d6ba38 Avoid compiler warning 2024-06-21 11:45:38 +01:00
rfm
235bb21df3 Fix obscure memory management issues 2024-06-19 15:28:48 +01:00
rfm
1c2b81d724 Fix C-string termination issues and a few dead assignments 2024-06-19 14:53:51 +01:00
rfm
9c9c918a8c Fix ranged initialisation index errors 2024-06-19 14:20:37 +01:00
rfm
5dbec4e707 Avoid excess copies of dictionary keys 2024-06-19 12:07:16 +01:00
rfm
7c4a7469a9 Fix potential leaks 2024-06-19 11:28:34 +01:00
rfm
da1a69e4bd Fix potential use after dealloc 2024-06-19 11:08:58 +01:00
rfm
6f94c90d98 fix leak 2024-06-18 12:03:01 +01:00
rfm
4d0b00776c Memory leak improvments 2024-06-18 11:23:15 +01:00
hmelder
ead9a65cb8 NSKVOSupport: Remove @status comments 2024-06-18 09:59:56 +02:00
rfm
c9af996377 fix return value to be autoreleased 2024-06-12 13:54:10 +01:00
rfm
a4b661d633 Fix non-portabe use of dot syntax. Fix excess release. Conform to coding style. 2024-06-12 11:05:10 +01:00
rfm
92247d13c9
Merge pull request #419 from 2xsaiko/outgoing/nsfmurls
Implement -[NSFileManager URLsForDirectory:inDomains:]
2024-06-12 11:00:49 +01:00
hmelder
56ab182563 Add file extension of source file in GNUMakefile 2024-06-11 18:32:34 +02:00
hmelder
02d4823ecb NSKVOSupport: Remove commented-out code 2024-06-11 18:24:44 +02:00
hmelder
073b00657a Improve runtime detection in makefile 2024-06-11 18:20:26 +02:00
hmelder
55599c8913 NSKVOSwizzling: Do not mix decl and code 2024-06-11 18:19:35 +02:00
hmelder
12b4b28598 NSKVO: Update copyright headers 2024-06-11 18:11:47 +02:00
hmelder
a8821ecda7 NSkeyValueObserving: Revert to old formatting 2024-06-11 18:09:57 +02:00
hmelder
e375dcb359 NSKeyValueMutableSet: Remove NSLog 2024-06-11 18:06:30 +02:00
hmelder
63c29aa4fb Update license headers 2024-06-11 18:04:26 +02:00
Gregory Casamento
ced4cd0531
Merge pull request #410 from gnustep/NSExpression_branch 2024-06-11 11:46:56 -04:00
hmelder
1856555ac0 NSKVOSwizzling: use _alloca on Windows 2024-06-11 17:19:13 +02:00
Marco Rebhan
952e076084
Implement -[NSFileManager URLsForDirectory:inDomains:] 2024-06-11 17:14:36 +02:00
hmelder
198ef4fd72 NSKeyValueCoding: Change notifications when changing value via setValue:forKey: 2024-06-11 16:01:17 +02:00
rfm
a541a467bf cosmetic fixes (indentation etc) 2024-06-11 13:41:08 +01:00
rfm
3bcb484691
Merge pull request #416 from gnustep/enumerateSubstringInRange
Fix broken enumerateSubstringsInRange:options:usingBlock: implementation
2024-06-11 13:29:48 +01:00
hmelder
922813a90f NSKeyValueMutableSet: Document Accessor Search Patterns 2024-06-11 13:00:17 +02:00
hmelder
9f3fa5baa5 NSKeyValueMutableSet: Fix will and didChange notifications for set operations 2024-06-11 12:38:28 +02:00
hmelder
d2a50254d0 NSKVOSupport: Fix new objects not being added to NSKeyValueChangeNew set on set mutation 2024-06-11 12:18:26 +02:00
rfm
67c53d6598 No exception when closing a file more than once 2024-06-10 11:51:47 +01:00
Litherum
e39309a7e9 -[NSFileHandle initWithFileDescriptor:] logs a message each time fstat() doesn't succeed on UNIX
fstat() on UNIX isn't guaranteed to always succeed, even if the file handle is valid. Special files may or may not support fstat() in the kernel.

(For context, I'm working on a Vulkan application. Vulkan has facilities to send certain objects across processes by representing the objects as file descriptors. These file descriptors still need to be close()d, which makes them good candidates for wrapping an NSFileHandle around them, but they do not support fstat(). I'm creating multiple of these each frame in the application, which means the line "unable to get status of descriptor" appears very often in the terminal while my application is running.)
2024-06-09 14:17:29 -07:00
hmelder
4072792439 NSKeyValueObserving: Rename TypeEncodingCases header 2024-06-04 23:04:25 +02:00
hmelder
99329699c4 NSKeyValueObserving: Use old implementation as fallback 2024-06-04 23:04:01 +02:00
Hugo Melder
4d3926d250
Implement -[NSString enumerateLinesUsingBlock:] (#407)
* Implement -[NSString enumerateLinesUsingBlock:]

* Fix formatting

* Use GNUstep CALL_BLOCK macro
2024-06-04 22:19:45 +02:00
hmelder
c22479d95d NSKVOSwizzling: Ugly C Rewrite 2024-06-04 21:15:49 +02:00
hmelder
6511982c0f NSKVOSupport: Import 2024-06-04 20:18:49 +02:00
hmelder
97880a285d GSAtomic: Add prefix to macro definitions 2024-06-04 20:18:20 +02:00
hmelder
0c69d096ca NSString: Fix broken enumerateSubstringsInRange:options:usingBlock: implementation 2024-06-04 12:10:20 +02:00
hmelder
c6d288aae9 NSPredicate: Remove whitespace 2024-05-31 14:24:57 +02:00
hmelder
094bc55120 NSPredicate: Fix BETWEEN operation on other data types and constants 2024-05-31 14:24:57 +02:00
rfm
f19650b9df fix bad type case 2024-05-31 09:39:52 +01:00
Gregory John Casamento
d3d53ab23f Clean up tests 2024-05-31 00:20:09 -04:00
rfm
cfc158b4ce Remove obslete code 2024-05-30 11:28:49 +01:00
rfm
58ae7db59a fixup headers for deletion of obsolete lock code 2024-05-30 11:06:23 +01:00
rfm
241e2a47ca locking updates (fine grained locking rather than global lock) 2024-05-30 10:40:52 +01:00
Gregory John Casamento
25ebe42c22 Merge branch 'master' of github.com:gnustep/libs-base into NSExpression_branch 2024-05-30 01:10:52 -04:00
Gregory John Casamento
5c1e4e8eda Update to fix remaining issues with new NSExpression classes 2024-05-28 19:10:11 -04:00
Gregory John Casamento
48ab2e2bc7 Add implementation of expressionValueWithObject:context: to GSAggregateExpression 2024-05-28 15:03:26 -04:00
Gregory John Casamento
a49ae59a79 Add description method and a few minor changes 2024-05-26 16:16:40 -04:00
rfm
1e0023dc43 fix uninitialised variable 2024-05-26 16:49:22 +01:00
Gregory John Casamento
0a440a5303 Add missing NSMinusSetExpression 2024-05-26 09:11:21 -04:00
Gregory John Casamento
dc9ff1ff6f Add declarations and skeletons for new subclasses 2024-05-26 08:39:44 -04:00
Gregory John Casamento
392a626444 Add missing enum values, add skeleton implementations for metods, add simple tests 2024-05-25 00:39:34 -04:00
Gregory John Casamento
f6eb49bdf7 Add skeleton for 10.5 methods 2024-05-24 16:55:16 -04:00
Gregory John Casamento
c5defb6f3c Get rid of whitespace 2024-05-24 14:37:24 -04:00
Gregory John Casamento
5eea30b530 Add 10.6 NSExpression methods 2024-05-24 14:28:04 -04:00
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