/*
- 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
}
/*