From f87beb601c23c6aa3d902dd2de76ec8982f1f561 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 2 Nov 2007 18:54:12 +0000 Subject: [PATCH] Monotone-Parent: 6e703f5f06b5d02b3d34b5c2166d5342e1be4b9f Monotone-Revision: 36b35e1fe8d34594fddbd00a18c1026e23eee87d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-11-02T18:54:12 Monotone-Branch: ca.inverse.sogo --- SOPE/sope-patchset-r1546.diff | 39 +++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/SOPE/sope-patchset-r1546.diff b/SOPE/sope-patchset-r1546.diff index e3f906017..a767369a0 100644 --- a/SOPE/sope-patchset-r1546.diff +++ b/SOPE/sope-patchset-r1546.diff @@ -378,7 +378,7 @@ Index: sope-gdl1/Oracle8/GNUmakefile +local_arch = $(subst 64,,$(shell uname -m)) + +ifeq ($(local_arch),ppc) -+PPC_LDFLAGS=-L/opt/ibmcmp/lib -libmc++ -l$(local_arch) ++PPC_LDFLAGS=-L/opt/ibmcmp/lib -libmc++ +else +PPC_LDFLAGS= +endif @@ -401,7 +401,11 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m =================================================================== --- sope-gdl1/Oracle8/OracleAdaptorChannel.m (révision 1546) +++ sope-gdl1/Oracle8/OracleAdaptorChannel.m (copie de travail) -@@ -57,10 +57,15 @@ +@@ -53,14 +53,17 @@ + while (c--) + { + info = [[_row_buffer objectAtIndex: c] pointerValue]; +- [_row_buffer removeObjectAtIndex: c]; // We free our LOB object. If it fails, it likely mean it isn't a LOB // so we just free the value instead. @@ -409,19 +413,18 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m - { - free(info->value); - } -+ if (info) ++ if (info->value) + { -+ if (info->value && OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB) != OCI_SUCCESS) -+ { -+ free(info->value); -+ info->value = NULL; -+ } -+ free(info); ++ if (OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB) != OCI_SUCCESS) ++ free(info->value); ++ info->value = NULL; + } ++ free(info); ++ [_row_buffer removeObjectAtIndex: c]; } OCIHandleFree(_current_stm, OCI_HTYPE_STMT); -@@ -138,6 +143,14 @@ +@@ -138,6 +141,14 @@ { NSLog(@"FAILED: OCITerminate()"); } @@ -436,7 +439,7 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m } } -@@ -151,11 +164,6 @@ +@@ -151,11 +162,6 @@ [self _cleanup]; RELEASE(_resultSetProperties); @@ -448,6 +451,20 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m RELEASE(delegate); [super dealloc]; +Index: sope-gdl1/Oracle8/OracleAdaptorChannelController.m +=================================================================== +--- sope-gdl1/Oracle8/OracleAdaptorChannelController.m (révision 1546) ++++ sope-gdl1/Oracle8/OracleAdaptorChannelController.m (copie de travail) +@@ -155,7 +155,9 @@ + OCILobFreeTemporary([theChannel serviceContext], [theChannel errorHandle], info->value); + OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB); + } ++ free(info); + } ++ [theColumns release]; + + OCIHandleFree(theStatement, OCI_HTYPE_STMT); + } Index: sope-appserver/NGObjWeb/GNUmakefile.postamble =================================================================== --- sope-appserver/NGObjWeb/GNUmakefile.postamble (révision 1546)