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