Deleted Added
full compact
vfwscanf.c (125283) vfwscanf.c (128002)
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

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

36
37#include <sys/cdefs.h>
38#if 0
39#if defined(LIBC_SCCS) && !defined(lint)
40static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93";
41#endif /* LIBC_SCCS and not lint */
42__FBSDID("FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.35 2004/01/31 23:16:09 das Exp ");
43#endif
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

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

36
37#include <sys/cdefs.h>
38#if 0
39#if defined(LIBC_SCCS) && !defined(lint)
40static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93";
41#endif /* LIBC_SCCS and not lint */
42__FBSDID("FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.35 2004/01/31 23:16:09 das Exp ");
43#endif
44__FBSDID("$FreeBSD: head/lib/libc/stdio/vfwscanf.c 125283 2004-01-31 23:18:53Z das $");
44__FBSDID("$FreeBSD: head/lib/libc/stdio/vfwscanf.c 128002 2004-04-07 09:55:05Z tjr $");
45
46#include "namespace.h"
47#include <ctype.h>
48#include <inttypes.h>
49#include <stdio.h>
50#include <stdlib.h>
51#include <stddef.h>
52#include <stdarg.h>

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

143 wchar_t buf[BUF]; /* buffer for numeric conversions */
144 const wchar_t *ccls; /* character class start */
145 const wchar_t *ccle; /* character class end */
146 int cclcompl; /* ccl is complemented? */
147 wint_t wi; /* handy wint_t */
148 char *mbp; /* multibyte string pointer for %c %s %[ */
149 size_t nconv; /* number of bytes in mb. conversion */
150 char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */
45
46#include "namespace.h"
47#include <ctype.h>
48#include <inttypes.h>
49#include <stdio.h>
50#include <stdlib.h>
51#include <stddef.h>
52#include <stdarg.h>

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

