X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/6601e61aa18bf4f09af135ff61fc7f4771d23b06..813fb2f63a553c957e917ede5f119b021d6ce391:/libkern/stdio/scanf.c diff --git a/libkern/stdio/scanf.c b/libkern/stdio/scanf.c index 99c5edbaa..82791cdde 100644 --- a/libkern/stdio/scanf.c +++ b/libkern/stdio/scanf.c @@ -1,14 +1,19 @@ /* - * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2004-2016 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER @@ -18,7 +23,7 @@ * Please see the License for the specific language governing rights and * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /*- * Copyright (c) 1990, 1993 @@ -155,8 +160,11 @@ vsscanf(const char *inp, char const *fmt0, va_list ap) if (c == 0) return (nassigned); if (isspace(c)) { - while (inr > 0 && isspace(*inp)) - nread++, inr--, inp++; + while (inr > 0 && isspace(*inp)) { + nread++; + inr--; + inp++; + } continue; } if (c != '%') @@ -175,7 +183,8 @@ literal: goto input_failure; if (*inp != c) goto match_failure; - inr--, inp++; + inr--; + inp++; nread++; continue; @@ -347,7 +356,9 @@ literal: if (flags & SUPPRESS) { n = 0; while (ccltab[(unsigned char)*inp]) { - n++, inr--, inp++; + n++; + inr--; + inp++; if (--width == 0) break; if (inr <= 0) { @@ -388,7 +399,9 @@ literal: if (flags & SUPPRESS) { n = 0; while (!isspace(*inp)) { - n++, inr--, inp++; + n++; + inr--; + inp++; if (--width == 0) break; if (inr <= 0) @@ -646,7 +659,6 @@ doswitch: * This too is permitted by the standard.... */ goto doswitch; - break; case ']': /* end of scanset */ return (fmt);