Index: src/OFString+JSONValue.m ================================================================== --- src/OFString+JSONValue.m +++ src/OFString+JSONValue.m @@ -31,16 +31,15 @@ #import "OFInvalidJSONException.h" int _OFString_JSONValue_reference; -static id nextObject(const char *restrict *, const char*, - size_t *restrict line, size_t depth, size_t depthLimit); +static id nextObject(const char **pointer, const char *stop, size_t *line, + size_t depth, size_t depthLimit); static void -skipWhitespaces(const char *restrict *pointer, const char *stop, - size_t *restrict line) +skipWhitespaces(const char **pointer, const char *stop, size_t *line) { while (*pointer < stop && (**pointer == ' ' || **pointer == '\t' || **pointer == '\r' || **pointer == '\n')) { if (**pointer == '\n') (*line)++; @@ -48,12 +47,11 @@ (*pointer)++; } } static void -skipComment(const char *restrict *pointer, const char *stop, - size_t *restrict line) +skipComment(const char **pointer, const char *stop, size_t *line) { if (**pointer != '/') return; if (*pointer + 1 >= stop) @@ -94,12 +92,11 @@ } else (*pointer)--; } static void -skipWhitespacesAndComments(const char *restrict *pointer, const char *stop, - size_t *restrict line) +skipWhitespacesAndComments(const char **pointer, const char *stop, size_t *line) { const char *old = NULL; while (old != *pointer) { old = *pointer; @@ -139,12 +136,11 @@ return ret; } static inline OFString* -parseString(const char *restrict *pointer, const char *stop, - size_t *restrict line) +parseString(const char **pointer, const char *stop, size_t *line) { char *buffer; size_t i = 0; char delimiter = **pointer; @@ -291,11 +287,11 @@ free(buffer); return nil; } static inline OFString* -parseIdentifier(const char *restrict *pointer, const char *stop) +parseIdentifier(const char **pointer, const char *stop) { char *buffer; size_t i = 0; if ((buffer = malloc(stop - *pointer)) == NULL) @@ -391,12 +387,12 @@ */ return nil; } static inline OFMutableArray* -parseArray(const char *restrict *pointer, const char *stop, - size_t *restrict line, size_t depth, size_t depthLimit) +parseArray(const char **pointer, const char *stop, size_t *line, + size_t depth, size_t depthLimit) { OFMutableArray *array = [OFMutableArray array]; if (++(*pointer) >= stop) return nil; @@ -448,12 +444,12 @@ return array; } static inline OFMutableDictionary* -parseDictionary(const char *restrict *pointer, const char *stop, - size_t *restrict line, size_t depth, size_t depthLimit) +parseDictionary(const char **pointer, const char *stop, size_t *line, + size_t depth, size_t depthLimit) { OFMutableDictionary *dictionary = [OFMutableDictionary dictionary]; if (++(*pointer) >= stop) return nil; @@ -527,12 +523,11 @@ return dictionary; } static inline OFNumber* -parseNumber(const char *restrict *pointer, const char *stop, - size_t *restrict line) +parseNumber(const char **pointer, const char *stop, size_t *line) { bool isHex = (*pointer + 1 < stop && (*pointer)[1] == 'x'); bool hasDecimal = false; size_t i; OFString *string; @@ -577,12 +572,12 @@ return number; } static id -nextObject(const char *restrict *pointer, const char *stop, - size_t *restrict line, size_t depth, size_t depthLimit) +nextObject(const char **pointer, const char *stop, size_t *line, + size_t depth, size_t depthLimit) { skipWhitespacesAndComments(pointer, stop, line); if (*pointer >= stop) return nil;