143 wchar_t buf[BUF]; /* buffer for numeric conversions */
144 const wchar_t *ccls; /* character class start */
145 const wchar_t *ccle; /* character class end */
146 int cclcompl; /* ccl is complemented? */
147 wint_t wi; /* handy wint_t */
148 char *mbp; /* multibyte string pointer for %c %s %[ */
149 size_t nconv; /* number of bytes in mb. conversion */
150 char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */
151 static const mbstate_t initial;
152 mbstate_t mbs;
151
152 /* `basefix' is used to avoid `if' tests in the integer scanner */
153 static short basefix[17] =
154 { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
155
156 nassigned = 0;
157 nconversions = 0;
158 nread = 0;

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

374 goto input_failure;
375 nread += n;
376 if (!(flags & SUPPRESS))
377 nassigned++;
378 } else {
379 if (!(flags & SUPPRESS))
380 mbp = va_arg(ap, char *);
381 n = 0;
153
154 /* `basefix' is used to avoid `if' tests in the integer scanner */
155 static short basefix[17] =
156 { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
157
158 nassigned = 0;
159 nconversions = 0;
160 nread = 0;

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

376 goto input_failure;
377 nread += n;
378 if (!(flags & SUPPRESS))
379 nassigned++;
380 } else {
381 if (!(flags & SUPPRESS))
382 mbp = va_arg(ap, char *);
383 n = 0;
384 mbs = initial;
382 while (width != 0 &&
383 (wi = __fgetwc(fp)) != WEOF) {
384 if (width >= MB_CUR_MAX &&
385 !(flags & SUPPRESS)) {
385 while (width != 0 &&
386 (wi = __fgetwc(fp)) != WEOF) {
387 if (width >= MB_CUR_MAX &&
388 !(flags & SUPPRESS)) {
386 nconv = wcrtomb(mbp, wi, NULL);
389 nconv = wcrtomb(mbp, wi, &mbs);
387 if (nconv == (size_t)-1)
388 goto input_failure;
389 } else {
390 nconv = wcrtomb(mbbuf, wi,
390 if (nconv == (size_t)-1)
391 goto input_failure;
392 } else {
393 nconv = wcrtomb(mbbuf, wi,
391 NULL);
394 &mbs);
392 if (nconv == (size_t)-1)
393 goto input_failure;
394 if (nconv > width) {
395 __ungetwc(wi, fp);
396 break;
397 }
398 if (!(flags & SUPPRESS))
399 memcpy(mbp, mbbuf,

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

438 if (n == 0)
439 goto match_failure;
440 *p = 0;
441 nassigned++;
442 } else {
443 if (!(flags & SUPPRESS))
444 mbp = va_arg(ap, char *);
445 n = 0;
395 if (nconv == (size_t)-1)
396 goto input_failure;
397 if (nconv > width) {
398 __ungetwc(wi, fp);
399 break;
400 }
401 if (!(flags & SUPPRESS))
402 memcpy(mbp, mbbuf,

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

441 if (n == 0)
442 goto match_failure;
443 *p = 0;
444 nassigned++;
445 } else {
446 if (!(flags & SUPPRESS))
447 mbp = va_arg(ap, char *);
448 n = 0;
449 mbs = initial;
446 while ((wi = __fgetwc(fp)) != WEOF &&
447 width != 0 && INCCL(wi)) {
448 if (width >= MB_CUR_MAX &&
449 !(flags & SUPPRESS)) {
450 while ((wi = __fgetwc(fp)) != WEOF &&
451 width != 0 && INCCL(wi)) {
452 if (width >= MB_CUR_MAX &&
453 !(flags & SUPPRESS)) {
450 nconv = wcrtomb(mbp, wi, NULL);
454 nconv = wcrtomb(mbp, wi, &mbs);
451 if (nconv == (size_t)-1)
452 goto input_failure;
453 } else {
454 nconv = wcrtomb(mbbuf, wi,
455 if (nconv == (size_t)-1)
456 goto input_failure;
457 } else {
458 nconv = wcrtomb(mbbuf, wi,
455 NULL);
459 &mbs);
456 if (nconv == (size_t)-1)
457 goto input_failure;
458 if (nconv > width)
459 break;
460 if (!(flags & SUPPRESS))
461 memcpy(mbp, mbbuf,
462 nconv);
463 }

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

498 }
499 if (wi != WEOF)
500 __ungetwc(wi, fp);
501 *p = '\0';
502 nassigned++;
503 } else {
504 if (!(flags & SUPPRESS))
505 mbp = va_arg(ap, char *);
460 if (nconv == (size_t)-1)
461 goto input_failure;
462 if (nconv > width)
463 break;
464 if (!(flags & SUPPRESS))
465 memcpy(mbp, mbbuf,
466 nconv);
467 }

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

502 }
503 if (wi != WEOF)
504 __ungetwc(wi, fp);
505 *p = '\0';
506 nassigned++;
507 } else {
508 if (!(flags & SUPPRESS))
509 mbp = va_arg(ap, char *);
510 mbs = initial;
506 while ((wi = __fgetwc(fp)) != WEOF &&
507 width != 0 &&
508 !iswspace(wi)) {
509 if (width >= MB_CUR_MAX &&
510 !(flags & SUPPRESS)) {
511 while ((wi = __fgetwc(fp)) != WEOF &&
512 width != 0 &&
513 !iswspace(wi)) {
514 if (width >= MB_CUR_MAX &&
515 !(flags & SUPPRESS)) {
511 nconv = wcrtomb(mbp, wi, NULL);
516 nconv = wcrtomb(mbp, wi, &mbs);
512 if (nconv == (size_t)-1)
513 goto input_failure;
514 } else {
515 nconv = wcrtomb(mbbuf, wi,
517 if (nconv == (size_t)-1)
518 goto input_failure;
519 } else {
520 nconv = wcrtomb(mbbuf, wi,
516 NULL);
521 &mbs);
517 if (nconv == (size_t)-1)
518 goto input_failure;
519 if (nconv > width)
520 break;
521 if (!(flags & SUPPRESS))
522 memcpy(mbp, mbbuf,
523 nconv);
524 }

--- 351 unchanged lines hidden ---
522 if (nconv == (size_t)-1)
523 goto input_failure;
524 if (nconv > width)
525 break;
526 if (!(flags & SUPPRESS))
527 memcpy(mbp, mbbuf,
528 nconv);
529 }

--- 351 unchanged lines hidden ---