From ea2fc4b9dcdedc78f5d2da8bc6650df1f26b2261 Mon Sep 17 00:00:00 2001 From: CaS Date: Mon, 14 Apr 2003 07:19:28 +0000 Subject: [PATCH] Minor performance tweak. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16460 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSObjCRuntime.m | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) 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; }