mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03:00
* stdio-common/printf-parse.h: Include string.h and wchar.h.
(__find_specwc): Change into __extern_always_inline function. (__find_specmb): Likewise. Remove ps argument. Use __strchrnul. (__parse_one_specmb): Remove ps argument. * stdio-common/vfprintf.c (vfprintf): Remove mbstate variable. Adjust __find_specmb and __parse_one_specmb callers. * stdio-common/printf-prs.c (parse_printf_format): Likewise. * stdio-common/printf-parsemb.c (__find_specwc, __find_specmb): Removed. (__parse_one_specmb): Remove ps argument, adjust __find_specmb caller.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/* Copyright (C) 1991, 1992, 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1992, 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2005,
|
||||
2007 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -66,17 +66,16 @@ parse_printf_format (fmt, n, argtypes)
|
||||
size_t nargs; /* Number of arguments. */
|
||||
size_t max_ref_arg; /* Highest index used in a positional arg. */
|
||||
struct printf_spec spec;
|
||||
mbstate_t mbstate;
|
||||
const unsigned char *f = (const unsigned char *) fmt;
|
||||
|
||||
nargs = 0;
|
||||
max_ref_arg = 0;
|
||||
|
||||
/* Search for format specifications. */
|
||||
for (f = __find_specmb (f, &mbstate); *f != '\0'; f = spec.next_fmt)
|
||||
for (f = __find_specmb (f); *f != '\0'; f = spec.next_fmt)
|
||||
{
|
||||
/* Parse this spec. */
|
||||
nargs += __parse_one_specmb (f, nargs, &spec, &max_ref_arg, &mbstate);
|
||||
nargs += __parse_one_specmb (f, nargs, &spec, &max_ref_arg);
|
||||
|
||||
/* If the width is determined by an argument this is an int. */
|
||||
if (spec.width_arg != -1 && (size_t) spec.width_arg < n)
|
||||
|
Reference in New Issue
Block a user