ObjFW  Diff

Differences From Artifact [7aefac85c2]:

  • File src/foundation-compat.m — part of check-in [3d0a1604ae] at 2011-02-02 22:26:45 on branch trunk — Increase blocks compatibility by replacing NSAutoreleasePool.

    NSAutoreleasePool is replaced by OFAutoreleasePool now so that there is
    no conflict because OFBlocks are used (blocks are OFBlocks as soon as
    ObjFW is linked). An application expecting an NSBlock, but getting an
    OFBlock because ObjFW is linked, would fail to autorelease the block
    otherwise, as the block would be in an OFAutoreleasePool. By replacing
    NSAutoreleasePool with OFAutoreleasePool, the application will still
    properly free the autoreleased block.

    This will also make it easier to write applications using both,
    Foundation and ObjFW, since the developer does not need to take care
    about two different autorelease pools, but they are united instead. (user: js, size: 1969) [annotate] [blame] [check-ins using]

To Artifact [1de79742c4]:


10
11
12
13
14
15
16
17
18






19
20
21
22
23
24
25
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

/* FIXME:
 * Kommentar warum benötigt






 */

#include "config.h"

#import <objc/runtime.h>

#import "OFAutoreleasePool.h"







|
|
>
>
>
>
>
>







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

/*
 * This file replaces NSAutoreleasePool with OFAutoreleasePool when it is
 * linked. This is done so there is no conflict because OFBlocks are used
 * (blocks are OFBlocks as soon as ObjFW is linked). An application expecting
 * an NSBlock, but getting an OFBlock because ObjFW is linked, would fail to
 * autorelease the block otherwise, as the block would be in an
 * OFAutoreleasePool. By replacing NSAutoreleasePool with OFAutoreleasePool,
 * the application will still properly free the autoreleased block.
 */

#include "config.h"

#import <objc/runtime.h>

#import "OFAutoreleasePool.h"