On 7 Jan 2013, at 22:50, Pirmin Braun <[email protected]> wrote:

> Am Mon, 7 Jan 2013 22:28:13 +0000
> schrieb Tom Davie <[email protected]> :
> 
>> Instead, simply try to reduce this to a simple test case in which the string 
>> is not deallocated, yet all autorelease pools have been popped, and all 
>> allocs/retains balanced.
>> 
> 
> ok, here I've got a simple test:
> svn checkout -r HEAD --no-auth-cache 
> svn://svn.intars.at/intars/Local/Projects/TestTool --username anonsvn 
> --password 'intars'
> cd TestTool
> make install
> 
> cd /usr/GNUstep/Local/Tools
> ./TestTool
> 
> -> 2013-01-07 23:49:17.336 TestTool[23179] TestTool: first has retainCount of 
> 2
> 
> 
> wheras on WO windows it says
>> Running 'TestTool.exe'...
> Jan 07 23:35:45 TestTool[300] TestTool: first has retainCount of 1
>> Finished running 'TestTool.exe'.
> 
> 
> the .m looks like this:
> #import <Foundation/Foundation.h>
> 
> int
> main(int argc, char **argv)
> {
>    NSString *s = @"first|second|third",*s1;
>    NSArray *a;
>    NSAutoreleasePool *pool =[NSAutoreleasePool new];
> 
>    a = [s componentsSeparatedByString:@"|"];
>    s1 = [a objectAtIndex:0];
> 
>    NSLog(([NSString stringWithFormat:@"TestTool: %@ has retainCount of 
> %i",s1,[s1 retainCount]]));
> 
>    [pool release];
>    exit (0);
>    return 0;
> }

This test is not demonstrating anything beyond a different implementation of 
componentsSeparatedByString:.  s1 is retained by *at least* a, it may also (and 
likely is) be retained by the autoreleasepool until it is drained.

Now try retaining s1, and logging the retain count after the autoreleasepool 
drain.

Thanks

Tom Davie
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to