Commit graph

589 commits

Author SHA1 Message Date
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
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
nicola
9db061f0a6 Updated for GCC 4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31771 72102866-910b-0410-8b05-ffd578937521
2010-12-24 17:19:40 +00:00
nicola
b84001b073 Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
rfm
c3b0841b90 fix possible memory corruption
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31703 72102866-910b-0410-8b05-ffd578937521
2010-12-03 23:28:43 +00:00
rfm
648e8bfe78 cleanup foundation includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31682 72102866-910b-0410-8b05-ffd578937521
2010-11-28 09:30:05 +00:00
rfm
bdedbafecb add delivery notification requests and fix memory leak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31571 72102866-910b-0410-8b05-ffd578937521
2010-10-28 22:50:38 +00:00
rfm
544670fc15 Fix setup of HAVE_ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31567 72102866-910b-0410-8b05-ffd578937521
2010-10-27 11:24:44 +00:00
jonathanosx
ecbb0fc39f Prevent SegFault when FormatMessageW doesn't return a string on Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31537 72102866-910b-0410-8b05-ffd578937521
2010-10-19 21:21:32 +00:00
rfm
ee0690defa attempted fix for bug #31266
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31505 72102866-910b-0410-8b05-ffd578937521
2010-10-12 19:19:02 +00:00
rfm
49f90ce148 add arbitrary struct set/get
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31504 72102866-910b-0410-8b05-ffd578937521
2010-10-12 13:34:01 +00:00
rfm
2b93292fc1 Re-instate change from svn revision 31412 (just trusting it's OK).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31502 72102866-910b-0410-8b05-ffd578937521
2010-10-12 11:55:04 +00:00
rfm
c4a1deb386 Fix broken KVC
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31460 72102866-910b-0410-8b05-ffd578937521
2010-10-01 12:01:02 +00:00
rfm
0c13324d46 bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31445 72102866-910b-0410-8b05-ffd578937521
2010-09-30 06:51:34 +00:00
rfm
9bdebfcb9b minor optimisations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31433 72102866-910b-0410-8b05-ffd578937521
2010-09-28 13:23:53 +00:00
theraven
6d16a28788 Add special case to KVC accessors for libobjc2: If there is a method with the
wrong types, try calling the method with the correct types.  This enables the
TDD-fixup code to run and generate a KVC-compliant version of an existing
method.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31412 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:31:46 +00:00
theraven
6eab2fe937 Simplify the KVC getter code and make it return structs boxed in NSValues
(Apple-compatible).  This is currently slow, because we go via NSInvocation.
We could probably make it faster, but I am not inclined to optimise for
something that I sincerely hope is a very unusual use case.

Richard: Please check I haven't done something silly here...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31411 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:20:16 +00:00
rfm
7d118c0d2b tweaks to avoid clang warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31293 72102866-910b-0410-8b05-ffd578937521
2010-09-10 12:47:04 +00:00
theraven
f392469c64 Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).
All of the sel_* stuff is now replaced with the newer APIs.  As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.

Class posing with libobjc2 will now throw an exception, rather than just aborting.  



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:30:10 +00:00
theraven
85549433db A huge blob of changes to make -base build with libobjc2, without using the old libobjc2 headers.
Most of these changes involve simply removing direct manipulation of any runtime structures and replacing them with runtime function calls.  For example class->name becomes class_getName(class) and so on.

libobjc2, like the Apple runtime, the NeXT runtime, and every version of the Objective-C spec, calls the class pointer in id isa.  A few files now have #define class_pointer isa at the top.  This line replaces class_pointer in the old GNU libobjc headers with isa so either class_pointer or isa can be used for accessing the class of an object.  Note: object_getClass() should be used in most cases because, in some future version of the runtime, this will skip things like lock classes and other hidden classes (e.g. KVO classes).

All of the old forwarding stuff has been removed.  Most of this stuff followed convoluted code paths that ended with an exception.  A few simply broke in exciting ways.  Hopefully no one has used them for the last ten years or so, but we can bring them back with some #ifndef stuff if they're really needed by anyone.

There is currently a bug in configure, which prevents dladdr() from being detected, so you need to manually tweak config.h to build - I have not fixed the fall-back code in objc-load.m to work with libobjc2, I just added a new version that uses the loader's functionality directly.  

Although -base now builds, it builds with a lot of warnings.  <string.h> is missing from a lot of files, so memcpy() and strlen() generate implicit function declaration warnings.  

Additionally, libobjc2 does still provide the sel_{get,register}_*() functions, but they're wrappers around the newer API ones.  These are deprecated and are not exposed in the headers.  Although they work, we should be replacing them with the libobjc2 versions as soon as possible.

