Commit graph

265 commits

Author SHA1 Message Date
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
Richard Frith-Macdonald
dd36855923 Improved memory usage reporting mechanisms 2019-08-08 17:20:25 +01:00
Richard Frith-Macdonald
dce6a5a86a implement [NSMutableData+dataWithBytesNoCopy:length:freeWhenDone:] 2019-08-06 16:05:19 +01:00
Richard Frith-Macdonald
3f7d54a33f improve reportingn of memory usage 2019-06-11 14:07:10 +01:00
Richard Frith-Macdonald
2425c42ace Cosmetic tweaks to match coding style 2019-06-06 14:16:30 +01: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
Richard Frith-Macdonald
92f961dbb6 remove redundant close 2018-01-30 14:40:12 +00:00
Richard Frith-Macdonald
ba7c5086d1 gix handle leak on write failure 2018-01-30 07:26:05 +00:00
Richard Frith-Macdonald
4ce7a25541 Changes to avoid possible hang in connection reply mode due to race condition. 2017-12-21 13:51:01 +00:00
Richard Frith-MacDonald
5c3acb5693 Fail quietly when asked to read non-existent file
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40188 72102866-910b-0410-8b05-ffd578937521
2016-11-01 21:02:31 +00:00
Richard Frith-MacDonald
1ab80b3f58 Fixes for problems spotted by Wolfgang
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40171 72102866-910b-0410-8b05-ffd578937521
2016-10-24 10:22:43 +00:00
Niels Grewe
3e654a6b09 Fix warnings for compilers without blocks support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40039 72102866-910b-0410-8b05-ffd578937521
2016-07-27 12:39:59 +00:00
Niels Grewe
2e18a14485 Avoid reallocating objects post-hoc based on the initializer used.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40038 72102866-910b-0410-8b05-ffd578937521
2016-07-27 07:02:42 +00:00
Niels Grewe
1b82abd967 Don't leak the deallocator block
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40037 72102866-910b-0410-8b05-ffd578937521
2016-07-26 23:52:53 +00:00
Niels Grewe
c2be055c3e Add [NSData initWithBytesNoCopy:length:deallocator:]
This new initializer allows customising the deallocation behaviour
through user-supplied blocks. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40035 72102866-910b-0410-8b05-ffd578937521
2016-07-26 23:01:11 +00:00
Richard Frith-MacDonald
d40d219015 removal of garbage collection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39608 72102866-910b-0410-8b05-ffd578937521
2016-03-25 11:15:28 +00:00
Richard Frith-MacDonald
62d2bcbabc changes for use of _WIN32 define on windows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39492 72102866-910b-0410-8b05-ffd578937521
2016-03-09 13:16:16 +00:00
Niels Grewe
28c824a78a Modify the interfaces of all collection classes to be compatible with the
new lightweight generics implemenation. (Newer MacOS X/iOS code assuming 
the presence of the generics annotations can otherwise not be compiled with
GNUstep). This should be well-behaved under clang and gcc both. 

Fix NSCache which was copying the cache keys when it really shouldn't
have. Added a few test cases for eviction behaviour.

