Deleted Added
full compact
subr_scanf.c (52845) subr_scanf.c (53648)
1/*-
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Chris Torek.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
1/*-
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Chris Torek.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * $FreeBSD: head/sys/kern/subr_scanf.c 52845 1999-11-03 18:20:59Z phk $
36 * $FreeBSD: head/sys/kern/subr_scanf.c 53648 1999-11-24 01:03:08Z archie $
37 * From: Id: vfscanf.c,v 1.13 1998/09/25 12:20:27 obrien Exp
38 * From: static char sccsid[] = "@(#)strtol.c 8.1 (Berkeley) 6/4/93";
39 * From: static char sccsid[] = "@(#)strtoul.c 8.1 (Berkeley) 6/4/93";
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/ctype.h>

--- 33 unchanged lines hidden (view full) ---

78
79/*
80 * Conversion types.
81 */
82#define CT_CHAR 0 /* %c conversion */
83#define CT_CCL 1 /* %[...] conversion */
84#define CT_STRING 2 /* %s conversion */
85#define CT_INT 3 /* integer, i.e., strtoq or strtouq */
37 * From: Id: vfscanf.c,v 1.13 1998/09/25 12:20:27 obrien Exp
38 * From: static char sccsid[] = "@(#)strtol.c 8.1 (Berkeley) 6/4/93";
39 * From: static char sccsid[] = "@(#)strtoul.c 8.1 (Berkeley) 6/4/93";
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/ctype.h>

--- 33 unchanged lines hidden (view full) ---

78
79/*
80 * Conversion types.
81 */
82#define CT_CHAR 0 /* %c conversion */
83#define CT_CCL 1 /* %[...] conversion */
84#define CT_STRING 2 /* %s conversion */
85#define CT_INT 3 /* integer, i.e., strtoq or strtouq */
86typedef u_quad_t (*ccfntype)(const char *, const char **, int);
86typedef u_quad_t (*ccfntype)(const char *, char **, int);
87
88static const u_char *__sccl(char *, const u_char *);
89
90int
91sscanf(const char *ibuf, const char *fmt, ...)
92{
93 va_list ap;
94 int ret;

--- 408 unchanged lines hidden (view full) ---

503 --p;
504 inp--;
505 inr++;
506 }
507 if ((flags & SUPPRESS) == 0) {
508 u_quad_t res;
509
510 *p = 0;
87
88static const u_char *__sccl(char *, const u_char *);
89
90int
91sscanf(const char *ibuf, const char *fmt, ...)
92{
93 va_list ap;
94 int ret;

--- 408 unchanged lines hidden (view full) ---

503 --p;
504 inp--;
505 inr++;
506 }
507 if ((flags & SUPPRESS) == 0) {
508 u_quad_t res;
509
510 *p = 0;
511 res = (*ccfn)(buf, (const char **)NULL, base);
511 res = (*ccfn)(buf, (char **)NULL, base);
512 if (flags & POINTER)
513 *va_arg(ap, void **) =
514 (void *)(uintptr_t)res;
515 else if (flags & SHORT)
516 *va_arg(ap, short *) = res;
517 else if (flags & LONG)
518 *va_arg(ap, long *) = res;
519 else if (flags & QUAD)

--- 109 unchanged lines hidden ---
512 if (flags & POINTER)
513 *va_arg(ap, void **) =
514 (void *)(uintptr_t)res;
515 else if (flags & SHORT)
516 *va_arg(ap, short *) = res;
517 else if (flags & LONG)
518 *va_arg(ap, long *) = res;
519 else if (flags & QUAD)

--- 109 unchanged lines hidden ---