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