@@ -1690,11 +1690,11 @@ int i = 0; intmax_t value = 0; BOOL expectWhitespace = NO; while (*cString == ' ' || *cString == '\t' || *cString == '\n' || - *cString == '\r') { + *cString == '\r' || *cString == '\f') { cString++; cStringLength--; } if (cString[0] == '-' || cString[0] == '+') @@ -1701,11 +1701,12 @@ i++; for (; i < cStringLength; i++) { if (expectWhitespace) { if (cString[i] != ' ' && cString[i] != '\t' && - cString[i] != '\n' && cString[i] != '\r') + cString[i] != '\n' && cString[i] != '\r' && + cString[i] != '\f') @throw [OFInvalidFormatException newWithClass: isa]; continue; } @@ -1715,11 +1716,12 @@ @throw [OFOutOfRangeException newWithClass: isa]; value = (value * 10) + (cString[i] - '0'); } else if (cString[i] == ' ' || cString[i] == '\t' || - cString[i] == '\n' || cString[i] == '\r') + cString[i] == '\n' || cString[i] == '\r' || + cString[i] == '\f') expectWhitespace = YES; else @throw [OFInvalidFormatException newWithClass: isa]; } @@ -1736,11 +1738,11 @@ int i = 0; uintmax_t value = 0; BOOL expectWhitespace = NO, foundValue = NO; while (*cString == ' ' || *cString == '\t' || *cString == '\n' || - *cString == '\r') { + *cString == '\r' || *cString == '\f') { cString++; cStringLength--; } if (cStringLength == 0) @@ -1754,11 +1756,12 @@ for (; i < cStringLength; i++) { uintmax_t newValue; if (expectWhitespace) { if (cString[i] != ' ' && cString[i] != '\t' && - cString[i] != '\n' && cString[i] != '\r') + cString[i] != '\n' && cString[i] != '\r' && + cString[i] != '\f') @throw [OFInvalidFormatException newWithClass: isa]; continue; } @@ -1771,11 +1774,11 @@ } else if (cString[i] >= 'a' && cString[i] <= 'f') { newValue = (value << 4) | (cString[i] - 'a' + 10); foundValue = YES; } else if (cString[i] == 'h' || cString[i] == ' ' || cString[i] == '\t' || cString[i] == '\n' || - cString[i] == '\r') { + cString[i] == '\r' || cString[i] == '\f') { expectWhitespace = YES; continue; } else @throw [OFInvalidFormatException newWithClass: isa]; @@ -1796,20 +1799,21 @@ const char *cString = s->cString; char *endPointer = NULL; float value; while (*cString == ' ' || *cString == '\t' || *cString == '\n' || - *cString == '\r') + *cString == '\r' || *cString == '\f') cString++; value = strtof(cString, &endPointer); /* Check if there are any invalid chars left */ if (endPointer != NULL) for (; *endPointer != '\0'; endPointer++) if (*endPointer != ' ' && *endPointer != '\t' && - *endPointer != '\n' && *endPointer != '\r') + *endPointer != '\n' && *endPointer != '\r' && + *endPointer != '\f') @throw [OFInvalidFormatException newWithClass: isa]; return value; } @@ -1819,20 +1823,21 @@ const char *cString = s->cString; char *endPointer = NULL; double value; while (*cString == ' ' || *cString == '\t' || *cString == '\n' || - *cString == '\r') + *cString == '\r' || *cString == '\f') cString++; value = strtod(cString, &endPointer); /* Check if there are any invalid chars left */ if (endPointer != NULL) for (; *endPointer != '\0'; endPointer++) if (*endPointer != ' ' && *endPointer != '\t' && - *endPointer != '\n' && *endPointer != '\r') + *endPointer != '\n' && *endPointer != '\r' && + *endPointer != '\f') @throw [OFInvalidFormatException newWithClass: isa]; return value; }