mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
(SIGNATURE_FORMAT_STRING): New macro.
([Coder -writeSignature]): Use it. ([Coder +readSignatureFromCStream:getClassname:formatVersion:]): Likewise, and receive (char*) instead of (char**). All callers changed. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@798 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
791233e4ad
commit
5204209c5c
1 changed files with 9 additions and 6 deletions
|
@ -130,22 +130,25 @@ my_object_is_class(id object)
|
|||
return DEFAULT_FORMAT_VERSION;
|
||||
}
|
||||
|
||||
#define SIGNATURE_FORMAT_STRING \
|
||||
@"GNU Objective C Class Library %s version %d\n"
|
||||
|
||||
- (void) writeSignature
|
||||
{
|
||||
/* Careful: the string should not contain newlines. */
|
||||
[[cstream stream] writeFormat:
|
||||
@"GNU Objective C Class Library %s version %d\n",
|
||||
[[cstream stream] writeFormat: SIGNATURE_FORMAT_STRING,
|
||||
object_get_class_name(self),
|
||||
format_version];
|
||||
}
|
||||
|
||||
+ (void) readSignatureFromCStream: (id <CStreaming>) cs
|
||||
getClassname: (char **) namePtr
|
||||
getClassname: (char *) name
|
||||
formatVersion: (int*) version
|
||||
{
|
||||
int got;
|
||||
|
||||
got = [[cs stream] readFormat: @"GNU %a version %d\n", namePtr, version];
|
||||
got = [[cs stream] readFormat: SIGNATURE_FORMAT_STRING,
|
||||
name, version];
|
||||
if (got != 2)
|
||||
[NSException raise:CoderSignatureMalformedException
|
||||
format:@"Coder found a malformed signature"];
|
||||
|
@ -181,12 +184,12 @@ my_object_is_class(id object)
|
|||
+ coderReadingFromStream: (id <Streaming>) stream
|
||||
{
|
||||
id cs = [CStream cStreamReadingFromStream: stream];
|
||||
char *name;
|
||||
char name[128]; /* Max classname length. */
|
||||
int version;
|
||||
id new_coder;
|
||||
|
||||
[self readSignatureFromCStream: cs
|
||||
getClassname: &name
|
||||
getClassname: name
|
||||
formatVersion: &version];
|
||||
|
||||
new_coder = [[objc_lookup_class(name) alloc]
|
||||
|
|
Loading…
Reference in a new issue