]> err.no Git - sope/commitdiff
applied a hotfix for the last change
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 13 Dec 2006 12:28:11 +0000 (12:28 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 13 Dec 2006 12:28:11 +0000 (12:28 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1390 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/Templates/WOHTMLParser.m

index 201b55c0d74a595716cf034264108295dd2d35d0..632716235e8d4547779ec5c3c0a87a56e896156d 100644 (file)
@@ -1,5 +1,6 @@
 /*
-  Copyright (C) 2000-2005 SKYRIX Software AG
+  Copyright (C) 2000-2006 SKYRIX Software AG
+  Copyright (C) 2006      Helge Hess
 
   This file is part of SOPE.
 
@@ -445,6 +446,7 @@ static NSString *_parseStringValue(NSZone *_zone,
 
 static NSMutableDictionary *
 _parseTagAttributes(NSZone *_zone, const unichar *_buffer,
+                   BOOL _uppercaseName,
                     unsigned *_idx, unsigned _len,
                     NSException **_exception, WOHTMLParser *self);
 
@@ -496,7 +498,9 @@ static WOElement *_parseHashElement(NSZone *_zone, const unichar *_buffer,
   
   /* parse attributes */
   
-  attrs = _parseTagAttributes(_zone, _buffer, _idx, _len, _exc, self);
+  attrs = _parseTagAttributes(_zone, _buffer,
+                             NO /* keep name attributes as-is */,
+                             _idx, _len, _exc, self);
   if (_exc != NULL) {
     if (*_exc != nil) {
       [name release]; name = nil;
@@ -617,6 +621,7 @@ static WOElement *_parseHashElement(NSZone *_zone, const unichar *_buffer,
 
 static NSMutableDictionary *
 _parseTagAttributes(NSZone *_zone, const unichar *_buffer,
+                   BOOL _uppercaseName,
                     unsigned *_idx, unsigned _len,
                     NSException **_exception, WOHTMLParser *self)
 {
@@ -643,7 +648,7 @@ _parseTagAttributes(NSZone *_zone, const unichar *_buffer,
 
     /* fixup NAME attribute, the only one where case matters */
     
-    if ([key length] == 4) {
+    if (_uppercaseName && [key length] == 4) {
       if ([@"name" caseInsensitiveCompare:key] == NSOrderedSame) {
        [key release];
        key = @"NAME";
@@ -720,7 +725,8 @@ static WOElement *_parseWOElement(NSZone *_zone, const unichar *_buffer,
   // skip '<WEBOBJECT'
   *_idx += 10;
   
-  attrs = _parseTagAttributes(_zone, _buffer, _idx, _len, _exception, self);
+  attrs = _parseTagAttributes(_zone, _buffer, YES /* uppercase NAME */,
+                             _idx, _len, _exception, self);
   if (attrs == nil) {
 #if 0
     [self errorWithFormat: