]> err.no Git - sope/blobdiff - sope-core/NGExtensions/NGExtensions/NSString+Formatting.h
fixed a usage of getCString on 10.5
[sope] / sope-core / NGExtensions / NGExtensions / NSString+Formatting.h
index ac564c6fc20b0ad9d1b70832efd4aaf3d25a4854..d42b3b6d6cd51860f6d14ef268e1ea6b7ab52500 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.
 
 // C support functions
 
 static inline int 
-xs_vsnprintf(char *str, size_t max, const char *fmt, va_list _ap) 
+xs_vsnprintf(char *_str, size_t max, const char *fmt, va_list _ap) 
 {
-  NSString *obj = [NSString stringWithCFormat:str arguments:_ap];
-  [obj getCString:str maxLength:(max - 1)];
+  NSString *obj = [NSString stringWithCFormat:_str arguments:_ap];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  [obj getCString:_str maxLength:(max - 1)
+       encoding:[NSString defaultCStringEncoding]];
+  return strlen(_str);
+#else
+  [obj getCString:_str maxLength:(max - 1)];
   return [obj cStringLength]; // return the len the string would have consumed
+#endif
 }
 
 static inline int xs_vsprintf (char *_str, const char *_fmt, va_list _ap) {
   NSString *obj = [NSString stringWithCFormat:_str arguments:_ap];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  [obj getCString:_str maxLength:65535 /* no limit ... */
+       encoding:[NSString defaultCStringEncoding]];
+  return strlen(_str);
+#else
   [obj getCString:_str];
   return [obj cStringLength]; // return the length of the string
+#endif
 }
 
 /*