Commit graph

7518 commits

Author SHA1 Message Date
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