]> err.no Git - sope/commitdiff
improved ASSIGN/ASSIGNCOPY assignment behaviour
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 7 Mar 2005 20:32:56 +0000 (20:32 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 7 Mar 2005 20:32:56 +0000 (20:32 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@632 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-core/NGExtensions/ChangeLog
sope-core/NGExtensions/NGExtensions/NGObjectMacros.h
sope-core/NGExtensions/Version

index 4fb4f649afc80bbeed0e4e5bfcdbf4ff31714fc6..ed7092c0551f410b130b88c259f910a6928f46f1 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-07  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NGExtensions/NGObjectMacros.h: fixed ASSIGN, ASSIGNCOPY macros to
+         avoid an unset LHS as requested by Stephane (v4.5.155)
+
 2005-03-02  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * NGCalendarDateRange.m: Bugfix for -containsDate: (v4.5.154)
index 40b9ca268247861730a93f630662c13a89f9bb3a..8c0b127bbcc53a746107f395df5a6885c07fa515 100644 (file)
 #  define ASSIGN(object, value) \
        ({id __object = (id)object;    \
          id __value = (id)value;      \
-         if (__value != __object) { if (__value) [__value retain]; \
-          if (__object) [__object release]; \
-          object = __value;}})
+         if (__value != __object) { \
+          object =  (__value) ? [__value retain] : nil; \
+           if (__object) [__object release]; \
+           }})
 #endif
 #ifndef ASSIGNCOPY
 #  define ASSIGNCOPY(object, value) \
        ({id __object = (id)object;    \
          id __value = (id)value;      \
-         if (__value != __object) { if (__value) __value = [__value copy];   \
-          if (__object) [__object release]; \
-          object = __value;}})
+         if (__value != __object) { \
+          object = __value ? [__value copy] : nil; \
+           if (__object) [__object release]; \
+          }})
 #endif
 #ifndef RETAIN
 #  define RETAIN(__XXX__) [__XXX__ retain]
index d0fd569f2cd710303943820957568f1445ec85a9..96b00005bf4db736ddbe510ba90256d3a6f45011 100644 (file)
@@ -1,6 +1,6 @@
 # version
 
-SUBMINOR_VERSION:=154
+SUBMINOR_VERSION:=155
 
 # v4.3.115 requires libFoundation v1.0.59
 # v4.2.72  requires libEOControl  v4.2.39