Commit graph

7791 commits

Author SHA1 Message Date
Gregory John Casamento
b4c24b8f8c Fixed issues Fred pointed out 2019-08-05 19:44:37 -04:00
Gregory John Casamento
cb20153df4 Add logic to stop enumeration 2019-08-05 16:20:09 -04:00
Gregory John Casamento
904604b448 Skip a file if it's hidden and the flag is YES 2019-08-05 15:46:29 -04:00
Gregory John Casamento
69168d3661 Add new init method 2019-08-05 14:37:58 -04:00
Gregory John Casamento
a90a55a3ea Fix suggestions made by Fred 2019-08-05 10:20:40 -04:00
Gregory John Casamento
52459ae2aa Implementation of URLForDirectory:inDomain:... 2019-08-05 03:29:21 -04:00
Gregory John Casamento
8d35169311 Eliminate redundant _internal variable 2019-08-05 00:00:55 -04:00
Gregory John Casamento
54b86e303b Fix issue with earlier versions of clang 2019-08-04 23:26:41 -04:00
Gregory John Casamento
93b4fed381 Add retain and release for block 2019-08-04 22:36:10 -04:00
Gregory John Casamento
12db1f62c7 Commit progress on NSFileManager 2019-08-04 22:19:28 -04:00
Gregory John Casamento
fe3968a9a1 Get initial skeleton to compile 2019-08-02 15:08:25 -04:00
Gregory John Casamento
1e2c87a9da Merge branch 'master' into NSBlockOperation_branch 2019-08-02 13:36:56 -04:00
Gregory John Casamento
2553b6d56d Add addOperationWithBlock: to NSOperationQueue 2019-08-02 13:29:42 -04:00
Gregory John Casamento
bdc589ce79 Use comparator in sorting 2019-08-02 10:58:13 -04:00
Gregory John Casamento
b970077e42 Eliminate pointless/annoying warning on line 111 regarding formatting 2019-08-02 09:44:31 -04:00
Gregory John Casamento
64a59aeb08 Initial implementation 2019-08-02 09:30:39 -04:00
Gregory John Casamento
88dd60a8fc Complete code for NSBlockOperation, need to write tests 2019-08-02 05:20:59 -04:00
Gregory John Casamento
8771837ff8 New skelenton class compiles 2019-08-01 16:03:16 -04:00
Gregory John Casamento
a983e7222d More implementation of NSProgress 2019-07-31 17:11:58 -04:00
Gregory John Casamento
c72ebff803 Implement initialization methods. 2019-07-31 00:08:45 -04:00
Gregory John Casamento
8e15239ff3 Add initial values 2019-07-30 13:24:06 -04:00
Gregory John Casamento
ae1890e7d6 Add initial values 2019-07-30 13:22:57 -04:00
Gregory John Casamento
f8e181d875 Add NSProgress.m... compiling. 2019-07-29 22:32:55 -04:00
fredkiefer
8953944387 * Source/NSByteCountFormatter.m: Fix to work in non fragile settings. 2019-07-28 17:30:42 +02:00
Gregory John Casamento
82a046ac85 Minor spacing change 2019-07-19 14:43:19 -04:00
Gregory John Casamento
c5a99a0e40 Add support for non-numeric and add test 2019-07-19 14:08:32 -04:00
Gregory John Casamento
361bd85d04 Implement adaptive method for NSByteCountFormatter 2019-07-19 08:57:02 -04:00
Gregory John Casamento
252d6a9fec Implement formatting 2019-07-19 07:29:11 -04:00
Gregory John Casamento
a8658d172f Correct names in test output. Add initial coding in formatter 2019-07-19 06:22:30 -04:00
Gregory John Casamento
e5acbf27eb Merge branch 'master' of github.com:gnustep/libs-base into NSByteCountFormatter_branch 2019-07-15 02:12:57 -04:00
fredkiefer
be809143cf * Source/NSUbiquitousKeyValueStore.m: Change to use GNUstep
formatting. Move simple methods into base class. Correct the usage
of long long NSNumber.
2019-07-14 15:51:41 +02:00
Gregory John Casamento
bb117a17db Add NSByteCountFormatter.[hm] class. 2019-07-14 01:28:42 -04:00
Gregory John Casamento
5254e73a09 Return self, not nil 2019-07-10 17:58:09 -04:00
Gregory John Casamento
d26270a909 Fix init 2019-07-08 09:09:04 -04:00
Gregory John Casamento
ee72e4b9c1 Fix issue with class method and correct test 2019-07-08 08:54:44 -04:00
Gregory John Casamento
ceda0104b4 Add stub for AWS service 2019-07-08 03:38:24 -04:00
Gregory John Casamento
9e53f0025b Add stub for AWS service 2019-07-08 00:28:45 -04:00
Gregory John Casamento
b966c22295 Add stub for AWS service 2019-07-08 00:24:28 -04:00
Gregory John Casamento
74717fb954 Add dummy implementation 2019-07-06 03:46:37 -04:00
Gregory John Casamento
5dc7992a08 Fix error 2019-07-03 04:54:05 -04:00
Gregory John Casamento
f2d1c21d37 add new class and constants 2019-07-03 04:36:24 -04:00
Gregory Casamento
75f3f0b57d
Merge pull request #46 from gnustep/add_nsorderedset_classcluster
Add nsorderedset classcluster
2019-07-02 12:46:20 -04:00
Gregory John Casamento
458958554b Fixed test 2019-07-02 01:00:41 -04:00
fredkiefer
d774dda8a7 * Source/GSXML.m (fatalErrorFunction): Use correct function to get
line number.
* Source/NSOperation.m (_execute): Surround with NS_DURING to free
lock on error.
2019-07-01 22:58:55 +02:00
fredkiefer
ce9116cad3 Delegate unclear methods to NSArray.
Some small clean up.
2019-07-01 22:11:36 +02:00
Gregory John Casamento
8b96545250 Merge branch 'add_nsorderedset_classcluster' of github.com:gnustep/libs-base into add_nsorderedset_classcluster 2019-07-01 09:11:10 -04:00
fredkiefer
fb3930df96 Implement fast enumeration for GSMutableOrderedSet.
Implement fast version of getObjects:range: in GSOrderedSet. This
gets used for fast enumeration.
Base the array method on fast enumeration.
2019-06-29 20:08:01 +02:00
Gregory John Casamento
688d409c4b Merge branch 'master' of github.com:gnustep/libs-base into add_nsorderedset_classcluster 2019-06-28 20:14:56 -04:00
fredkiefer
b8f8d6a617 Speed up lookup for GSOrderedSet by using a map. 2019-06-28 17:20:21 +02:00
fredkiefer
2a810e5bd9 Further simplification of code.
More formatting.
Delegate description to NSArray.
Remove unneeded method once more.
Remove all objects from the end not from the beginning.
Remove strange range check.
Implement missing sort method by reusing existing code.
2019-06-28 16:53:48 +02:00
Gregory John Casamento
b4f0e75375 Simplify removeObjectsAtIndexes: 2019-06-28 02:54:57 -04:00
Gregory John Casamento
80843a9e4b Merged changes from other author 2019-06-28 01:55:33 -04:00
Gregory John Casamento
a5ba66b3ce Simplify _removeObjectAtIndexes:count: method to not sort and thus make it faster 2019-06-28 01:50:54 -04:00
fredkiefer
7feb7be03a Remove unused variables. 2019-06-27 16:21:34 +02:00
fredkiefer
8c10d1848e Remove log statement accidentialy left over. 2019-06-27 16:17:26 +02:00
fredkiefer
eff6575d9f Add test for isSubsetOfSet: and correct implementation to fit the test. 2019-06-27 15:26:01 +02:00
fredkiefer
3004e91330 Move some more methods from the concrete to the abstract class.
Move the _raiseRangeExceptionWithIndex:from: method the class
it is declared on.
Simplify the code.
2019-06-27 15:03:23 +02:00
fredkiefer
cbe54c4073 Remove commented out code. 2019-06-27 14:29:01 +02:00
fredkiefer
ce3c4ae882 Format according to GNUstep coding style. 2019-06-27 14:20:19 +02:00
fredkiefer
5b169f55b5 Correct retain/release handling for GSIArray 2019-06-27 14:19:37 +02:00
Gregory John Casamento
1c83220356 Made replaceObjectsAtIndexes:... more efficient 2019-06-27 04:57:25 -04:00
Gregory John Casamento
e2d3e67f16 Fixing comments by fred 2019-06-27 02:00:14 -04:00
Gregory John Casamento
ef438f7697 Minor cleanup of white space and header documentation. 2019-06-19 00:14:03 -04:00
Gregory John Casamento
39465cb904 Further simplify. Exception should also be thrown in only one place 2019-06-19 00:10:20 -04:00
Gregory John Casamento
d826bb5a25 Reduce repetitive implementation of the same algorithm in the code. Make sure that insertion happens in one method only 2019-06-18 22:07:11 -04:00
Gregory John Casamento
f2ba8a3093 Add macos archive test 2019-06-17 20:00:50 -04:00
Gregory John Casamento
353aa6c8e5 Remove white space 2019-06-17 12:15:26 -04:00
Gregory John Casamento
d20efecead Add check for nil. Force use of subclass init methods 2019-06-17 11:57:18 -04:00
Gregory John Casamento
4edcc3f697 Fix #define issues. 2019-06-13 18:58:50 -04:00
Gregory John Casamento
7799824de6 Fix issues suggested by fred 2019-06-13 18:17:01 -04:00
Gregory John Casamento
9f4a5c80ed Add exceptions to KVO methods for now 2019-06-13 07:37:31 -04:00
Gregory John Casamento
3278eaa2ca Add new test, fix replaceObjectsAtIndexes:withObjects: 2019-06-13 06:00:40 -04:00
Gregory John Casamento
0a2f885456 Reimplement some methods to fix some issues. 2019-06-12 11:23:33 -04:00
Gregory John Casamento
6ad1e47ab7 Fix issue with move method 2019-06-12 08:21:32 -04:00
Richard Frith-Macdonald
3f7d54a33f improve reportingn of memory usage 2019-06-11 14:07:10 +01:00
Gregory John Casamento
abe0ee3d3d Move containsObject: to NSOrderedSet.m. Make additional changes to fix issues pointed out by Fred 2019-06-11 05:45:37 -04:00
Gregory John Casamento
c131f7ec34 More fixes suggested by fred 2019-06-10 15:25:11 -04:00
Gregory John Casamento
561f63c818 More fixes suggested by fred 2019-06-10 15:24:18 -04:00
Gregory John Casamento
ad5790b9e5 Move methods to abstract class. Implement setValue:... 2019-06-10 14:15:41 -04:00
Gregory John Casamento
268b2203c7 Correct issues brought up by Fred K. 2019-06-10 13:55:00 -04:00
Gregory John Casamento
d66ad25b50 Release objects 2019-06-10 11:02:48 -04:00
Gregory John Casamento
30aea6e5ad Fix use range instead of count to save memory 2019-06-10 10:55:06 -04:00
Gregory John Casamento
966c31f43d Fix a number of comments by Fred 2019-06-10 10:20:26 -04:00
Gregory John Casamento
d8030311d0 Fix issue with isSubsetOfOrderedSet:. Objects must be in the same order for the set to be considered a subset. 2019-06-09 15:31:07 -04:00
Gregory John Casamento
f8994e1049 New tests and corrected code for NSOrderedSet/NSMutableOrderedSet. Submitting for review. 2019-06-09 07:17:57 -04:00
Gregory John Casamento
d59a90206a Finish NSDIctionary changes 2019-06-08 09:53:39 -04:00
Gregory John Casamento
e44bdf6718 Fix memory issue with initWithObjects:... Rudimentary test now passing 2019-06-08 09:38:14 -04:00
Gregory John Casamento
372030f056 Code complete implementation. No tests yet 2019-06-08 08:41:45 -04:00
Gregory John Casamento
c4345dc19a Clean compilation with GSIArray backing concrete class 2019-06-08 08:07:17 -04:00
Gregory John Casamento
52e87bce81 Complete implementation of abstract class 2019-06-08 03:59:32 -04:00
Gregory John Casamento
f878243678 Sorting routines 2019-06-07 22:43:40 -04:00
Gregory John Casamento
2dccb2eee6 Add implementation of array and set methods. 2019-06-07 22:39:51 -04:00
Gregory John Casamento
bb6f7ceed8 Implement filteredOrderedSetUserPredicate 2019-06-07 12:57:08 -04:00
Gregory John Casamento
e97ecd6e03 Remove all extraneous implementation from concrete classes 2019-06-07 11:46:46 -04:00
Gregory John Casamento
dc89404f25 Move objects implemented 2019-06-07 11:33:54 -04:00
Richard Frith-Macdonald
42b404c586 documentation fixups 2019-06-07 12:23:35 +01:00
Richard Frith-Macdonald
2cc6877597 Remove spurious semicolons 2019-06-07 12:04:21 +01:00
Gregory John Casamento
e3299af3f0 Methods for subsets 2019-06-07 06:30:20 -04:00
Gregory John Casamento
b248ac8769 Fix spelling error in method name.. Implement more methods. 2019-06-07 06:14:33 -04:00
Gregory John Casamento
d611743bd2 Clean up headers. Remove improper reference to GSPrivate.h from public header. 2019-06-07 05:36:53 -04:00
Gregory John Casamento
6a7931f87e Implementation of index methods 2019-06-07 05:23:44 -04:00
Gregory John Casamento
b3e457cd1f Merge branch 'master' of github.com:gnustep/libs-base into add_nsorderedset_classcluster 2019-06-07 04:55:25 -04:00
Richard Frith-Macdonald
2425c42ace Cosmetic tweaks to match coding style 2019-06-06 14:16:30 +01:00
Frederik Seiffert
75850de0ff Extended Android asset support
Added NSFileManager support for copying assets and reading their attributes.
2019-06-02 16:02:39 -07:00
Gregory John Casamento
3b97343204 Implement indexOfObject 2019-05-30 09:56:19 -04:00
Gregory John Casamento
04711a4f11 Implement firstObject, lastObject and enumeration methods. 2019-05-30 09:03:34 -04:00
Gregory John Casamento
40146d95cf Fix issues with class encoding 2019-05-30 07:46:54 -04:00
Gregory John Casamento
2dfe8d924e Implement more methods 2019-05-28 05:46:08 -04:00
Gregory John Casamento
09bae157fe Implement more methods 2019-05-28 05:40:22 -04:00
Gregory John Casamento
f45a231211 Implement more methods 2019-05-28 05:09:13 -04:00
Gregory John Casamento
fc31e7a37c Implement more methods 2019-05-28 04:49:59 -04:00
Gregory John Casamento
99753cc1a3 Remove errors and warnings. 2019-05-27 07:50:11 -04:00
Gregory John Casamento
2b7152fcde Remove errors and warnings. 2019-05-27 07:40:18 -04:00
Gregory John Casamento
90efc7017a Further implementation 2019-05-27 07:17:30 -04:00
Gregory John Casamento
2a511cca12 Further implementation 2019-05-27 06:05:19 -04:00
Frederik Seiffert
409030a367 Extended NSBundle localizations method for Android. 2019-05-24 10:56:34 +02:00
Frederik Seiffert
ca76053c8e Fixed Android asset language logic in NSBundle. 2019-05-24 09:53:01 +02:00
Frederik Seiffert
9f01876102 Added option to specify Android asset reading mode. 2019-05-24 09:29:24 +02:00
Frederik Seiffert
ba4948fd97 Moved Android asset reading code path in NSData.
No reason to get path file system representation first.
2019-05-24 09:28:10 +02:00
Frederik Seiffert
3b60b1a8be Added support for asset loading on Android.
Requires passing the activity's AssetManager object from Java to GNUstep by calling +[NSBundle setJavaAssetManager:withJNIEnv:], which then enables the following features:

