@@ -1976,12 +1976,7 @@ new_kwtuple(const char * const *keywords, int total, int pos)
1976
1976
static int
1977
1977
parser_init (struct _PyArg_Parser * parser )
1978
1978
{
1979
- const char * const * keywords ;
1980
- const char * fname , * custommsg ;
1981
- int len , pos , min , max , owned ;
1982
- PyObject * kwtuple ;
1983
-
1984
- keywords = parser -> keywords ;
1979
+ const char * const * keywords = parser -> keywords ;
1985
1980
assert (keywords != NULL );
1986
1981
1987
1982
if (parser -> initialized ) {
@@ -1994,14 +1989,27 @@ parser_init(struct _PyArg_Parser *parser)
1994
1989
parser -> min == 0 &&
1995
1990
parser -> max == 0 );
1996
1991
1992
+ int len , pos ;
1997
1993
if (scan_keywords (keywords , & len , & pos ) < 0 ) {
1998
1994
return 0 ;
1999
1995
}
2000
- if (parser -> format && parse_format (parser -> format , len , pos ,
2001
- & fname , & custommsg , & min , & max ) < 0 ) {
2002
- return 0 ;
1996
+
1997
+ const char * fname , * custommsg = NULL ;
1998
+ int min = 0 , max = 0 ;
1999
+ if (parser -> format ) {
2000
+ assert (parser -> fname == NULL );
2001
+ if (parse_format (parser -> format , len , pos ,
2002
+ & fname , & custommsg , & min , & max ) < 0 ) {
2003
+ return 0 ;
2004
+ }
2003
2005
}
2004
- kwtuple = parser -> kwtuple ;
2006
+ else {
2007
+ assert (parser -> fname != NULL );
2008
+ fname = parser -> fname ;
2009
+ }
2010
+
2011
+ int owned ;
2012
+ PyObject * kwtuple = parser -> kwtuple ;
2005
2013
if (kwtuple == NULL ) {
2006
2014
kwtuple = new_kwtuple (keywords , len , pos );
2007
2015
if (kwtuple == NULL ) {
0 commit comments