- (void)setReason:(NSString *)_reason;
@end
-static NSString *_parseString (NSZone *_zone, const char *_buffer,
+static NSString *_parseString (NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
-static NSDictionary *_parseDict (NSZone *_zone, const char *_buffer,
+static NSDictionary *_parseDict (NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
-static NSArray *_parseArray (NSZone *_zone, const char *_buffer,
+static NSArray *_parseArray (NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
-static NSData *_parseData (NSZone *_zone, const char *_buffer,
+static NSData *_parseData (NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
-static id _parseProperty(NSZone *_zone, const char *_buffer,
+static id _parseProperty(NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
-static NSDictionary *_parseStrings(NSZone *_zone, const char *_buffer,
+static NSDictionary *_parseStrings(NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception);
}
}
- result = [_parseString(NoZone, _buffer, &idx, _len, &exception) autorelease];
+ result =
+ [_parseString(NoZone, _buffer, &idx, _len, &exception) autorelease];
[exception raise];
return result;
}
NSString *NGParseStringFromString(NSString *_str)
{
- return NGParseStringFromBuffer([_str cString], [_str cStringLength]);
+ // TODO: Unicode
+ return NGParseStringFromBuffer((unsigned char *)[_str cString],
+ [_str cStringLength]);
}
NSArray *NGParseArrayFromString(NSString *_str)
{
- return NGParseArrayFromBuffer([_str cString], [_str cStringLength]);
+ // TODO: Unicode
+ return NGParseArrayFromBuffer((unsigned char *)[_str cString],
+ [_str cStringLength]);
}
NSDictionary *NGParseDictionaryFromString(NSString *_str)
{
- return NGParseDictionaryFromBuffer([_str cString], [_str cStringLength]);
+ // TODO: Unicode
+ return NGParseDictionaryFromBuffer((unsigned char *)[_str cString],
+ [_str cStringLength]);
}
id NGParsePropertyListFromBuffer(const unsigned char *_buffer, unsigned _len)
id NGParsePropertyListFromString(NSString *_string)
{
- return NGParsePropertyListFromBuffer([_string cString], [_string cStringLength]);
+ return NGParsePropertyListFromBuffer((unsigned char *)[_string cString],
+ [_string cStringLength]);
}
id NGParsePropertyListFromFile(NSString *_path)
#endif
}
-NSDictionary *NGParseStringsFromBuffer(const char *_buffer, unsigned _len)
+NSDictionary *NGParseStringsFromBuffer(const unsigned char *_buffer,
+ unsigned _len)
{
NSDictionary *result = nil;
NSException *exception = nil;
NSDictionary *NGParseStringsFromString(NSString *_string)
{
- return NGParseStringsFromBuffer([_string cString], [_string cStringLength]);
+ return NGParseStringsFromBuffer((unsigned char *)[_string cString],
+ [_string cStringLength]);
}
NSDictionary *NGParseStringsFromFile(NSString *_path)
}
}
-static inline int _numberOfLines(const char *_buffer, unsigned _lastIdx)
+static inline int _numberOfLines(const unsigned char *_buffer, unsigned _lastIdx)
{
register int pos, lineCount = 1;
}
static NSException *_makeException(NSException *_exception,
- const char *_buffer, unsigned _idx,
+ const unsigned char *_buffer, unsigned _idx,
unsigned _len, NSString *_text)
{
NSMutableDictionary *ui = nil;
*/
if (!atEof && (_idx > 0)) {
register unsigned pos;
- const char *startPos, *endPos;
+ const unsigned char *startPos, *endPos;
for (pos = _idx; (pos >= 0) && (_buffer[pos] != '\n'); pos--)
;
if (startPos < endPos) {
NSString *s;
- s = [[NSString alloc] initWithCString:startPos
+ s = [[NSString alloc] initWithCString:(char *)startPos
length:(endPos - startPos)];
if (s != nil) {
[ui setObject:s forKey:@"lastLine"];
return exception;
}
-static BOOL _skipComments(const char *_buffer, unsigned *_idx, unsigned _len,
+static BOOL _skipComments(const unsigned char *_buffer, unsigned *_idx, unsigned _len,
BOOL _skipSpaces, NSException **_exception)
{
register unsigned pos = *_idx;
return (pos < _len);
}
-static NSString *_parseString(NSZone *_zone, const char *_buffer, unsigned *_idx,
+static NSString *_parseString(NSZone *_zone, const unsigned char *_buffer, unsigned *_idx,
unsigned _len, NSException **_exception)
{
NSCAssert(len > 0, @"invalid length ..");
return [[NSString allocWithZone:_zone]
- initWithCString:&(_buffer[startPos]) length:len];
+ initWithCString:(char*)&(_buffer[startPos]) length:len];
}
}
else { // an unquoted string, may not be zero chars long !
else {
*_idx = pos;
return [[NSString allocWithZone:_zone]
- initWithCString:&(_buffer[startPos]) length:len];
+ initWithCString:(char*)&(_buffer[startPos]) length:len];
}
}
}
-static NSData *_parseData(NSZone *_zone, const char *_buffer,
- unsigned *_idx, unsigned _len, NSException **_exception)
+static NSData *_parseData(NSZone *_zone, const unsigned char *_buffer,
+ unsigned *_idx, unsigned _len,
+ NSException **_exception)
{
if (!_skipComments(_buffer, _idx, _len, YES, _exception)) {
// EOF reached during comment-skipping
}
}
-static NSDictionary *_parseDict(NSZone *_zone, const char *_buffer, unsigned *_idx,
+static NSDictionary *_parseDict(NSZone *_zone, const unsigned char *_buffer, unsigned *_idx,
unsigned _len, NSException **_exception)
{
if (!_skipComments(_buffer, _idx, _len, YES, _exception)) {
}
}
-static NSArray *_parseArray(NSZone *_zone, const char *_buffer, unsigned *_idx,
+static NSArray *_parseArray(NSZone *_zone, const unsigned char *_buffer, unsigned *_idx,
unsigned _len, NSException **_exception)
{
if (!_skipComments(_buffer, _idx, _len, YES, _exception)) {
}
}
-static id _parseProperty(NSZone *_zone, const char *_buffer, unsigned *_idx,
+static id _parseProperty(NSZone *_zone, const unsigned char *_buffer, unsigned *_idx,
unsigned _len, NSException **_exception)
{
id result = nil;
return result;
}
-static NSDictionary *_parseStrings(NSZone *_zone, const char *_buffer,
+static NSDictionary *_parseStrings(NSZone *_zone, const unsigned char *_buffer,
unsigned *_idx, unsigned _len,
NSException **_exception)
{