- NSBundle main bundle resource paths support for Android assets, e.g. for pathForResource:ofType:, URLForResource:ofType: and related methods.
- NSBundle main bundle info dictionary support if Info.plist exists in Android assets.
- -initWithContentsOfFile: and related methods support for reading Android assets from main bundle in various classes (e.g. NSData, NSDictionary, NSArray, etc.).
- NSFileManager fileExistsAtPath:(isDirectory:) and isReadableFileAtPath: return YES for main bundle asset / asset directory paths.
- NSFileHandle support for reading Android assets from main bundle.
- NSDirectoryEnumerator support for enumerating Android assets from main bundle. Note that recursion into subdirectories is currently not supported by the native Android asset manager API (see https://issuetracker.google.com/issues/37002833).

Also adds support for automatic NSProcessInfo initialization on Android with a fake executable path "/data/data/<app identifier>/exe" (as Android apps don't have a real executable path), and tweaks main bundle initialization to allow that path. Main bundle resource paths are prefixed by "/data/data/<app identifier>/Resources".
2019-05-23 15:44:07 +02:00
Gregory John Casamento
5287a62909 Add skeletal implementation of keysSortyedByValue*** methods 2019-05-20 22:23:20 -04:00
rfm
5ce5899da2
Merge pull request #41 from triplef/swift-corelibs-libdispatch-compat
Add compatibility for Swift corelibs libdispatch release
2019-05-20 14:54:46 +01:00
rfm
fa34c66e25
Merge pull request #42 from triplef/nsthread-spinlock-builtin
Added basic spinlock implementation using builtins.
2019-05-20 14:47:33 +01:00
Gregory John Casamento
d4428e8d6c Clean compilation 2019-05-20 04:01:20 -04:00
Gregory John Casamento
9a516999c8 GSOrderedSet partial implementation 2019-05-20 01:43:06 -04:00
Gregory John Casamento
61a9dc8a13 Implemented isEqual... 2019-05-19 01:31:15 -04:00
Gregory John Casamento
496c9a63e2 Implemented isEqual... 2019-05-19 00:19:19 -04:00
Gregory John Casamento
b61aa7bb96 Implement NSCoding, add GSOrderedSet 2019-05-18 04:01:11 -04:00
Gregory John Casamento
56785613f1 Implement NSCoding, add GSOrderedSet 2019-05-18 03:56:11 -04:00
Gregory John Casamento
33ae3a3f66 Eliminate errors. 2019-05-17 20:37:19 -04:00
Gregory John Casamento
d96ac7f32a Barebones skeleton compiling now. 2019-05-17 20:17:10 -04:00
Frederik Seiffert
43c5ccaef6 Add compatibility for Swift corelibs libdispatch release
This updates the libdispatch runloop integration to be compatible with the Swift corelibs libdispatch release:
https://github.com/apple/swift-corelibs-libdispatch

In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names.

Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES.

Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available.
2019-05-10 16:17:53 +02:00
Frederik Seiffert
cecb41958b Always use syslog for NSLog on Android.
As there is no way to access stdout/stderr on Android, and syslog is available and outputs to the system log (accesible using "adb logcat"), this improves the developer experience when developing for Android by enabling NSLog output without having to set the "GSLogSyslog" flag.
2019-05-08 10:52:06 +02:00
Frederik Seiffert
3a97bb08f4 Added basic spinlock implementation using builtins.
This will be used on platforms without pthread_spin_lock(), e.g. Android targeting API level < 24.

Implementation lifted from spinlock.h in libobjc2.
2019-05-07 17:40:41 +02:00
Richard Frith-Macdonald
8ed7ccea9e Cleanups to avoid code conflicts and buffer overrun fixes. 2019-04-16 08:07:16 +01:00
Gregory John Casamento
665bdcf952 Add test for emoji's back in. 2019-04-13 04:52:48 -04:00
Gregory John Casamento
b147a64ff5 Remove semicolons as mentioned by Fred 2019-04-12 09:12:54 -04:00
Gregory John Casamento
298f87d24e All tests passing. Implementation of string and nscharacterset methods completed 2019-04-12 08:46:41 -04:00
Gregory John Casamento
f1b48541ae Fix issue with character set caching. 2019-04-12 06:57:40 -04:00
Gregory John Casamento
51e0e3f45e Some additional changes to the test 2019-04-10 05:43:25 -04:00
Gregory John Casamento
6e843573af Add missing method and rename in header. 2019-04-09 05:27:28 -04:00
Gregory John Casamento
574fc45c0b Initial, untested implementation of stringByRemovingPercentEncoding. 2019-04-09 04:39:55 -04:00
Gregory John Casamento
fc13419877 Correct implementation of method. 2019-04-09 03:51:41 -04:00
Gregory John Casamento
9e960dfcd2 Correct method names 2019-04-09 03:28:35 -04:00
Gregory John Casamento
613d90c193 Initial/untested implementation of new string function. 2019-04-09 02:28:54 -04:00
Gregory John Casamento
b1f47e6f22 Added new character set implementations 2019-04-09 00:59:59 -04:00
Gregory John Casamento
41f4fa411a Skeletal implementation of new characterset and screen methods. 2019-04-08 07:36:38 -04:00
fsb4000
3f305d6973 Decrease ICU version requirements to 49 2019-03-29 17:14:11 +07:00
Richard Frith-Macdonald
dc481825ec remove leftover logging 2019-02-27 17:24:39 +00:00
Richard Frith-Macdonald
dd3e71e050 escape charaacters with codepoint greater than 0x7f 2019-02-27 16:54:45 +00:00
Richard Frith-Macdonald
06019034b0 header line folding fix 2019-02-15 14:13:14 +00:00
Richard Frith-Macdonald
911c5cdd66 make class lookup more reliable 2019-02-14 12:37:44 +00:00
Richard Frith-Macdonald
d6ef10f224 fixes for encoding in mime header encoded word 2019-02-14 11:19:33 +00:00
Richard Frith-Macdonald
921f7521ff improve thread safety when using zombies 2019-02-11 09:09:20 +00:00
Richard Frith-Macdonald
cb2998641e another tweak to avoid a compiler warning ... let the compiler know that the
hour cannot exceed 23
2019-01-17 15:20:48 +00:00
Richard Frith-Macdonald
bc72e05f93 Use unsigned integers to suppress spurious compiler warning. 2019-01-17 15:01:08 +00:00
Richard Frith-Macdonald
6f3bd6ac97 Expose GNU TLS wrappers and add methods to get certificate expiry 2019-01-16 09:56:08 +00:00
fredkiefer
a31506564e * Source/Additions/Unicode.m: Move variable u to the correct scope
and initialize it.
2019-01-06 23:33:45 +01:00
Richard Frith-Macdonald
d144e29b48 Changes to updated cached server connections at five minute intervals 2019-01-03 09:58:02 +00:00
David Chisnall
df3eed2452 Turn GS_REPLACE_CONSTANT_STRING into a no-op with the new ABI.
With the classic GCC / NeXT ABI, NSConstantString is a simple pair of a
length and a buffer.  This means that calling -hash calculates the hash
each call, which makes it expensive to use constant strings as
dictionary keys.  The GS_REPLACE_CONSTANT_STRING macro replaces a
constant string with an immutable NSString object, which has an instance
variable for storing the hash.

With the new ABI, NSConstantString has a different layout that includes
space for a hash.  This means that there is no advantage in replacing it
with an NSString (and there is a disadvantage in that it now requires
memory allocation and can be accidentally deallocated), so don't do it.
2019-01-02 17:00:47 +00:00
David Chisnall
3847c54f3f Add NSConstantString implementation for v2 ABI.
This is largely the version from the newabi branch, but with a few
cleanups made possible by other bug fixes in the GSString
implementations.
2018-12-27 13:44:45 +00:00
Richard Frith-Macdonald
458b8a1e79 expose gnustep specific methods for old code 2018-12-05 10:43:59 +00:00
Richard Frith-Macdonald
e01b592c51 wrong url was assigned 2018-12-04 21:06:30 +00:00
Richard Frith-Macdonald
280b2cbe83 Changes for keeping a connection in use 2018-12-04 13:34:53 +00:00
Richard Frith-Macdonald
7380e850e4 minor whitespace tidyups 2018-12-04 11:09:18 +00:00
Richard Frith-Macdonald
1e4a2d7587 certificate authentication fixes 2018-08-24 13:18:27 +01:00
Richard Frith-Macdonald
cb0ea3fb6d TLS tweaks for client certificate 2018-08-13 16:34:00 +01:00
Riccardo Mottola
16ef46642b fix obvious DEBUG inversion, spit out warning on stderr 2018-08-07 16:50:33 +02:00
Riccardo Mottola
441f13828d add missing header 2018-08-07 15:46:02 +02:00
Riccardo Mottola
d852847893 minor tweak in debug for dummy functions that caused crash on Solaris 2018-08-07 13:01:45 +02:00
Richard Frith-Macdonald
586d86c43f Improve defaults caching reliability 2018-08-06 11:56:09 +01:00
Richard Frith-Macdonald
15af957fd0 Fix typo in error message 2018-07-27 09:28:51 +01:00
Richard Frith-Macdonald
caedb21b51 missed in last git commit 2018-07-14 10:27:55 +01:00
Richard Frith-Macdonald
e60b2004af UTF8 parsing improvements 2018-07-14 07:25:40 +01:00
fredkiefer
19c00c43c0 * Source/NSString.m: Add primitive implementation for
rangeOfComposedCharacterSequencesForRange:.
2018-07-07 16:51:18 +02:00
fredkiefer
5a72e1cfa8 * Source/GSString.m: Remove GSString copyWithZone:.
* Source/NSString.m: Raise exception when no is provided for the
string. This brings our implementation closer to the Cocoa one.
* Source/GSString.m: Add similar exceptions.
2018-07-06 23:53:32 +02:00
Richard Frith-Macdonald
1066ec7015 Ensure we are testing the internal 16bit unicode representation class. 2018-07-02 14:20:58 +01:00
fredkiefer
ab60bab84a * Source/GSString.m: Move the method _unicodeString from here...
* Tests/base/NSString/test00.m: ...to here.
2018-07-01 23:50:05 +02:00
fredkiefer
760d6ad990 * Source/GSString.m: Remove code that was identical to super class. 2018-07-01 23:27:09 +02:00
fredkiefer
3b63a0d1f4 * Source/NSString.m: Small cleanup for printf registration. 2018-06-28 23:04:45 +02:00
Richard Frith-Macdonald
ea95ff1f59 Merge branch 'master' of ssh://github.com/gnustep/libs-base
Conflicts:
	ChangeLog
2018-06-28 15:37:38 +01:00
Richard Frith-Macdonald
9bcef37ae0 Surrogate pair handling fix 2018-06-28 15:35:56 +01:00
Fred Kiefer
a6106f550e
Merge branch 'master' into nscalendar-withIdentifier 2018-06-15 10:02:10 +02:00
Richard Frith-Macdonald
3b1324d73d Add GSExceptionStackTrace user default setting 2018-06-12 16:43:15 +01:00
Riccardo Mottola
62511eeca2 fix missing parenthesis 2018-05-30 00:40:34 +02:00
Richard Frith-Macdonald
793e5cd5c9 portability tweak for lock initialisation 2018-05-29 10:36:50 +01:00
fredkiefer
168d2c91e8 * Source/GSConcreteValueTemplate.m: Add hack to make point and
size subclasses for NSValue interchangable.
2018-05-21 01:47:34 +02:00
Ivan Vučica
0e6865a3fd Fix typo in code branch for platforms without pthread_spin_lock().
Check for value of HAVE_PTHREAD_SPIN_LOCK instead of whether the
macro is defined.
2018-05-20 12:40:24 +01:00
Richard Frith-Macdonald
ed286536e2 Add GSTLSServerName option 2018-05-18 20:26:35 +01:00
Graham Lee
c5fac90b86 add +[NSCalendar calendarWithIdentifier:] 2018-04-30 18:02:28 +01:00
Richard Frith-Macdonald
5c7713cacc Minor tidyups plus config update 2018-04-24 12:24:37 +01:00
Riccardo Mottola
6f7e480913 Detect if platform is missing spin locks and provide an dummy implementation. Emit warning during compilation and runtime (in debug) 2018-04-23 20:37:28 +02:00
Richard Frith-Macdonald
635b71e442 initialise before use 2018-04-16 13:18:36 +01:00
Richard Frith-Macdonald
c2fb3a0954 avoid compiler warning by declaring variable at start of block 2018-04-13 10:55:12 +01:00
Richard Frith-Macdonald
b88e69dceb improve -symbols method on platform without backtrace symbols support 2018-04-13 07:11:15 +01:00
Richard Frith-Macdonald
0043a7be8d Improve workaround; use NSAllocateObject() 2018-04-12 21:41:15 +01:00
Richard Frith-Macdonald
57f78a6a7a temporary workaround for crash 2018-04-12 21:35:48 +01:00
Richard Frith-Macdonald
72ad2656c8 don't create NSLock instances during initialisation 2018-04-12 18:21:19 +01:00
Richard Frith-Macdonald
bc2dd4b627 try to improve startup reliability 2018-04-12 18:08:53 +01:00
Richard Frith-Macdonald
bb85bd426c defer setting lock name to try to avoid crash on bsd 2018-04-10 20:27:05 +01:00
Richard Frith-Macdonald
3ced3237e8 Use standard locks rathere than obsolete lazy lock classes 2018-04-10 14:59:35 +01:00
Richard Frith-Macdonald
6c3d99ea3f fix method name error 2018-04-10 14:29:57 +01:00
Richard Frith-Macdonald
cc410b6bbc Fix for recursive thread registration on one platform. 2018-04-10 09:19:50 +01:00
David Chisnall
847c1a54b7 Avoid memory allocation in NSString -hash.
Use the incremental hash function for long strings.
2018-04-09 16:49:44 +01:00
Richard Frith-Macdonald
7274cbaa55 Minor unicode range handling improvements 2018-04-09 11:55:46 +01:00
David Chisnall
7bf1179f60 Reapply 3b1e94ec5d correctly
This time without accidentally-included files...

If compiling without backtrace or BFD support, we initialise the
location to store return addresses incorrectly, leaving a dangling
pointer which we then right over.

Most consumers never read this, so it seemed to work most of the time by
just overwriting a random bit of memory.

This probably has security implications, because throwing an exception
can clobber random bits of memory, though not with attacker-controlled
data.
2018-04-07 20:04:14 +01:00
David Chisnall
970c8cbd05 Revert "Fix memory corruption in NSException."
Accidentally included unrelated changes.

This reverts commit 3b1e94ec5d.
2018-04-07 20:03:33 +01:00
David Chisnall
3b1e94ec5d Fix memory corruption in NSException.
If compiling without backtrace or BFD support, we initialise the
location to store return addresses incorrectly, leaving a dangling
pointer which we then right over.

Most consumers never read this, so it seemed to work most of the time by
just overwriting a random bit of memory.

This probably has security implications, because throwing an exception
can clobber random bits of memory, though not with attacker-controlled
data.
2018-04-07 11:02:04 +01:00
David Chisnall
0ebb50f984 Fix logic error in GSPrivateRangeOfString.
We were checking if the receiver was a specific class, then directly
accessing an ivar of target.  We were then checking if target is a
specific class and, if so, accessing the ivar or target.

This mostly worked because most GNUstep strings have the same
underlying implementation and so the check was passing and by
coincidence giving the correct value.  This breaks when GSTinyStrings
are used more often and was picked up by teaching the compiler to
generate GSTinyStrings for small string literals.
2018-04-06 10:43:10 +01:00
Gregory Casamento
ced3b27144 Correct minor mispelling of NSLog. Compilation error. 2018-04-04 18:48:41 -04:00
Richard Frith-Macdonald
cc7a146796 More changes to make lock tracking more robust 2018-04-04 14:42:20 +01:00
Richard Frith-Macdonald
603c3b1103 indicate trace by use of subclass rather than flag 2018-04-04 12:58:06 +01:00
Richard Frith-Macdonald
efb4ec5f22 Tweak return value to definitely be YES or NO rather than true/false 2018-03-30 10:45:57 +01:00
Richard Frith-Macdonald
437df42b87 Bugfix for getting stacktrace 2018-03-30 10:43:27 +01:00
Richard Frith-Macdonald
b2f821bb36 make lock tracing safer 2018-03-28 09:28:56 +01:00
Richard Frith-Macdonald
c1f96a1cf4 Simplify locking for time zones 2018-03-27 10:37:53 +01:00
Richard Frith-Macdonald
d6612ef880 Fixes in experimental code 2018-03-27 09:55:29 +01:00
Richard Frith-Macdonald
ebfe915619 Fixups for stack handling 2018-03-27 07:06:17 +01:00
Richard Frith-Macdonald
82675cd3d9 more lock tracing tweaks 2018-03-26 16:35:17 +01:00
Richard Frith-Macdonald
75bf489aec Allow for waiting on a mutex we already own 2018-03-26 16:05:18 +01:00
Richard Frith-Macdonald
05439fe15d Experimental deadlock detection code 2018-03-26 15:20:48 +01:00
Richard Frith-Macdonald
43673452a5 locking debug/performance tweaks 2018-03-26 15:05:01 +01:00
Richard Frith-Macdonald
2d3039694f Stack tyrace generation optimisation 2018-03-26 14:49:13 +01:00
David Chisnall
9b7e3a8fff Make the NSXMLNode ivar a union.
Having the same ivar exposed as different types in different compilation
units is probably a bad idea in general and will break with the new ObjC
ABI, where we have link-time checks for this.  It would also confuse
reflection and any languages that use reflection for bridging in
exciting ways.
2018-03-20 17:44:16 +00:00
Richard Frith-Macdonald
81102fae85 improve logging of http comms and of deadlocks 2018-03-16 15:11:02 +00:00
Richard Frith-Macdonald
7c1b9b4d15 fix style errors 2018-03-15 14:09:14 +00:00
Richard Frith-Macdonald
4233915c06 Fix boundary issues 2018-02-27 15:06:27 +00:00
Richard Frith-Macdonald
c6e4220409 Add _unicodeString method to return GSUnicodeString subclass instance for tests 2018-02-27 15:00:52 +00:00
Richard Frith-Macdonald
776c0bbcd8 Fix boundary checks searching for unicode strings 2018-02-25 22:30:08 +00:00
Richard Frith-Macdonald
984803d922 Put characterset data on one line to avoid misleading line-count of source 2018-02-11 17:07:25 +00:00
Richard Frith-Macdonald
a6c7492c42 avoid checker warning 2018-02-11 17:03:24 +00:00
Richard Frith-Macdonald
b3ce87ff4f tweaks to keep static checker happy 2018-02-11 12:03:52 +00:00
Richard Frith-Macdonald
f72708742a Avoid compiler warnings 2018-02-11 09:46:07 +00:00
Richard Frith-Macdonald
64732ce825 add comment and cast to void 2018-02-09 08:41:11 +00:00
Richard Frith-Macdonald
96e16ba825 improve comment and compiler hint 2018-02-09 08:37:25 +00:00
Richard Frith-Macdonald
006160ebc3 Merge branch 'master' of ssh://github.com/gnustep/libs-base
Conflicts:
	ChangeLog
2018-02-09 08:33:30 +00:00
Richard Frith-Macdonald
c9a1d39055 Fix potential buffer overrun 2018-02-09 08:32:22 +00:00
fredkiefer
2901390d0f * Source/NSXMLElement.m(-addAttribute:): Correct linear list code
for name spaces. This fixes the last remaining Coverity issue.
2018-02-09 00:07:53 +01:00
Richard Frith-Macdonald
323f9abace cast -scanString: return to void where we don't need to check it. 2018-02-08 06:10:47 +00:00
Richard Frith-Macdonald
ab822a35a3 check and warn about failure to set reuseaddr 2018-02-08 06:08:41 +00:00
Richard Frith-Macdonald
a211bb4aee improve warnings about loss of infomration converting scalar type sizes 2018-02-08 06:05:25 +00:00
Richard Frith-Macdonald
d95203c968 Tweka for overflow of negative number calculation 2018-02-07 15:13:48 +00:00
Richard Frith-Macdonald
c515993d45 avoid checker warning 2018-02-07 13:31:26 +00:00
Richard Frith-Macdonald
6ad1b0e7b2 add security checks on port file 2018-02-07 13:26:38 +00:00
Richard Frith-Macdonald
8420eeed03 keep checker happy 2018-02-07 13:02:08 +00:00
Richard Frith-Macdonald
fec1eafa32 cast to void to avoid warning 2018-02-07 11:40:34 +00:00
Richard Frith-Macdonald
9968a13711 temporarily ifdef out some code thast's not yet used 2018-02-07 11:36:59 +00:00
Richard Frith-Macdonald
93a961304a casts to avoid spurious warnings 2018-02-07 10:53:13 +00:00
Richard Frith-Macdonald
73f3fb78ab raise on character conversion failure 2018-02-07 10:49:02 +00:00
Richard Frith-Macdonald
0d61b42215 remove dead code 2018-02-07 10:45:08 +00:00
Richard Frith-Macdonald
ad87ff5462 raise exception on character conversion failure 2018-02-07 10:38:57 +00:00
Richard Frith-Macdonald
14c2d9402d Remove dead code and improve testing 2018-02-07 09:48:56 +00:00
Richard Frith-Macdonald
3edc201239 Patch by Yavor Doganov to send message id in port messages 2018-02-07 07:02:40 +00:00
Richard Frith-Macdonald
033b921903 improve error checking 2018-02-06 18:05:28 +00:00
Richard Frith-Macdonald
c0d6599def use double type for average 2018-02-06 16:59:49 +00:00
Richard Frith-Macdonald
fcd464f118 Help checker know that we don't need return value 2018-02-06 16:49:07 +00:00
Richard Frith-Macdonald
df6d65accc check step in function before use 2018-02-06 12:51:25 +00:00
Richard Frith-Macdonald
f7c71c695e fix possible nul pointer deref 2018-02-06 12:43:55 +00:00
Richard Frith-Macdonald
3d98433cc7 log failure to turn on keepalive 2018-02-06 12:37:03 +00:00
Richard Frith-Macdonald
0f7a6d58d3 log if we fail to turn on keepalive 2018-02-06 12:34:04 +00:00
Richard Frith-Macdonald
ccd2fb1ac0 Tell compiler we don't care about rreturn value 2018-02-06 12:26:32 +00:00
Richard Frith-Macdonald
1937b36b86 Update assertion macros to support multiple arguments 2018-02-06 09:35:34 +00:00
Richard Frith-Macdonald
8450b94bc8 logic fig for overflow becoming underflow when using negated values 2018-02-05 13:26:41 +00:00
Richard Frith-Macdonald
0d6d01bc00 use cast when masking 64bit value 2018-02-05 13:14:31 +00:00
Richard Frith-Macdonald
96dcac7a74 remove dead code 2018-02-05 13:07:59 +00:00
Richard Frith-Macdonald
a29213a3a2 remove unused code 2018-02-05 13:03:58 +00:00
Richard Frith-Macdonald
7e7d71d63e remove redundant code 2018-02-05 08:14:41 +00:00
Richard Frith-Macdonald
493eb2cf2f remove unused code 2018-02-05 08:11:46 +00:00
Richard Frith-Macdonald
546deb4604 check for failure of dup/dup2 even though it will never happen 2018-02-04 11:36:06 +00:00
Richard Frith-Macdonald
54bf6598ed make sure the hour we read from the time zone file is constrained to 0-23 2018-02-04 11:21:47 +00:00
Richard Frith-Macdonald
b135bc8ae0 suppress warning using cast 2018-02-04 11:17:33 +00:00
Richard Frith-Macdonald
ab670fd27a improive handling of failed character conversion 2018-02-04 11:10:07 +00:00
Richard Frith-Macdonald
113867e9e6 fix for collation alone being set 2018-02-04 10:51:01 +00:00
Richard Frith-Macdonald
5277bf7043 Keep checker happy by avoiding possible null pointer deref 2018-02-04 10:35:15 +00:00
Richard Frith-Macdonald
890eaa9d32 don't copy address info ifg getpeername fails 2018-02-04 10:10:57 +00:00
Richard Frith-Macdonald
4f50f358c3 more fixups for unicode and to avoid warnings 2018-02-04 08:38:20 +00:00
Richard Frith-Macdonald
78087d0aa4 tweak to keep checker happy 2018-02-04 08:28:51 +00:00
Richard Frith-Macdonald
f1b1c1c754 fix bad type in assignment 2018-02-03 16:03:32 +00:00
Richard Frith-Macdonald
41fd87ce35 potential resource leak fix 2018-02-03 15:57:04 +00:00
Richard Frith-Macdonald
8a66507f29 changer memcpy to memmove 2018-02-03 10:11:30 +00:00
fredkiefer
e69450400a * Source/GSFormat.m: Call va_end with the correct parameter.
* Source/NSObject+NSComparisonMethods.m: Add missing return.
* Source/GSString.m (-replaceCharactersInRange:withString:,
-initWithBytesNoCopy:...freeWhenDone:): Remove dead code.
* Source/NSDistantObject.m (-initWithCoder:): Remove dead code.
* Source/NSPredicate.m (_eval_avg:): Don't devide by zero.
Fix issues found by Coverity.
2018-02-01 22:31:15 +01:00
Richard Frith-Macdonald
dcd3b8c5a9 fix possible error with negative time zone offset. 2018-01-31 14:31:37 +00:00
Richard Frith-Macdonald
c30166c612 add missing va_end 2018-01-31 14:28:44 +00:00
Richard Frith-Macdonald
9d21ee5671 check for null pointer 2018-01-31 14:24:46 +00:00
Richard Frith-Macdonald
9a8c3486ff fix bad copy/paste 2018-01-31 14:17:50 +00:00
Richard Frith-Macdonald
5a2506dca9 Remove unused line 2018-01-31 14:15:32 +00:00
Richard Frith-Macdonald
f718aa30c9 Make it clear that we are doing a standard binary search and allow for changes
to character composition/decomposition in future.
2018-01-31 07:42:59 +00:00
Richard Frith-Macdonald
c31c6a87b8 fix uninitialised variable 2018-01-30 15:01:01 +00:00
Richard Frith-Macdonald
92f961dbb6 remove redundant close 2018-01-30 14:40:12 +00:00
Richard Frith-Macdonald
ee8bb1fbeb Fix possible deref of null pointer 2018-01-30 14:34:27 +00:00
Richard Frith-Macdonald
56aaa72d3d be more careful about closing iconv handle on errors 2018-01-30 14:03:01 +00:00
Richard Frith-Macdonald
06ff76d882 fix use after free 2018-01-30 07:57:36 +00:00
Richard Frith-Macdonald
22d7d2428a warn about corrupt archive 2018-01-30 07:54:23 +00:00
Richard Frith-Macdonald
65ac0eca15 fix potential unterminated buffer and leak on failure 2018-01-30 07:43:58 +00:00
Richard Frith-Macdonald
b76089f0cd fix potential unterminated string 2018-01-30 07:39:25 +00:00
Richard Frith-Macdonald
86af4da784 fix possible resource leak on conversion failure 2018-01-30 07:38:08 +00:00
Richard Frith-Macdonald
3884a82c7a comment on why descriptor is NOT leaked 2018-01-30 07:36:53 +00:00
Richard Frith-Macdonald
ba7c5086d1 gix handle leak on write failure 2018-01-30 07:26:05 +00:00
Richard Frith-Macdonald
6b1f8f7962 fix very minor descriptor leak (one descriptor in subtask) 2018-01-30 07:21:39 +00:00
Richard Frith-Macdonald
3281c0f6b6 fix potentially unterminated buffer 2018-01-30 07:12:32 +00:00