Commit graph

8850 commits

Author SHA1 Message Date
theraven
4825ab2900 Added exception-safe version of the GS_BEGINITEMBUF() macro. As a side effect, this should silence the zero-sized VLA warnings in the static analyser.
Note: This macro is currently only used on GCC 4+ and clang.  It depends on __attribute__((cleanup)), which was introduced some time in the 3.x series, but I'm not sure exactly when (3.2 / 3.3 I think), so someone who cares about gcc 3.x can tweak this if they want (not sure if anyone does - I think most people use 2.95, 4.x, or clang).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32059 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:06:25 +00:00
rfm
7d0b4c43c2 further tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32058 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:45:07 +00:00
theraven
1ca0c59b61 Initialise a variable with the value that's actually used first, not a placeholder value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32057 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:35:04 +00:00
theraven
1974ee0308 Remove redundant dictionary lookup (result never used) in AGSParser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32056 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:33:37 +00:00
theraven
db37029493 Fix NSEnumerationReverse in the other place where this bug was pasted. I must have been asleep or drunk when I wrote this method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32055 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:31:41 +00:00
theraven
810000e008 Fix [NSArray -indexesOfObjectsWithOptions:passingTest:] with NSEnumerationReverse option. Was doing forward iteration in all cases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32054 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:29:34 +00:00
theraven
e6eaf3c92a Remove some redundant arithmetic (l - 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32053 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:09:55 +00:00
theraven
11303668ab Removed redundant code line spotted by analyser - looks like copy-and-paste bug from line 1192 (line 1200 was always replacing the value stored by 1199).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32052 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:06:25 +00:00
rfm
b18855d42a NSZombie fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32051 72102866-910b-0410-8b05-ffd578937521
2011-02-11 10:00:00 +00:00
rfm
35fea0d5da fix bad commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32050 72102866-910b-0410-8b05-ffd578937521
2011-02-11 09:36:38 +00:00
rfm
53e8554a8c tweaks for clang static analyser warningS
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32048 72102866-910b-0410-8b05-ffd578937521
2011-02-11 09:02:33 +00:00
rfm
d6502819c8 revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32047 72102866-910b-0410-8b05-ffd578937521
2011-02-11 07:22:23 +00:00
stefanbidi
b31524ca61 Avoid unnecessary memory copying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32046 72102866-910b-0410-8b05-ffd578937521
2011-02-11 04:06:00 +00:00
theraven
fff70cdc5c Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32042 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:57 +00:00
theraven
a2acc777a2 Don't use Object in configure tests (not present in GNUstep runtime).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32041 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:37 +00:00
theraven
f436ef0067 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32040 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:12 +00:00
theraven
ebc9e87a81 Use NSClassFromString() to look up NSZombie class. This has two advantages:
1) Doesn't rely on Apple-incompatible behaviour in the GCC runtime that introduces fun heisenbugs.
2) Doesn't require constructing the dtable for NSZombie if we're not actually using it.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32039 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:53:48 +00:00
theraven
68ecb226c5 Revert last commit. The actual Apple behaviour is what libobjc2 used to do, not what it does now. It's incredibly ugly, and should not have been allowed: It makes NSObject the superclass of NSObject's metaclass, but does NOT do the same transform for any other classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32038 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:40:18 +00:00
theraven
1ce32a158e Make [NSObject -class] return self if self is a class. This is needed for a weird bit of the ObjC spec relating to metaclasses of root classes. The GNUstep runtime behaviour mimics the Apple behaviour, while the GCC runtime mimics the StepStone behaviour, so we get some somewhat irritating differences.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32037 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:33:26 +00:00
theraven
8213813c6d Added some macros for use with the static analyser. Turned _reserved ivar in GSSpellServer into GS_PADDING_IVAR (no change to class layout).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32036 72102866-910b-0410-8b05-ffd578937521
2011-02-10 12:15:09 +00:00
rfm
f3a58fb845 leak fixing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32035 72102866-910b-0410-8b05-ffd578937521
2011-02-10 12:11:03 +00:00
theraven
67df51138c Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32034 72102866-910b-0410-8b05-ffd578937521
2011-02-10 11:04:12 +00:00
theraven
31e5eb9c38 Add a GS_PADDING_IVAR macro. This defines the void *gs_unused; instance variable with __attribute__((unused)) on clang so that the static analyser only reports unused ivars that we expect to be used. This also makes it slightly easier to add the padding ivar to new classes.
Note: The padding ivar has been added to NSRegularExpression.  This will break the ABI for anyone subclassing NSRegularExpression, but hopefully that's no one (done before the next release, to make sure that we don't break the ABI between releases, only for people following -trunk).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32033 72102866-910b-0410-8b05-ffd578937521
2011-02-10 11:02:50 +00:00
theraven
ae0204e45d Tweaks to mkchlog script.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32032 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:56:45 +00:00
rfm
a63d65764c Minor cleanups.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32031 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:52:54 +00:00
theraven
d5e9a52e35 Fix bug reported by static analyser - NSData was testing ivars instead of arguments in -initWithBytesNoCopy:length:freeWhenDone:. The correct behaviour was to throw an exception if passed a NULL pointer and a length. The actual behaviour was to test whether the data object was invalid. This could lead to accidental NULL-pointer dereferencing later.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32030 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:13:50 +00:00
stefanbidi
b7a7511254 Implemented [NSTimeZone-daylightSavingTimeOffsetForDate:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32027 72102866-910b-0410-8b05-ffd578937521
2011-02-10 03:58:02 +00:00
stefanbidi
33977c1475 Implemented [NSTimeZone-localizedName:locale:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32025 72102866-910b-0410-8b05-ffd578937521
2011-02-10 02:20:57 +00:00
stefanbidi
480c2939b7 Fix broken method in NSDateFormatter class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32023 72102866-910b-0410-8b05-ffd578937521
2011-02-10 01:52:16 +00:00
theraven
4611833549 Don't use C++ keywords as identifiers in headers that might be included in ObjC++ programs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32021 72102866-910b-0410-8b05-ffd578937521
2011-02-09 13:11:42 +00:00
rfm
fbf77be14b minor performance tweak when handling lots of performs on other threads.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32020 72102866-910b-0410-8b05-ffd578937521
2011-02-09 10:10:04 +00:00
rfm
5a597ddc01 clarify comment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32012 72102866-910b-0410-8b05-ffd578937521
2011-02-07 22:53:35 +00:00
rfm
29dab95492 Warn about lack of ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32007 72102866-910b-0410-8b05-ffd578937521
2011-02-07 17:36:17 +00:00
rfm
bb1e98913d locale tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32006 72102866-910b-0410-8b05-ffd578937521
2011-02-07 17:21:00 +00:00
rfm
54a0b3c49a regenerate
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32002 72102866-910b-0410-8b05-ffd578937521
2011-02-06 14:46:42 +00:00
rfm
a23a14fa82 tweak icu config
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32001 72102866-910b-0410-8b05-ffd578937521
2011-02-06 14:41:01 +00:00
rfm
abbde1c543 minor osx compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31999 72102866-910b-0410-8b05-ffd578937521
2011-02-04 22:46:08 +00:00
rfm
30f3b2c03f apply patch to fix leaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31997 72102866-910b-0410-8b05-ffd578937521
2011-02-03 21:21:45 +00:00
rfm
df187c020e get mdns code to compile
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31995 72102866-910b-0410-8b05-ffd578937521
2011-02-03 08:17:07 +00:00
stefanbidi
d0c0d9b4d2 Implemented doesRelativeDateFormatting methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31994 72102866-910b-0410-8b05-ffd578937521
2011-02-03 02:15:16 +00:00
rfm
dc8136dbc5 implement missing method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31984 72102866-910b-0410-8b05-ffd578937521
2011-02-01 13:51:32 +00:00
stefanbidi
425773be2d Update autoupdatingCurrentCalendar whenever Locale, Time Zone and/or Calendar defaults change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31977 72102866-910b-0410-8b05-ffd578937521
2011-01-29 18:49:21 +00:00
rfm
86e67ccffd Fix bug positing notifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31976 72102866-910b-0410-8b05-ffd578937521
2011-01-29 16:15:46 +00:00
qmathe
77452fd592 Fixed wrongly placed closing bracket. Should be outside of #if GS_USE_ICU == 1,
otherwise compilation fails without libicu installed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31973 72102866-910b-0410-8b05-ffd578937521
2011-01-29 15:35:22 +00:00
stefanbidi
86cb2704a4 Update autoupdatingCurrentLocale whenever the Locale default changes. The -currentLocale method now also checks Locale default.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31972 72102866-910b-0410-8b05-ffd578937521
2011-01-29 15:33:27 +00:00
stefanbidi
86b566f237 Fixed errors found by test suite.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31967 72102866-910b-0410-8b05-ffd578937521
2011-01-29 02:01:42 +00:00
stefanbidi
b1ce49ff43 Added -isEqual: to NSCalendar.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31965 72102866-910b-0410-8b05-ffd578937521
2011-01-28 00:49:16 +00:00
stefanbidi
6e39836d18 Make sure UCalendar is open before trying to use it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31962 72102866-910b-0410-8b05-ffd578937521
2011-01-28 00:23:57 +00:00
stefanbidi
46e900ab73 Set some sensible defaults to NSNumberFormatter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31960 72102866-910b-0410-8b05-ffd578937521
2011-01-27 23:29:41 +00:00
stefanbidi
93bf36acec Add currency code when creating locale identifiers. And fix a crash in NSDateFormatter due to double release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31956 72102866-910b-0410-8b05-ffd578937521
2011-01-27 00:37:52 +00:00