Few smaller tweaks to avoid compiler warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39406 72102866-910b-0410-8b05-ffd578937521
2016-02-22 21:04:18 +00:00
Richard Frith-MacDonald
8eb1eb2a3e Fix for obscure decoding error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39338 72102866-910b-0410-8b05-ffd578937521
2016-02-04 22:33:19 +00:00
Richard Frith-MacDonald
bf5038e2ac protect from both old runtime and old compiler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39042 72102866-910b-0410-8b05-ffd578937521
2015-10-08 09:13:32 +00:00
Richard Frith-MacDonald
f6271e8e48 fixup for old runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39041 72102866-910b-0410-8b05-ffd578937521
2015-10-08 09:04:48 +00:00
Richard Frith-MacDonald
0c5d96eebd changes intended to allow use of _Bool throughout
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39010 72102866-910b-0410-8b05-ffd578937521
2015-09-22 09:46:10 +00:00
Richard Frith-MacDonald
3b02814665 more updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38803 72102866-910b-0410-8b05-ffd578937521
2015-07-16 08:44:15 +00:00
Richard Frith-MacDonald
841ddf78e0 memory usage interrogation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38799 72102866-910b-0410-8b05-ffd578937521
2015-07-15 14:14:21 +00:00
Richard Frith-MacDonald
8c07ae4a05 Tidy to match conding conventions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38721 72102866-910b-0410-8b05-ffd578937521
2015-06-30 08:41:38 +00:00
Riccardo Mottola
c5dc2d494d base64EncodedDataWithOptions, base64EncodedStringWithOptions: first implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38634 72102866-910b-0410-8b05-ffd578937521
2015-06-14 16:17:17 +00:00
Richard Frith-MacDonald
37352097e3 Reproduce OSX padding behavior
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38604 72102866-910b-0410-8b05-ffd578937521
2015-06-08 07:46:02 +00:00
Richard Frith-MacDonald
d187e70974 stricter base64 decoding
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38602 72102866-910b-0410-8b05-ffd578937521
2015-06-08 07:14:38 +00:00
Richard Frith-MacDonald
4bce4d2978 Various updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38599 72102866-910b-0410-8b05-ffd578937521
2015-06-04 09:18:52 +00:00
Wolfgang Lux
472d8232b1 Fix leak of open file descriptor in NSData -writeToFile:atomically: on
systems where mkstemp is defined.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38344 72102866-910b-0410-8b05-ffd578937521
2015-02-16 17:27:57 +00:00
Richard Frith-MacDonald
3cb7256630 simplify ifdefs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38335 72102866-910b-0410-8b05-ffd578937521
2015-02-07 10:46:42 +00:00
Richard Frith-MacDonald
56465e049b TLS fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38015 72102866-910b-0410-8b05-ffd578937521
2014-07-25 12:06:34 +00:00
Gregory John Casamento
762296c513 NSData compilation error correction.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38012 72102866-910b-0410-8b05-ffd578937521
2014-07-25 11:13:44 +00:00
Richard Frith-MacDonald
2ef7040ac3 Add Yavor's lfs patch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38010 72102866-910b-0410-8b05-ffd578937521
2014-07-25 10:38:20 +00:00
Richard Frith-MacDonald
5244db9446 fix for bug #41626
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37757 72102866-910b-0410-8b05-ffd578937521
2014-03-19 08:26:48 +00:00
Richard Frith-MacDonald
66ec6af49b avoid possible problem with replacement when there's nothing to do ... we could be unnecessarily checking that a buffer exists when we don't actually need to
move anything in it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37537 72102866-910b-0410-8b05-ffd578937521
2014-01-05 17:30:11 +00:00
Richard Frith-MacDonald
2d306c7aa5 fix error in method name used in exception format string
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37536 72102866-910b-0410-8b05-ffd578937521
2014-01-05 17:22:45 +00:00
Richard Frith-MacDonald
ed09c55959 leak detection improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
b2d5fd280c Changes for 64bit clean printf format strings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36810 72102866-910b-0410-8b05-ffd578937521
2013-07-03 06:46:41 +00:00
Richard Frith-MacDonald
53a553fb47 fix minor error in last NSData edit, some other minor issues,
and avoid more false positives.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36536 72102866-910b-0410-8b05-ffd578937521
2013-04-15 07:00:42 +00:00
Richard Frith-MacDonald
e1271866b4 More tweaks to avoid warnings (minor memory leak fixed in HTMLLinker.m)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36535 72102866-910b-0410-8b05-ffd578937521
2013-04-15 06:04:40 +00:00
Richard Frith-MacDonald
8a605b360a performance tweak for accumulating large amounts of data into a buffer.
eg. megabytes added in incremets of a few bytes at a time.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35328 72102866-910b-0410-8b05-ffd578937521
2012-07-30 16:55:51 +00:00
David Chisnall
603f5410a8 Fix a few compiler warnings caused by type mismatches in NSLog statements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35037 72102866-910b-0410-8b05-ffd578937521
2012-04-06 12:37:11 +00:00
Richard Frith-MacDonald
77186600d2 revert accidental commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34824 72102866-910b-0410-8b05-ffd578937521
2012-02-27 10:31:05 +00:00
Richard Frith-MacDonald
b7a7b40179 add support to encode/decode larger arrays
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34823 72102866-910b-0410-8b05-ffd578937521
2012-02-27 10:29:10 +00:00
Eric Wasylishen
0c7763f7e1 * Source/NSData.m: Various 64-bit compatibility fixes, mostly changing
unsgined to NSUInteger.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34822 72102866-910b-0410-8b05-ffd578937521
2012-02-27 02:12:19 +00:00
Richard Frith-MacDonald
3fcd9f7d04 word size fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34468 72102866-910b-0410-8b05-ffd578937521
2012-01-09 08:28:27 +00:00
Richard Frith-MacDonald
eec9f0e452 64bit printf tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34401 72102866-910b-0410-8b05-ffd578937521
2012-01-03 14:48:04 +00:00