decoder(), always set IP to -1 after sending it -dismiss, i.e. in both
cases. Fix the assertion at the bottom so that IP is allowed to be
nil, which will be the case when mframe_build_return() never calls
decoder(), which will happen when we are returning void.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2220 72102866-910b-0410-8b05-ffd578937521
an infinite loop with Decoder trying to send this message to a Proxy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2218 72102866-910b-0410-8b05-ffd578937521
(CURRENT_FORMAT_VERSION): New macro.
(DEFAULT_FORMAT_VERSION): Changed from 0 to 1.
([BinaryCStream -_initForReadingFromPostSignatureStream:
withFormatVersion:]): New method.
([BinaryCStream -initForWritingToStream:swithFormatVersion:]): New
method.
(WRITE_SIGNED_TYPE0): Renamed from WRITE_SIGNED_TYPE.
(WRITE_SIGNED_TYPE1): New macro.
(WRITE_SIGNED_TYPE): New macro for choosing between them.
(READ_SIGNED_TYPE0): Renamed from READ_SIGNED_TYPE.
(READ_SIGNED_TYPE1): New macro.
(READ_SIGNED_TYPE): New macro for choosing between them.
(WRITE_UNSIGNED_TYPE0, WRITE_UNSIGNED_TYPE1, WRITE_SIGNED_UNTYPE,
READ_UNSIGNED_TYPE0, READ_UNSIGNED_TYPE1, READ_UNSIGNED_TYPE):
Likewise.
([BinaryCStream -encodeValueOfCType:at:withName:name]): Don't use
`unsigned' as part of the argument to the *_UNSIGNED_TYPE macros,
because the macros now include that themselves.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2047 72102866-910b-0410-8b05-ffd578937521
withFormatVersion:]): New method.
([CStream +cStreamReadingFromStream:s]): Use it.
([CStream -initForReadingFromStream:swithFormatVersion:]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2046 72102866-910b-0410-8b05-ffd578937521
tries to create an object before main() and before initialize() gets
called as a constructor.
(NSDefaultMallocZone): Likewise.
(initialize): Use a static variable to return immediately if we've
been run already.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2042 72102866-910b-0410-8b05-ffd578937521
(int) are returned---don't offset into the int. (Recommended by
Richard Frith-Macdonald <richard@brainstorm.co.uk>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2027 72102866-910b-0410-8b05-ffd578937521
Release stream after invoking initialisation method of super which
retains it. To fix memory leaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2025 72102866-910b-0410-8b05-ffd578937521
lineNumber:description:]: Use the FORMAT argument! (Reported by
Wolfgang Baron <wbaron@ixpoint.de>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2021 72102866-910b-0410-8b05-ffd578937521
Cooperate with [Connection forwardForProxy:selector:argFrame:] so
that it's callback function is called to tell it dismiss the
ConnectedDecoder.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2017 72102866-910b-0410-8b05-ffd578937521
Return nil if we fail to create a port for talking to a remote server.
([Connection forwardForProxy:selector:argFrame:]):
Changes to ensure that ConnectedDecoder is correctly dismissed in the
case where a DO method returns an object but does not have any
parameter values returned.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2016 72102866-910b-0410-8b05-ffd578937521
Various changes to get timeouts working reliably.
Ensure that _current_mode is restored correctly on exit.
* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]):
Ensure that _current_mode is restored correctly on exit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2015 72102866-910b-0410-8b05-ffd578937521
(Reported by Wolfgang Baron <wbaron@ixpoint.de>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2014 72102866-910b-0410-8b05-ffd578937521
Use NSZoneFromPointer() instead of NSZoneFromPtr().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2002 72102866-910b-0410-8b05-ffd578937521
separators longer than a single character and in other cases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1998 72102866-910b-0410-8b05-ffd578937521
instead of the removed method -_cStringContents.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1995 72102866-910b-0410-8b05-ffd578937521
nameformatVersion:version]): Better commented.
([Decoder -_coderSubstituteObject:atReference:]): New method.
([Decoder -_coderPushRootObjectTable]): Better commented.
([Decoder -finishDecodingInterconnectedObjects]): Implement an
approach to root-object-based -awakeAfterUsingCoder.
([Decoder -decodeObjectAt:anObjPtr:name]): Send -awakeAfterUsingCoder:
here. First see if the object actually responds to it, then send it
and make the object substitution if necessary. Also make the
appropriate substitution in Decoder's internal tables matching
references numbers to objects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1988 72102866-910b-0410-8b05-ffd578937521
for clarity with variable by the same old name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1987 72102866-910b-0410-8b05-ffd578937521
([NSString +initialize]): Don't use static variable to prevent getting
run twice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1942 72102866-910b-0410-8b05-ffd578937521
that we processed all arguments and dismissed the ConnectedCoder.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1929 72102866-910b-0410-8b05-ffd578937521
unused variables MS and DS. Avoid warning by not trying to sprintf()
a zero-length string.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1911 72102866-910b-0410-8b05-ffd578937521
(install): Don't install include/config.h specially, it's now done
with the rest of the HEADERS_INSTALL files.
(ALL_CPPFLAGS): Don't pass `-include include/config.h' since
include/preface.h now does that.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1907 72102866-910b-0410-8b05-ffd578937521
instead of assignment to get the floats and doubles from the `at:'
argument.
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, for
setting the values. (Reported by M. Decugis
<mds@sepgifbr.sep.de.edf.fr>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1902 72102866-910b-0410-8b05-ffd578937521
call.
(NSPageSize): Remove the dependancy on __mach__ to a #define above.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1901 72102866-910b-0410-8b05-ffd578937521
retain/release of the MIN_TIMER. (Reported by Richard Frith-Macdonald
<richard@brainstorm.co.uk>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1892 72102866-910b-0410-8b05-ffd578937521
file descriptors for reading and writing. Done by Richard
Frith-Macdonald <richard@brainstorm.co.uk>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1890 72102866-910b-0410-8b05-ffd578937521
just on m68k, but on all NeXT systems. (Reported by
Richard Frith-Macdonald <richard@brainstorm.co.uk>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1883 72102866-910b-0410-8b05-ffd578937521
TIMEOUT.TV_USEC. (Reported by Richard Frith-Macdonald
<richard@brainstorm.co.uk>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1880 72102866-910b-0410-8b05-ffd578937521
in the same format string created incorrect output.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1836 72102866-910b-0410-8b05-ffd578937521
work. (Added temporarily until this problem is fixed by me overhaul
of the string classes to separate Core and NonCore methods.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1827 72102866-910b-0410-8b05-ffd578937521
<sys/types.h> if we don't. (Reported by Gregor Hoffleit
<flight@mathi.uni-heidelberg.de>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1819 72102866-910b-0410-8b05-ffd578937521
(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1817 72102866-910b-0410-8b05-ffd578937521
figure out when register_printf_function's output handler function
takes `va_list' and when it takes `void**'.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1802 72102866-910b-0410-8b05-ffd578937521
buffer should not be deallocated when MemoryStream is deallocated.
Don't do the extra retain that was the previous workaround.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1798 72102866-910b-0410-8b05-ffd578937521
([MemoryStream -_initOnMallocBuffer:freeWhenDone:size:
eofPosition:prefix:position:]): Method name changed to include
freeWhenDone:. Set new ivar.
([MemoryStream -_initOnMallocBuffer:size:
eofPosition:prefix:position:]): New method (with old name) that calls
above method with `YES' for freeWhenDone:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1797 72102866-910b-0410-8b05-ffd578937521
raising the correct exception. All calls removed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1790 72102866-910b-0410-8b05-ffd578937521
NSInvalidArgumentException, not NSGenericException. (Reported by
Jeremy Bettis <jeremy@tddi.inetnebr.com>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1776 72102866-910b-0410-8b05-ffd578937521
function in the runtime, and thereby allow for nulls in HashTables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1775 72102866-910b-0410-8b05-ffd578937521
(include/config.h): New dependancy.
(ALL_CPPFLAGS): Added -include argument to have gcc look at
include/config.h. It is no longer included in include/preface.h
because other packages that use the installed Base Library may have
their own ideas about these macro values.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1768 72102866-910b-0410-8b05-ffd578937521
([NSObject -error:]): Use objc_verror(), not _objc_error.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1736 72102866-910b-0410-8b05-ffd578937521
runtime change, use objc_realloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1726 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
STRING_ADD_CHAR): Likewise, with objc_realloc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1725 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1724 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1723 72102866-910b-0410-8b05-ffd578937521
Objective C runtime change, use objc_malloc as a function, not a
function pointer.
([Storage -shallowCopy]): Likewise.
([Storage -read:]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1722 72102866-910b-0410-8b05-ffd578937521
Objective C runtime change, use objc_malloc as a function, not a
function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1721 72102866-910b-0410-8b05-ffd578937521
runtime change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1720 72102866-910b-0410-8b05-ffd578937521
runtime change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1719 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
([NSAutoreleasePool -addObject:]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1718 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1717 72102866-910b-0410-8b05-ffd578937521
change, use objc_malloc as a function, not a function pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1716 72102866-910b-0410-8b05-ffd578937521
string class; return the same mutable/immutable string class as self.
This also simplies the code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1707 72102866-910b-0410-8b05-ffd578937521
method with more efficient implementation. (From Eric Norum.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1706 72102866-910b-0410-8b05-ffd578937521
(Changes from Eric Norum <Eric.Norum@usask.ca>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1705 72102866-910b-0410-8b05-ffd578937521
This is needed by NSCharacterSet, so it knows where to find the char
set data files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1702 72102866-910b-0410-8b05-ffd578937521
now so we can get it working; (we'll fix everything for Unichar's in
the next release).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1690 72102866-910b-0410-8b05-ffd578937521
([NSCharacterSet +initialize]): New method.
([NSCharacterSet _bitmapForSet:number:]): Return set from cache if
available, otherwise find bitmap file and add to cache. All callers
changed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1667 72102866-910b-0410-8b05-ffd578937521
`$(includedir)/objc' the same way we do for `$(includedir)/Foundation'.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1665 72102866-910b-0410-8b05-ffd578937521
(Reported by Eric Norum <Eric.Norum@usask.ca>.)
([NSString -rangeOfString:aStringoptions:maskrange:aRange]):
Implemented. (By Eric Norum.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1664 72102866-910b-0410-8b05-ffd578937521
`short' return values; don't use my (possibly wrong) guesses.
(retframe_char): New nested function.
(retframe_short): New nested function.
(mframe_do_call) [_C_CHR, _C_UCHR]: Use retframe_char.
[_C_SHT, _C_USHT]: Use retframe_short.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1659 72102866-910b-0410-8b05-ffd578937521
(CFLAGS_SHAREDLIB_SOLARIS): New variable.
(CFLAGS_SHAREDLIB): New variable set from configure.
(lib$(LIBRARY_NAME).so.$(VERSION)): Use it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1615 72102866-910b-0410-8b05-ffd578937521
size, and assert that we haven't overrun the buffer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1606 72102866-910b-0410-8b05-ffd578937521
of trying to assign to (_TYPE*)(BUFFER+1).
(WRITE_UNSIGNED_TYPE): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1595 72102866-910b-0410-8b05-ffd578937521
`srcdir-include' instead of `include'. This should allow building is
a separate directory than the source, yet still avoid confusion
between <string.h> and <String.h> on win32 systems.
(gnustep/base:): Use `srcdir-include' instead of `include' for extra
links needed when building in a separate directory than the source.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1570 72102866-910b-0410-8b05-ffd578937521
retain; instead just allocate it un-autoreleased.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1568 72102866-910b-0410-8b05-ffd578937521
(GNU_MFILES): Added lex.pl.m and proplist.tab.m.
(YACC): New variable.
(GNU_OTHER_SRCFILES): Added proplist., proplist.tab.h and proplist.y.
(proplist.tab.m proplist.tab.h): New target.
(lex.pl.m): New target.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1536 72102866-910b-0410-8b05-ffd578937521
notification strings as static strings, not in +initialize.
(thread_id_2_nsthread): Renamed from THREAD_LIST. Keep the collection
of NSThread's as a maptable, not a NSArray that takes linear time to
search!
(thread_lock): Renamed from THREAD_LIST_LOCK.
(entered_multi_threaded_state): Renamed from ENTERED_MULTI-THREADED_STATE.
([NSThread +initialize]): Don't initialize notification strings here.
Don't autorelease the lock!
([NSThread -init]): Initialize _thread_autorelease_pool. Set our
thread data to self, for easy, efficient access to this NSThread
object later. Put ourselves in the thread collection here, not in
+detach...
([NSThread +currentThread]): This will be called often and needs to be
fast. Reimplemented so we don't have to acquire a lock and step
through an NSArray of threads; instead, just look ourselves up with
the objc_thread_get_data(), and furthermore, no lock required.
([NSThread +detachNewThreadSelector:toTarget:withObject:]): Avoid race
condition, don't create new NSThread object here.
([NSThread +sleepUntilDate:]): Call -notImplemented:.
([NSThread +exit]): Properly post NSThreadExiting notification, making
sure not to hold the lock while we do so. Get the NSThread object
efficiently.
([NSThread -threadId]): Removed unnecessary private method.
([NSThread -setThreadId]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1530 72102866-910b-0410-8b05-ffd578937521
preparation for avoiding the duplication of these methods in Coder.m.
([NSCoder +initialize]): New method.
(NSCoderNonCore): New class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1510 72102866-910b-0410-8b05-ffd578937521
assertion to inside conditional for FREF being true.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1502 72102866-910b-0410-8b05-ffd578937521
Use ${OEXT}, not $(OEXT).
(ALL_INCLUDE_FLAGS): Look in ./include, not $(srcdir).
(GNU_HEADERS): Remove duplicate NS*.h files.
(gnustep/base): Make soft links to the $(srcdir) include files inside
./include.
(include/preface.h): Get preface.h.in from the $(srcdir)!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1499 72102866-910b-0410-8b05-ffd578937521
(arginfo_func): New function.
(handle_printf_atsign): Get the string object without va_arg().
([NSString +initialize]): Use new function.
(Reported and fixed by Kai-Uwe Sattler
<sattler@volker.cs.Uni-Magdeburg.DE>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1492 72102866-910b-0410-8b05-ffd578937521
(NSGArchiverNullCStream): New class, interface and implementation.
([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New method.
([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New method.
([NSGArchiver -encodeRootObject:withName:]): New method.
([NSGArchiver -encodeConditionalObject:]): New method.
([NSGArchiver -_coderCreateReferenceForObject:]): New method.
([NSGArchiver -_coderCreateForwardReferenceForObject:]): New method.
([NSGArchiver -_coderForwardReferenceForObject:]): New method.
([NSGArchiver -_objectWillBeInProgress:]): New method.
([NSGArchiver -_objectNoLongerInProgress:]): New method.
([NSGArchiver -defaultDecoderClassname]): New method.
([NSGUnarchiver -_createReferenceBeforeInit]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1483 72102866-910b-0410-8b05-ffd578937521
([Encoder -_objectWillBeInProgress:]): New method.
([Encoder -_objectNoLongerInProgress:]): New method. Depending on
whether we are doing GNU or OpenStep style forward references one of
these two methods will create a backward reference to the object by
calling -_coderInternalCreateReferenceForObject:. This will effect
whether encoding make forward or backward references to objects in
progress. GNU uses forward references, which is robust even when the
object's -initWithCoder substitutes another object for self.
([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): Use
new methods. Don't call -_coderInternalCreateReferenceForObject here,
let one of the ...InProgress methods do it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1481 72102866-910b-0410-8b05-ffd578937521
([Decoder -_coderCreateReferenceForObject:]): Add a debugging message.
([Decoder -_coderCreateReferenceForInterconnectedObject:]):
Autorelease the placeholder object.
([Decoder -_createReferenceBeforeInit]): New method. By default
return NO, for the GNU-style forward references.
([Decoder -decodeObjectAt:anObjPtr:name]): [CODER_OBJECT]: Use new
method; if it returns true, then we are using non-GNU, OpenStep-style
forward references. In this case: (1) don't try to decode the object by
sending +newWithCoder:, in fact, raise an error if the object wanted
to be decoded that way; (2) call _coderInternalCreateReferenceForObject
before sending -initWithCoder, not after; unfortunately this means
that -initWithCoder methods cannot substitute another object for self.
If it returns false, use the more robust GNU style forward references.
The NSGUnarchiver overrides this method to use the OpenStep style.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1480 72102866-910b-0410-8b05-ffd578937521
([Coder +archivedDataWithRootObject:]): Use Archiver class, not
NSArchiver, it matters because now the two classes handle forward
references differently.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1479 72102866-910b-0410-8b05-ffd578937521
(main): Use gnustep_base_user_main, not LibobjectsMain.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1431 72102866-910b-0410-8b05-ffd578937521
Rename all occurrences of `Foundation/' to `include/'.
Rename all occurrences of `libobjects' to `$(LIBRARY_NAME)'.
Rename all occurrences of `OBJECTS_*VERSION' to `*VERSION'.
(GNU_NEXT_INCLUDES): Renamed from OBJECTS_NEXT_INCLUDES.
(gnustep/base): New target; make symbolic link to `include'.
(all): Added dependancy on gnustep/base.
(install): Put the include files in gnustep/base. Make a link from
$(includedir)/Foundation to $(includedir)/gnustep/base.
(installdirs): Make $(includedir)/gnustep/base, not objects and
Foundation include directories.
(GNU_MFILES): stdobjects.m renamed to preface.m.
(GNU_HEADERS): LibobjectsMain.h renamed to fake-main.h. objects.h
renamed to all.h.
(HEADERS_INSTALL): stdobjects.h renamed to preface.h.
(maintainer-clean): Likewise.
(DIST_FILES): stdobjects.h.in renamed to preface.h.in.
(RCS_FILES): Likewise.
(include/preface.h): Target renamed from stdobjects.h.
(preface$(OEXT)): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1409 72102866-910b-0410-8b05-ffd578937521
(o_vscanf$(OEXT), o_vscanf_pic$(OEXT)): New rules that turn off
warnings for o_vscanf.c, it generates a bunch of unimportant ones.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1381 72102866-910b-0410-8b05-ffd578937521
allows <objects/objc-malloc.h> to be include in non-ObjC files, i.e. C
files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1380 72102866-910b-0410-8b05-ffd578937521
firstObject is minimum instead of maximum object.
([Heap -addObject:]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1371 72102866-910b-0410-8b05-ffd578937521
object.
([NSGDictionary -objectForKey:]): Method moved from
NSGMutableDictionary.
([NSGMutableDictionary +initialize]): Don't use static variable in
test.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1370 72102866-910b-0410-8b05-ffd578937521
name to see if object has already been encoded.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1365 72102866-910b-0410-8b05-ffd578937521
ANOBJPTR is NULL, and deal with it using a DUMMY_OBJECT local variable.
Remove CODER_OBJECT_FORWARD_SATISFIER case. In the CODER_OBJECT case,
decode the forward reference number, and deal with it appropriately.
See the ChangeLog comments for the Encoder changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1359 72102866-910b-0410-8b05-ffd578937521
if object satisfies a forward reference *after* encoding it. This is
necessary because the encoding of subobjects may generate forward
references. (In a sense, this undoes the last change, but it is
significantly different in that we test whether the object is in the
object_2_fref table *after* encoding the object; before we looked in
the table before encoding the object.) As a consequence,
the CODER_OBJECT_FORWARD_SATISFIER tag is no longer necessary; this
was used to tag an object before it was encoded, but now we understand
that we cannot know whether this object satisfies a forward reference
until after it has been encoded. Thus, for all objects we encode an
unsigned int after encoding the object itself. This unsigned int is
either the forward reference number of zero, depending on whether this
object satisfies any forward references.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1358 72102866-910b-0410-8b05-ffd578937521
longer needed. Note: decoders built after this change will not be
able to read data files encoded before this change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1357 72102866-910b-0410-8b05-ffd578937521
this object satisfies a forward reference, remove it from the
object_2_fref table before encoding the object, since, in the process
of encoding the object, we may generate more references to this
object, and we don't want to interpret this as another forward
reference satisfier; previously an object could get encoded as a
forward reference satisfier more than once.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1355 72102866-910b-0410-8b05-ffd578937521
references have unique names. Previous use of the MapTable count
for this purpose didn't work because we occasionally removed elements
from the table, and thus had aliased forward reference numbers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1354 72102866-910b-0410-8b05-ffd578937521
and send -setLinkedList:, otherwise the links don't properly know
about their parent LinkedList.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1352 72102866-910b-0410-8b05-ffd578937521
:cStreamFormatVersion:]): Initialize new ivar.
([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
`gensym' a new forward reference.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1351 72102866-910b-0410-8b05-ffd578937521
fref_2_object with NSNonOwnedPointerMapValueCallBacks, not
NSObjectMapValueCallBacks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1350 72102866-910b-0410-8b05-ffd578937521
now objc-malloc.h cannot be included in .c files, only .m files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1348 72102866-910b-0410-8b05-ffd578937521
current pool, and setting our parent to be the current pool, be sure
to set our parent's _CHILD ivar to nil.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1340 72102866-910b-0410-8b05-ffd578937521
class_get_instance_method() to get the selector type.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1339 72102866-910b-0410-8b05-ffd578937521
object->class_pointer, not object_get_class(), because
object_get_class() of a class will return the argument, not the
metaclass---we want the metaclass.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1337 72102866-910b-0410-8b05-ffd578937521
INADDR_ANY, (not the host's address), so that others can connect using
any of the host's interfaces, including localhost. Add the host's
address to _LISTENING_ADDRESS after the bind().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1336 72102866-910b-0410-8b05-ffd578937521
(Reported by Robert Quillen <rquillen@csugrad.cs.vt.edu>).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1335 72102866-910b-0410-8b05-ffd578937521
Add more explanation to NSCAssert().
(class_add_behavior): New function, calling above function.
(behavior_class_add_category): New function.
(behavior_class_add_methods): Function renamed from
class_add_methods_if_not_there.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1325 72102866-910b-0410-8b05-ffd578937521
once and for all, avoid the need for those odd [super ...] calls, and
can remove many methods.
([NSGArray -initWithObjects:count:]): Method removed.
([NSGArray -indexOfObject:]): Method removed.
([NSGArray -objectAtIndex:]): Method removed.
([NSGMutableArray +initialize]): Add the NSMutableArrayNonCore
behavior, as above.
([NSGMutableArray -replaceObjectAtIndex:withObject:]): Method removed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1324 72102866-910b-0410-8b05-ffd578937521
NSArrayNonCore behavior to NSArray.
Divide methods between NSMutableArray and NSMutableArrayNonCore
classes. Add NSArrayNonCore behavior to NSArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1323 72102866-910b-0410-8b05-ffd578937521
(class_add_behavior): Use NSCAssert() to make sure that we don't try
to increase the instance size of a class that has been subclassed;
(hopeless ivar layout confusion would result).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1319 72102866-910b-0410-8b05-ffd578937521
leaks. Also improve efficiency by using a linked list of arrays
instead of realloc when more space is needed, and by using a cache of
pools that helps avoid the allocation/deallocation of pools.
(push_pool_to_cache): New function.
(pop_pool_from_cache): New function.
([NSAutoreleasePool +initialize]): New method.
([NSAutoreleasePool +allocWithZone:]): New method.
([NSAutoreleasePool -init]): Method overhauled to initialize new ivar
for handling exceptions, _child; also use pool cache.
(total_autoreleased_objects_count): New static variable.
(BEGINNING_POOL_SIZE): Macro renamed from DEFAULT_SIZE.
(autorelease_pool_cache, autorelease_pool_cache_size,
autorelease_pool_cache_count): New static variables.
([NSAutoreleasePool -_setChildPool:]): New method, handling stack and
dealing with exceptions.
([NSAutoreleasePool -addObject:]): Deal with linked list of arrays.
([NSAutoreleasePool -dealloc]): Deal with exceptions by releasing
child pools. Place self into the pool cache instead of deallocating.
([NSAutoreleasePool +resetTotalAutoreleasedObjects]): New method.
([NSAutoreleasePool +totalAutoreleasedObjects]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1311 72102866-910b-0410-8b05-ffd578937521
([NSArray -arrayByAddingObject:]): New function, from Scott
Christley.
([NSArray -arrayByAddingObjectsFromArray:]): Likewise.
([NSArray -subarrayWithRange:]): Implemented by Scott Christely.
([NSMutableArray -removeObjectIdenticalTo:]): Don't fail if the object
is not present.
([NSMutableArray -removeObject:]): Likewise.
([NSMutableArray -removeAllObjects]): Implemented by Scott Christley.
([NSMutableArray -setArray:]): New function, from Scott Christley.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1304 72102866-910b-0410-8b05-ffd578937521
ANOBJECT, not just one.
([IndexedCollection -replaceObject:withObject:]): Now replaces *all*
instances of OLDOBJECT, not just one.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1303 72102866-910b-0410-8b05-ffd578937521
grows by -_grow_factor, but never shrinks.
(incrementCount): Use the ABS() of _grow_factor.
(decrementCount): Only shrink the array if _grow_factor is > 0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1298 72102866-910b-0410-8b05-ffd578937521
fixes.
(MFRAME_STRUCTURES_PASSED_BY_REFERENCE): Renamed from
CONNECTION_STRUCTURES_PASSED_BY_REFERENCE.
(mframe_dissect_call): Function renamed from dissect_method_call.
Remove some redundant if()-else clauses. Clarify case in which
OUT_PARAMETERS is true. Use switch statement instead of if-else's.
(mframe_do_call): Function renamed from make_method_call. Get the
local selector type from the target's Method, not from the selector
type; this will more reliably give the correct type string. Don't
bother to set OBJECT twice. Remove some redundant if()-else clauses.
Use NSParameterAssert, not assert, so we can catch problems, (and not
crash the D.O. server). Change the way memory management for decoded
arguments is handled to remove memory leaks; use new scheme for
DECODER functions that are responsonsible for making sure allocated
memory is eventually freed. Use alloca() to allocate space for _C_PTR
values, struct's and arrays. Overhaul the way floats and doubles are
extracted from the RETFRAME; use functions with __builtin_return,
instead of fishing around the RETFRAME. Use switch statement intead
of if-else's. Separate cases for char's and short's. Change some
local variable names for clarity.
(mframe_build_return): Function renamed from dissect_method_return.
Remove some redundant if()-else clauses. Use NSParameterAssert, not
assert. Change the way memory management for decoded arguments is
handled to remove memory leaks; use new scheme for DECODER functions
that are responsonsible for making sure allocated memory is eventually
freed. Use alloca() to allocate space for _C_PTR values, struct's and
arrays.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1292 72102866-910b-0410-8b05-ffd578937521
exponent as a short, not an int.
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, decoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1291 72102866-910b-0410-8b05-ffd578937521
interface. In the nested function DECODER, autorelease any char*'s
that we decode, as required by the new memory reference scheme.
([Connection -_service_forwardForProxy:]): Likewise, for both.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1290 72102866-910b-0410-8b05-ffd578937521
Don't autorelease the malloc'ed pointer here; thus the behavior is
analogous to decoding an object: it gives you a reference, it is the
callers responsibility to free it.
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_DBL]: Fix
typo. Use mantissa1, not mantissa2 twice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1289 72102866-910b-0410-8b05-ffd578937521
(FLOAT_FACTOR): New macro.
(WRITE_SIGNED_TYPE): Take new first argument, the pointer for the
data.
(READ_SIGNED_TYPE): Likewise.
(WRITE_UNSIGNED_TYPE): Likewise.
(READ_UNSIGNED_TYPE): Likewise.
([BinaryCStream -encodeValueOfCType:at:withName:]): [_C_FLT]: Use new
scheme, based on frexp() to turn a float into a series of ints.
[_C_DBL]: Likewise.
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_FLT]: Likewise
to match.
[_C_DBL]: Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1286 72102866-910b-0410-8b05-ffd578937521
NSNonRetainedObjectMapValueCallBacks, not NSObjectMapValueCallBacks,
because otherwise the object will never get dealloc'ed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1282 72102866-910b-0410-8b05-ffd578937521
it raises an NSException, and doesn't abort().
([Connection -forwardForProxy:selector:argFrame:]): Decode the flag
that indicates whether the return packet hold an exception or the
return values. If it holds an exception, decode it and raise it.
([Connection -_service_forwardForProxy:]): Surround the processing of
the method request packet with NS_DURING...NS_ENDHANDLER. If an
exception is raised, catch it, encode in in a specially flagged
packet, and send the packet back to the client.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1278 72102866-910b-0410-8b05-ffd578937521
Autorelease the malloc'ed char pointer. Before memory was leaking.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1277 72102866-910b-0410-8b05-ffd578937521
changed to better use IPPORT_USERRESERVED.
([UdpInPort +newForReceivingFromPortNumber:]): Overhauled and
commented.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1260 72102866-910b-0410-8b05-ffd578937521
not NSNonRetainedObjectsMapKeyCallBacks; keying on addresses, and
avoiding a call to -isEqual is better.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1258 72102866-910b-0410-8b05-ffd578937521
Write the string with the host LENGTH, not the network LENGTH!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1256 72102866-910b-0410-8b05-ffd578937521
isEqual:]. I did this to prevent an infinite loop while running
checks/nsarchiver.m, but I have a feeling that the bug might be in
map.c, not here. Look at this again!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1254 72102866-910b-0410-8b05-ffd578937521
mirrors the earlier change to [NSGSet -nextObject].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1253 72102866-910b-0410-8b05-ffd578937521
of objects and keys, to match _encodeContentsWithCoder:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1252 72102866-910b-0410-8b05-ffd578937521
([TcpInPort -encodeWithCoder:]): Use encodeBytes:.., not
encodeValue..; the data is already in network byte-order.
([TcpOutPort -encodeWithCoder:]): Likewise.
([TcpOutPort +newWithCoder:]): Likewise.
([TcpOutPort
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Set
entirety of _REMOTE_IN_PORT_ADDRESS to zero.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1227 72102866-910b-0410-8b05-ffd578937521
Specify object class in arg type for nested function.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1226 72102866-910b-0410-8b05-ffd578937521
(Coding -decodeBytes:count:withName:): Likewise, and pass COUNT, not
pointer to COUNT.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1223 72102866-910b-0410-8b05-ffd578937521
poll the inputs, but don't wait if there is nothing available
immediately. Check to make sure that the LIMIT_DATE hasn't already
past; if it has, return immediately, before polling input sources.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1220 72102866-910b-0410-8b05-ffd578937521
Use OBJC_MALLOC and friends, instead of NX_MALLOC.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1211 72102866-910b-0410-8b05-ffd578937521
the use of invalid Connections.
([Proxy +encodeObject:withConnectedCoder:]): Likewise.
([Proxy -forward::]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1208 72102866-910b-0410-8b05-ffd578937521
which we handle a request immediately. Before it inappropriately
queued call backs from the server on which we were waiting, causing us
to wait forever.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1204 72102866-910b-0410-8b05-ffd578937521
already autoreleased. Too many autoreleases were causing crashes.
(NSAllMapTableValues): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1198 72102866-910b-0410-8b05-ffd578937521
PARENT is nil. This is correct behavior. Old behavior could cause
infinite loops in the PARENT pointers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1197 72102866-910b-0410-8b05-ffd578937521
to RunLoopDefaultMode, not nil.
([NSTimer
+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]):
Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1195 72102866-910b-0410-8b05-ffd578937521
RunLoop in RunLoopConnectionReplyMode, not nil mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1194 72102866-910b-0410-8b05-ffd578937521
port to the RunLoop in new RunLoop style.
([Connection -addToRunLoop:forMode:]): Method removed.
([Connection -removeFromRunLoop:forMode:]): Method removed.
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Use new class
method for RunLoop.
([Connection -invalidate]): Remove comment about removing from
RunLoop. RunLoop's now automatically remove invalid ports.
(RunLoopConnectionReplyMode): New run loop mode string.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1192 72102866-910b-0410-8b05-ffd578937521
been added to; now the RunLoop manages this.
([TcpInPort +newForReceivingFromPortNumber:]): Don't initialize the
the removed ivar ACTIVE_FD_SET. Likewise with _RUN_LOOPS.
([TcpInPort -newPacketReceivedBeforeDate:]): Don't use removed
_RUN_LOOPS.
([TcpInPort -old_receivePacketWithTimeout:]): Remove old deprecated
method.
([TcpInPort -invokeWithObject:]): Method removed.
([TcpInPort -newPacketReceivedBeforeDate:]): Overhauled to use new
RunLoop mechanism.
([TcpInPort -getFds:count:]): New method, called by RunLoop.
([TcpInPort -readyForReadingOnFileDescriptor:]): Likewise.
([TcpInPort -_addClientOutPort:]): Updated for new scheme.
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
([TcpInPort -addToRunLoop:forMode:]): Method removed.
([TcpInPort -removeFromRunLoop:forMode:]): Method removed.
([TcpInPort -dealloc]): Don't release _RUN_LOOPS.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1189 72102866-910b-0410-8b05-ffd578937521
([RunLoop -init]): Initialize new ivars.
([RunLoop -currentMode]): New method.
([RunLoop -addFileDescriptor:object:forMode:]): Method replaces
-addFileDescriptor:invocation:forMode:, and re-implemented. Not yet
functional.
([RunLoop -removeFileDescriptor:forMode:]): Likewise.
([RunLoop -addPort:forMode:]): New method.
([RunLoop -removePort:forMode:]): New method.
([RunLoop -addTimer:forMode:]): Overhauled to do the right thing with
the MODE argument.
([RunLoop -acceptInputForMode:beforeDate:]): Method overhauled to ask
port objects for their FD's, create FD_2_OBJECT map table on the fly,
and initialize FDS on the fly. Now properly removed invalidated ports
from the MODE.
([RunLoop -runOnceBeforeDate:forMode:]): New method.
([RunLoop -runOnceBeforeDate:]): New method.
([RunLoop -runUntilDate:forMode:]): New method.
([RunLoop -runUntilDate:]): New method.
([RunLoop +runUntilDate:forMode:]): New method.
([RunLoop +runOnceBeforeDate:]): New method.
([RunLoop +runOnceBeforeDate:forMode:]): New method.
([RunLoop +currentMode]): New method.
(RunLoopDefaultMode): New global variable.
([NSObject -performSelector:afterDelay:]): Not implemented.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1187 72102866-910b-0410-8b05-ffd578937521
(RunLoop _mode_2_timers): New ivar.
(RunLoop _mode_2_in_ports): New ivar.
(RunLoop _mode_2_fd_listeners): New ivar.
(RunLoopDefaultMode): New extern variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1186 72102866-910b-0410-8b05-ffd578937521
assignment, not equality test for setting enumState to -1.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1156 72102866-910b-0410-8b05-ffd578937521
nil to avoid warning.
([ConstantCollection -maxObject]): Initialize MAX to nil.
([ConstantCollection -minObject]): Initialize MIN to nil.
([Collection -uniqueContents]): Iterate over CP, not SELF.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1152 72102866-910b-0410-8b05-ffd578937521
([ConstantIndexedCollection -lastObject]): Likewise.
([ConstantIndexedCollection -prevObjectWithEnumState:]): Use -1 to
deal with reversals at extremes.
([ConstantIndexedCollection -nextObjectWithEnumState:]): Use [self
count] to deal with reversals at extremes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1132 72102866-910b-0410-8b05-ffd578937521
([Connection +initialize]): Initialize it.
([Connection +newForInPort:outPort:ancestorConnection:]): Use new
static variable to handle ancestor; (ignore ancestor argument; the
method name will be changed later). Set the in-port's packet
invocation to the Connection class. Don't call -addToRunLoop.. here,
the mechanics of it were already done above.
([Connection -addToRunLoop:forMode:]): Mark it as not implemented, for
now.
([Connection -runConnectionUntilDate:]): Don't add to run loop here.
([Connection +invokeWithObject:]): Make it a class method instead of
an instance method; alter contents appropriately for this.
([Connection -portIsInvalid:]): Look at in_port_2_ancestor and remove
ourselves if necessary.
([Connection -invalidate]): Don't remove ourselves from the run loop
here, because we may not be the only one listening. This still needs
fixing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1131 72102866-910b-0410-8b05-ffd578937521
new methods that use RunLoop. All callers changed.
([Connection -addToRunLoop:forMode:]): New method.
([Connection -removeFromRunLoop:forMode:]): New method.
([Connection -runConnectionUntilDate:]): New method.
([Connection -runConnection]): Method changed to call above method.
([Connection -_handleRmc:]): New method.
([Connection -_handleQueuedRmcRequests]): New method.
([Connection -_getReceivedReplyRmcFromQueueWithSequenceNumber:]): New
method.
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): New method.
([Connection -invokeWithObject:]): New method.
([Connection +newForInPort:outPort:ancestorConnection:]): Set
reply_depth ivar.
([Connection -_encoderCreateReferenceForConstPtr:]): Return the xref!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1117 72102866-910b-0410-8b05-ffd578937521
implementation that uses the RunLoop.
([TcpInPort -old_receivePacketWithTimeout:]): New method, holding old
implementation.
([TcpInPort -invokeWithObject:]): New method, called by RunLoop.
([TcpInPort -_tryToGetPacketFromReadableFD:]): New private method.
([TcpInPort -_addClientOutPort:toRunLoop:forMode:]): New method.
([TcpInPort -addToRunLoop:forMode:]): New method.
([TcpInPort -_removeClientOutPort:fromRunLoop:forMode:]): New method.
([TcpInPort -removeFromRunLoop:forMode:]): New method.
([TcpInPort -_addClientOutPort:]): Add it to the RunLoop.
([TcpInPort -_connectedOutPortInvalidated:]): Remove it from the
RunLoop.
([TcpInPort -_addClientOutPort:]): Method renamed from _addOutPort:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1107 72102866-910b-0410-8b05-ffd578937521
([InPort -setPacketInvocation:]): New method.
([InPort -addToRunLoop:forMode:]): New method.
([InPort -removeFromRunLoop:forMode:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1106 72102866-910b-0410-8b05-ffd578937521
select_timeout to inside loop since Linux select() modifies
*select_timeout.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1095 72102866-910b-0410-8b05-ffd578937521