2005-03-25 Helge Hess <helge.hess@opengroupware.org>
+ * WebDAV/SoObjectDataSource.m: fixed a small memory leak (v4.5.143)
+
* SoObjects/SoObject+Traversal.m, WebDAV/SoObjectWebDAVDispatcher.m:
minor code cleanups (v4.5.142)
}
}
- if (renderer)
+ if (renderer != nil)
[self debugWithFormat:@"use rule-selected renderer: %@", renderer];
}
@end /* SoObjectRequestHandler */
+
@implementation WOCoreApplication(RendererSelection)
- (id)rendererForObject:(id)_object inContext:(WOContext *)_ctx {
@end /* WOCoreApplication(RendererSelection) */
+
@implementation SoObjectRequestHandler(Logging)
- (NSString *)loggingPrefix {
- (void)dealloc {
[self->object release];
+ [self->fspec release];
[super dealloc];
}
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"
- (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];;
}
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"