From dfe04b71495c8931b9a852b5b868cad84236b3f4 Mon Sep 17 00:00:00 2001 From: helge Date: Fri, 25 Mar 2005 22:46:17 +0000 Subject: [PATCH] fixed a small memleak, minor code cleanups git-svn-id: http://svn.opengroupware.org/SOPE/trunk@701 e4a50df8-12e2-0310-a44c-efbce7f8a7e3 --- sope-appserver/NGObjWeb/ChangeLog | 2 ++ .../SoObjects/SoObjectRequestHandler.m | 4 ++- sope-appserver/NGObjWeb/Version | 2 +- .../NGObjWeb/WebDAV/SoObjectDataSource.m | 26 ++++++++----------- .../WebDAV/SoObjectWebDAVDispatcher.m | 7 ++--- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/sope-appserver/NGObjWeb/ChangeLog b/sope-appserver/NGObjWeb/ChangeLog index b4177f9f..58f2e9f4 100644 --- a/sope-appserver/NGObjWeb/ChangeLog +++ b/sope-appserver/NGObjWeb/ChangeLog @@ -1,5 +1,7 @@ 2005-03-25 Helge Hess + * WebDAV/SoObjectDataSource.m: fixed a small memory leak (v4.5.143) + * SoObjects/SoObject+Traversal.m, WebDAV/SoObjectWebDAVDispatcher.m: minor code cleanups (v4.5.142) diff --git a/sope-appserver/NGObjWeb/SoObjects/SoObjectRequestHandler.m b/sope-appserver/NGObjWeb/SoObjects/SoObjectRequestHandler.m index 57727f7f..2dc5b324 100644 --- a/sope-appserver/NGObjWeb/SoObjects/SoObjectRequestHandler.m +++ b/sope-appserver/NGObjWeb/SoObjects/SoObjectRequestHandler.m @@ -451,7 +451,7 @@ static NSString *redirectURISafetySuffix = nil; } } - if (renderer) + if (renderer != nil) [self debugWithFormat:@"use rule-selected renderer: %@", renderer]; } @@ -682,6 +682,7 @@ static NSString *redirectURISafetySuffix = nil; @end /* SoObjectRequestHandler */ + @implementation WOCoreApplication(RendererSelection) - (id)rendererForObject:(id)_object inContext:(WOContext *)_ctx { @@ -690,6 +691,7 @@ static NSString *redirectURISafetySuffix = nil; @end /* WOCoreApplication(RendererSelection) */ + @implementation SoObjectRequestHandler(Logging) - (NSString *)loggingPrefix { diff --git a/sope-appserver/NGObjWeb/Version b/sope-appserver/NGObjWeb/Version index 11115ec3..3bd97516 100644 --- a/sope-appserver/NGObjWeb/Version +++ b/sope-appserver/NGObjWeb/Version @@ -1,6 +1,6 @@ # version file -SUBMINOR_VERSION:=142 +SUBMINOR_VERSION:=143 # v4.5.122 requires libNGExtensions v4.5.153 # v4.5.91 requires libNGExtensions v4.5.134 diff --git a/sope-appserver/NGObjWeb/WebDAV/SoObjectDataSource.m b/sope-appserver/NGObjWeb/WebDAV/SoObjectDataSource.m index 5e289837..f32f9d13 100644 --- a/sope-appserver/NGObjWeb/WebDAV/SoObjectDataSource.m +++ b/sope-appserver/NGObjWeb/WebDAV/SoObjectDataSource.m @@ -54,6 +54,7 @@ static BOOL debugOn = NO; - (void)dealloc { [self->object release]; + [self->fspec release]; [super dealloc]; } @@ -148,13 +149,13 @@ static BOOL debugOn = NO; e = nil; } else if ((child = [self->object lookupName:childKey inContext:_ctx - acquire:NO])==nil) { + acquire:NO]) == nil) { /* not found */ [self debugWithFormat:@" did not find key '%@'", childKey]; if (!isBrief) { // when the brief header is not set, encode status NSDictionary *ui; - + ui = [NSDictionary dictionaryWithObject:@"404" /* not found */ forKey:@"http-status"]; e = [NSException exceptionWithName:@"KeyError" @@ -249,21 +250,16 @@ static BOOL debugOn = NO; - (NSArray *)fetchObjects { NSAutoreleasePool *pool; id result; + + if ([[self fetchSpecification] davBulkTargetKeys] != nil) { + [self logWithFormat:@"SoObjectDataSource cannot handle bulk queries !"]; + return nil; + } pool = [[NSAutoreleasePool alloc] init]; - { - NSArray *keys; - - if ((keys = [[self fetchSpecification] davBulkTargetKeys])) { - [self logWithFormat:@"SoObjectDataSource cannot handle bulk queries !"]; - return nil; - } - else { - result = [self davFlatQuery:[self fetchSpecification] - inContext:[self context]]; - } - result = [result retain]; - } + result = [self davFlatQuery:[self fetchSpecification] + inContext:[self context]]; + result = [result retain]; [pool release]; return [result autorelease];; } diff --git a/sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m b/sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m index 496d9746..a269949d 100644 --- a/sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m +++ b/sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m @@ -255,10 +255,11 @@ static NSTimeZone *gmt = nil; e = [sm validatePermission:SoPerm_DeleteObjects onObject:self->object inContext:_ctx]; - if (e) return e; - if ((e = [self->object validateName:@"DELETE" inContext:_ctx])) + if (e != nil) return e; - + if ((e = [self->object validateName:@"DELETE" inContext:_ctx]) != nil) + return e; + // TODO: IE WebFolders sent a "Destroy" header together with the // DELETE request, eg: // "Destroy: NoUndelete" -- 2.39.5