diff --git a/ChangeLog b/ChangeLog index 3e5084a8c..bdb423b52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-04-14 Richard Frith-Macdonald + + * Source/NSObjCRuntime.m: NSClassFromString(), NSSelectorFromString() + avoid doing an unnecessary autorelease. + 2003-04-12 Richard Frith-Macdonald * Source/callframe.m: diff --git a/Source/NSObjCRuntime.m b/Source/NSObjCRuntime.m index cfc3f3849..af114c758 100644 --- a/Source/NSObjCRuntime.m +++ b/Source/NSObjCRuntime.m @@ -52,7 +52,13 @@ SEL NSSelectorFromString(NSString *aSelectorName) { if (aSelectorName != nil) - return GSSelectorFromName ([aSelectorName lossyCString]); + { + int len = [aSelectorName cStringLength]; + char buf[len+1]; + + [aSelectorName getCString: buf]; + return GSSelectorFromName (buf); + } return (SEL)0; } @@ -64,7 +70,13 @@ Class NSClassFromString(NSString *aClassName) { if (aClassName != nil) - return GSClassFromName ([aClassName lossyCString]); + { + int len = [aClassName cStringLength]; + char buf[len+1]; + + [aClassName getCString: buf]; + return GSClassFromName (buf); + } return (Class)0; }