This incorporates a patch by Eric.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31265 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:06:09 +00:00
ericwa
c4159475b4 * Source/ObjectiveC2/runtime.h:
* Source/ObjectiveC2/runtime.m:
Implement protocol_copyMethodDescriptionList, protocol_copyProtocolList,
protocol_getMethodDescription, as well as a dummy version of
objc_copyProtocolList.
* Headers/Additions/GNUstepBase/GSObjCRuntime.h:
* Source/Additions/GSObjCRuntime.m:
Implement a convenience method, GSProtocolGetMethodDescriptionRecursive



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31254 72102866-910b-0410-8b05-ffd578937521
2010-09-08 20:30:19 +00:00
rfm
f9c2cbbd92 fixup for error logging
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30913 72102866-910b-0410-8b05-ffd578937521
2010-07-03 05:54:56 +00:00
rfm
433149faf6 Improve detection of timezone on some systems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30765 72102866-910b-0410-8b05-ffd578937521
2010-06-16 10:45:58 +00:00
rfm
fd504a3c74 fix last change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30737 72102866-910b-0410-8b05-ffd578937521
2010-06-15 13:02:36 +00:00
rfm
0dabb69297 fix potential problem deleting header
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30735 72102866-910b-0410-8b05-ffd578937521
2010-06-15 12:06:12 +00:00
rfm
ef07c63434 various bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30732 72102866-910b-0410-8b05-ffd578937521
2010-06-15 11:26:00 +00:00
rfm
595dc394e4 fix bad indirection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30700 72102866-910b-0410-8b05-ffd578937521
2010-06-14 07:09:05 +00:00
rfm
7c65fc9555 tweak for performance
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30673 72102866-910b-0410-8b05-ffd578937521
2010-06-11 12:00:02 +00:00
rfm
93d9a62c3e minor optimisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30671 72102866-910b-0410-8b05-ffd578937521
2010-06-11 10:49:21 +00:00
rfm
386425f313 Fix equality check for mime documents.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30645 72102866-910b-0410-8b05-ffd578937521
2010-06-10 09:28:15 +00:00
dwetzel
c5bd50b2db * Source/Additions/GSXML.m:
check for NULL string
	stringWithUTF8String: raises on OSX if you feed it with a NULL string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30641 72102866-910b-0410-8b05-ffd578937521
2010-06-09 20:40:41 +00:00
rfm
81cd9d0ec8 reduce copying while decoding multipart mime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30639 72102866-910b-0410-8b05-ffd578937521
2010-06-09 17:34:19 +00:00
rfm
c5ed0abc0a Fixes for bug #29845 and mime parsing improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30635 72102866-910b-0410-8b05-ffd578937521
2010-06-09 15:03:37 +00:00
rfm
d2f96292cc Attempt to support OpenStep style property lists on OSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30520 72102866-910b-0410-8b05-ffd578937521
2010-06-01 09:43:28 +00:00
rfm
3776367d40 support OSX encoding names in addition to IANA registered names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30510 72102866-910b-0410-8b05-ffd578937521
2010-05-31 09:01:46 +00:00
rfm
b76f96c56a Revert code which belongs in gdl2 rather than base
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30508 72102866-910b-0410-8b05-ffd578937521
2010-05-31 07:18:54 +00:00
dwetzel
d472dbd2c1 added encodingNamed:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30507 72102866-910b-0410-8b05-ffd578937521
2010-05-31 06:34:28 +00:00
rfm
d6ef02c19f various minor bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30470 72102866-910b-0410-8b05-ffd578937521
2010-05-29 06:42:38 +00:00
rfm
ba4564cae6 attempt fix for bug #29910
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30425 72102866-910b-0410-8b05-ffd578937521
2010-05-19 07:01:23 +00:00
wlux
ce2c70ecc6 Fix bug in GSObjCAllSubclassesOfClass that made it return all
superclasses instead of all subclasses.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30267 72102866-910b-0410-8b05-ffd578937521
2010-05-01 09:42:52 +00:00
rfm
eed7d5e236 Fix error spotted by Fred.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30264 72102866-910b-0410-8b05-ffd578937521
2010-04-30 08:29:17 +00:00
rfm
1e56bf55ca fix for #29720
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30263 72102866-910b-0410-8b05-ffd578937521
2010-04-30 07:30:27 +00:00
rfm
80eecd3f50 fix OSX specific file to not build elsewhere
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30223 72102866-910b-0410-8b05-ffd578937521
2010-04-23 15:59:50 +00:00
dwetzel
97bc275de1 * Source/Additions/Unicode.m: replace objc_malloc with NSZoneMalloc
and objc_free with NSZoneFree

* Source/Additions/NSFileHandle+GNUstepBase.m: should work with ipv6
(The old code does fail on Snow Leopard, even with ipv4 addresses.)    

* Source/Additions/GSXML.m: added GSObjCRuntime.h
* Headers/Additions/GNUstepBase/GSObjCRuntime.h: 
replace objc_malloc with NSZoneMalloc and objc_free with NSZoneFree



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30221 72102866-910b-0410-8b05-ffd578937521
2010-04-23 04:06:17 +00:00
rfm
1a5d643771 generalize define from __MINGW32__ to __MINGW__
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
rfm
7e8eeb6142 Made experimental API for sending emails available.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29999 72102866-910b-0410-8b05-ffd578937521
2010-03-18 09:56:51 +00:00
rfm
198245af66 commit to make backup of work-in-progress
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29995 72102866-910b-0410-8b05-ffd578937521
2010-03-17 15:46:20 +00:00
rfm
3bcc703c2f added mingw64 tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29983 72102866-910b-0410-8b05-ffd578937521
2010-03-16 15:08:20 +00:00
fedor
0bdb508a21 Define INADDR_NONE for Solaris.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29968 72102866-910b-0410-8b05-ffd578937521
2010-03-15 18:53:26 +00:00
rfm
58ff4db4e8 osx fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29909 72102866-910b-0410-8b05-ffd578937521
2010-03-12 14:01:36 +00:00