]> err.no Git - sope/commitdiff
fixed a unicode issue
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 21 Nov 2007 20:29:59 +0000 (20:29 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 21 Nov 2007 20:29:59 +0000 (20:29 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1549 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-ldap/NGLdap/ChangeLog
sope-ldap/NGLdap/NSString+DN.m
sope-ldap/NGLdap/Version

index e3d281dd92cd87c7eab4e0e5daaa268bb33390c8..67dec7e439056aacec26dfa42a3db6c1db25c586 100644 (file)
@@ -1,3 +1,8 @@
+2007-11-21  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NSString+DN.m: removed cString based space-stripping function and
+         replaced it with the method from NGExtensions (v4.7.32)
+
 2007-07-23  Helge Hess  <helge.hess@opengroupware.org>
 
        * changed API to use NSTimeInterval, added missing getter methods
index 4f4816fd64a52534459020e769c476b25db12644..adaeb99cd935964918d35e2f8896d3eefed45efa 100644 (file)
@@ -1,5 +1,6 @@
 /*
-  Copyright (C) 2000-2005 SKYRIX Software AG
+  Copyright (C) 2000-2007 SKYRIX Software AG
+  Copyright (C) 2007      Helge Hess
 
   This file is part of SOPE.
 
 */
 
 #include "NSString+DN.h"
+#include <NGExtensions/NSString+Ext.h>
 #include "common.h"
 
 static NSString *dnSeparator = @",";
 
-static NSString *_stripSpaces(NSString *s) {
-  NSString *result = nil;
-  char     *cstr, *tmp;
-  unsigned len, clen;
-  
-  if ([s rangeOfString:@" "].length == 0)
-    return s;
-  
-  len = [s cStringLength];
-  cstr = malloc(len + 1);
-  [s getCString:cstr];
-
-  tmp  = cstr;
-  clen = len;
-
-  /* strip leading spaces */
-  while ((*tmp == ' ') && (*tmp != '\0')) {
-    tmp++;
-    clen--;
-  }
-
-  /* strip trailing spaces */
-  while (clen > 0) {
-    if (tmp[clen - 1] != ' ')
-      break;
-    clen--;
-  }
-  tmp[clen] = '\0';
-  
-  result = [NSString stringWithCString:tmp length:clen];
-  if (cstr)
-    free(cstr);
-  return result;
-}
-
 static NSArray *cleanDNComponents(NSArray *_components) {
   unsigned i, count;
   id *cs;
   
-  count = [_components count];
-  
-  if (count == 0)
+  if ((count = [_components count]) == 0)
     return nil;
   
   cs = calloc(count, sizeof(id));
-  for (i = 0; i < count; i++) {
-    NSString *rdn;
-    
-    rdn = [_components objectAtIndex:i];
-    cs[i] = _stripSpaces(rdn);
-  }
+  
+  for (i = 0; i < count; i++)
+    cs[i] = [[_components objectAtIndex:i] stringByTrimmingWhiteSpaces];
+  
   _components = [NSArray arrayWithObjects:cs count:count];
-  if (cs) free(cs);
-
+  if (cs != NULL) { free(cs); cs = NULL; }
+  
   return _components;
 }
 
@@ -94,10 +57,9 @@ static NSArray *cleanDNComponents(NSArray *_components) {
 - (NSString *)stringByAppendingDNComponent:(NSString *)_component {
   NSString *s;
 
-  s = _stripSpaces(self);
-  if (![s isNotEmpty])
+  if (![(s = [self stringByTrimmingWhiteSpaces]) isNotEmpty])
     return _component;
-
+  
   s = [dnSeparator stringByAppendingString:self];
   return [_component stringByAppendingString:s];
 }
@@ -108,7 +70,8 @@ static NSArray *cleanDNComponents(NSArray *_components) {
   r = [self rangeOfString:dnSeparator];
   if (r.length == 0) return nil;
   
-  return _stripSpaces([self substringFromIndex:(r.location + r.length)]);
+  return [[self substringFromIndex:(r.location + r.length)]
+                stringByTrimmingWhiteSpaces];
 }
 
 - (NSString *)lastDNComponent {
@@ -117,7 +80,7 @@ static NSArray *cleanDNComponents(NSArray *_components) {
   r = [self rangeOfString:dnSeparator];
   if (r.length == 0) return nil;
   
-  return _stripSpaces([self substringToIndex:r.location]);
+  return [[self substringToIndex:r.location] stringByTrimmingWhiteSpaces];
 }
 
 - (const char *)ldapRepresentation {
index b764ae62f0f8ea886626442cd6bcac7f167d7d1f..799512bc76f61d6a5efd4a66a9192bb9c2d6d663 100644 (file)
@@ -2,4 +2,4 @@
 
 MAJOR_VERSION=4
 MINOR_VERSION=7
-SUBMINOR_VERSION:=31
+SUBMINOR_VERSION:=32