From 872761411bd83fddb64863e2ef93c48ab9c97b6f Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 28 Mar 2013 10:20:19 +0100 Subject: [PATCH] patch for latest pkgconfig --- php-5.5.0-build.patch | 2593 +---------------------------------------- php.spec | 2 + 2 files changed, 16 insertions(+), 2579 deletions(-) diff --git a/php-5.5.0-build.patch b/php-5.5.0-build.patch index 27a16da..d652901 100644 --- a/php-5.5.0-build.patch +++ b/php-5.5.0-build.patch @@ -1,2579 +1,14 @@ -diff -ru php-5.5.0beta1/Zend/zend_ini_parser.c php5.5-201303201430/Zend/zend_ini_parser.c ---- php-5.5.0beta1/Zend/zend_ini_parser.c 2013-03-20 15:26:53.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_ini_parser.c 2013-03-20 15:37:18.000000000 +0100 -@@ -1,8 +1,10 @@ --/* A Bison parser, made by GNU Bison 2.6.1. */ - --/* Bison implementation for Yacc-like parsers in C -+/* A Bison parser, made by GNU Bison 2.4.1. */ -+ -+/* Skeleton implementation for Bison's Yacc-like parsers in C - -- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. -+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -+ Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -44,7 +46,7 @@ - #define YYBISON 1 - - /* Bison version. */ --#define YYBISON_VERSION "2.6.1" -+#define YYBISON_VERSION "2.4.1" - - /* Skeleton name. */ - #define YYSKELETON_NAME "yacc.c" -@@ -58,6 +60,8 @@ - /* Pull parsers. */ - #define YYPULL 1 - -+/* Using locations. */ -+#define YYLSP_NEEDED 0 - - /* Substitute the variable and function names. */ - #define yyparse ini_parse -@@ -68,6 +72,7 @@ - #define yydebug ini_debug - #define yynerrs ini_nerrs - -+ - /* Copy the first part of user declarations. */ - - -@@ -319,13 +324,10 @@ - - - --# ifndef YY_NULL --# if defined __cplusplus && 201103L <= __cplusplus --# define YY_NULL nullptr --# else --# define YY_NULL 0 --# endif --# endif -+/* Enabling traces. */ -+#ifndef YYDEBUG -+# define YYDEBUG 0 -+#endif - - /* Enabling verbose error messages. */ - #ifdef YYERROR_VERBOSE -@@ -335,18 +337,12 @@ - # define YYERROR_VERBOSE 0 - #endif - --/* In a future release of Bison, this section will be replaced -- by #include "zend_ini_parser.h". */ --#ifndef INI_ZEND_ZEND_INI_PARSER_H --# define INI_ZEND_ZEND_INI_PARSER_H --/* Enabling traces. */ --#ifndef YYDEBUG --# define YYDEBUG 0 --#endif --#if YYDEBUG --extern int ini_debug; -+/* Enabling the token table. */ -+#ifndef YYTOKEN_TABLE -+# define YYTOKEN_TABLE 0 - #endif - -+ - /* Tokens. */ - #ifndef YYTOKENTYPE - # define YYTOKENTYPE -@@ -387,6 +383,7 @@ - - - -+ - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED - typedef int YYSTYPE; - # define YYSTYPE_IS_TRIVIAL 1 -@@ -395,22 +392,6 @@ - #endif - - --#ifdef YYPARSE_PARAM --#if defined __STDC__ || defined __cplusplus --int ini_parse (void *YYPARSE_PARAM); --#else --int ini_parse (); --#endif --#else /* ! YYPARSE_PARAM */ --#if defined __STDC__ || defined __cplusplus --int ini_parse (void); --#else --int ini_parse (); --#endif --#endif /* ! YYPARSE_PARAM */ -- --#endif /* !INI_ZEND_ZEND_INI_PARSER_H */ -- - /* Copy the second part of user declarations. */ - - -@@ -463,7 +444,7 @@ - #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - - #ifndef YY_ --# if defined YYENABLE_NLS && YYENABLE_NLS -+# if YYENABLE_NLS - # if ENABLE_NLS - # include /* INFRINGES ON USER NAME SPACE */ - # define YY_(msgid) dgettext ("bison-runtime", msgid) -@@ -516,12 +497,11 @@ - # define alloca _alloca - # else - # define YYSTACK_ALLOC alloca --# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - # include /* INFRINGES ON USER NAME SPACE */ -- /* Use EXIT_SUCCESS as a witness for stdlib.h. */ --# ifndef EXIT_SUCCESS --# define EXIT_SUCCESS 0 -+# ifndef _STDLIB_H -+# define _STDLIB_H 1 - # endif - # endif - # endif -@@ -544,24 +524,24 @@ - # ifndef YYSTACK_ALLOC_MAXIMUM - # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM - # endif --# if (defined __cplusplus && ! defined EXIT_SUCCESS \ -+# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) - # include /* INFRINGES ON USER NAME SPACE */ --# ifndef EXIT_SUCCESS --# define EXIT_SUCCESS 0 -+# ifndef _STDLIB_H -+# define _STDLIB_H 1 - # endif - # endif - # ifndef YYMALLOC - # define YYMALLOC malloc --# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ - # endif - # endif - # ifndef YYFREE - # define YYFREE free --# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - void free (void *); /* INFRINGES ON USER NAME SPACE */ - # endif -@@ -590,7 +570,23 @@ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - --# define YYCOPY_NEEDED 1 -+/* Copy COUNT objects from FROM to TO. The source and destination do -+ not overlap. */ -+# ifndef YYCOPY -+# if defined __GNUC__ && 1 < __GNUC__ -+# define YYCOPY(To, From, Count) \ -+ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -+# else -+# define YYCOPY(To, From, Count) \ -+ do \ -+ { \ -+ YYSIZE_T yyi; \ -+ for (yyi = 0; yyi < (Count); yyi++) \ -+ (To)[yyi] = (From)[yyi]; \ -+ } \ -+ while (YYID (0)) -+# endif -+# endif - - /* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of -@@ -610,26 +606,6 @@ - - #endif - --#if defined YYCOPY_NEEDED && YYCOPY_NEEDED --/* Copy COUNT objects from SRC to DST. The source and destination do -- not overlap. */ --# ifndef YYCOPY --# if defined __GNUC__ && 1 < __GNUC__ --# define YYCOPY(Dst, Src, Count) \ -- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) --# else --# define YYCOPY(Dst, Src, Count) \ -- do \ -- { \ -- YYSIZE_T yyi; \ -- for (yyi = 0; yyi < (Count); yyi++) \ -- (Dst)[yyi] = (Src)[yyi]; \ -- } \ -- while (YYID (0)) --# endif --# endif --#endif /* !YYCOPY_NEEDED */ -- - /* YYFINAL -- State number of the termination state. */ - #define YYFINAL 2 - /* YYLAST -- Last index in YYTABLE. */ -@@ -725,7 +701,7 @@ - }; - #endif - --#if YYDEBUG || YYERROR_VERBOSE || 0 -+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ - static const char *const yytname[] = -@@ -739,7 +715,7 @@ - "$accept", "statement_list", "statement", "section_string_or_value", - "string_or_value", "option_offset", "encapsed_list", - "var_string_list_section", "var_string_list", "expr", "cfg_var_ref", -- "constant_literal", "constant_string", YY_NULL -+ "constant_literal", "constant_string", 0 - }; - #endif - -@@ -776,8 +752,8 @@ - 1, 1, 1, 1, 1, 1, 1, 1, 1 - }; - --/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. -- Performed when YYTABLE doesn't specify something else to do. Zero -+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state -+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ - static const yytype_uint8 yydefact[] = - { -@@ -820,7 +796,8 @@ - - /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which -- number is the opposite. If YYTABLE_NINF, syntax error. */ -+ number is the opposite. If zero, do what YYDEFACT says. -+ If YYTABLE_NINF, syntax error. */ - #define YYTABLE_NINF -1 - static const yytype_uint8 yytable[] = - { -@@ -837,12 +814,6 @@ - 0, 0, 4, 5, 0, 47, 0, 68, 0, 6 - }; - --#define yypact_value_is_default(yystate) \ -- ((yystate) == (-36)) -- --#define yytable_value_is_error(yytable_value) \ -- YYID (0) -- - static const yytype_int8 yycheck[] = - { - 3, 25, 37, 38, 4, 5, 6, 7, 8, 33, -@@ -883,33 +854,24 @@ - - /* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. -- Once GCC version 2 has supplanted version 1, this can go. However, -- YYFAIL appears to be in use. Nevertheless, it is formally deprecated -- in Bison 2.4.2's NEWS entry, where a plan to phase it out is -- discussed. */ -+ Once GCC version 2 has supplanted version 1, this can go. */ - - #define YYFAIL goto yyerrlab --#if defined YYFAIL -- /* This is here to suppress warnings from the GCC cpp's -- -Wunused-macros. Normally we don't worry about that warning, but -- some users do, and we want to make it easy for users to remove -- YYFAIL uses, which will produce warnings from Bison 2.5. */ --#endif - - #define YYRECOVERING() (!!yyerrstatus) - --#define YYBACKUP(Token, Value) \ --do \ -- if (yychar == YYEMPTY) \ -- { \ -- yychar = (Token); \ -- yylval = (Value); \ -- YYPOPSTACK (yylen); \ -- yystate = *yyssp; \ -- goto yybackup; \ -- } \ -- else \ -- { \ -+#define YYBACKUP(Token, Value) \ -+do \ -+ if (yychar == YYEMPTY && yylen == 1) \ -+ { \ -+ yychar = (Token); \ -+ yylval = (Value); \ -+ yytoken = YYTRANSLATE (yychar); \ -+ YYPOPSTACK (1); \ -+ goto yybackup; \ -+ } \ -+ else \ -+ { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -@@ -919,38 +881,46 @@ - #define YYTERROR 1 - #define YYERRCODE 256 - -+ - /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -+#define YYRHSLOC(Rhs, K) ((Rhs)[K]) - #ifndef YYLLOC_DEFAULT --# define YYLLOC_DEFAULT(Current, Rhs, N) \ -- do \ -- if (YYID (N)) \ -- { \ -- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ -- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ -- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ -- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ -- } \ -- else \ -- { \ -- (Current).first_line = (Current).last_line = \ -- YYRHSLOC (Rhs, 0).last_line; \ -- (Current).first_column = (Current).last_column = \ -- YYRHSLOC (Rhs, 0).last_column; \ -- } \ -+# define YYLLOC_DEFAULT(Current, Rhs, N) \ -+ do \ -+ if (YYID (N)) \ -+ { \ -+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ -+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ -+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ -+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ -+ } \ -+ else \ -+ { \ -+ (Current).first_line = (Current).last_line = \ -+ YYRHSLOC (Rhs, 0).last_line; \ -+ (Current).first_column = (Current).last_column = \ -+ YYRHSLOC (Rhs, 0).last_column; \ -+ } \ - while (YYID (0)) - #endif - --#define YYRHSLOC(Rhs, K) ((Rhs)[K]) - -- -- --/* This macro is provided for backward compatibility. */ -+/* YY_LOCATION_PRINT -- Print the location on the stream. -+ This macro was not mandated originally: define only if we know -+ we won't break user code: when these are the locations we know. */ - - #ifndef YY_LOCATION_PRINT --# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -+# if YYLTYPE_IS_TRIVIAL -+# define YY_LOCATION_PRINT(File, Loc) \ -+ fprintf (File, "%d.%d-%d.%d", \ -+ (Loc).first_line, (Loc).first_column, \ -+ (Loc).last_line, (Loc).last_column) -+# else -+# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -+# endif - #endif - - -@@ -1005,8 +975,6 @@ - YYSTYPE const * const yyvaluep; - #endif - { -- FILE *yyo = yyoutput; -- YYUSE (yyo); - if (!yyvaluep) - return; - # ifdef YYPRINT -@@ -1144,6 +1112,7 @@ - # define YYMAXDEPTH 10000 - #endif - -+ - - #if YYERROR_VERBOSE - -@@ -1246,142 +1215,115 @@ - } - # endif - --/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message -- about the unexpected token YYTOKEN for the state stack whose top is -- YYSSP. -- -- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is -- not large enough to hold the message. In that case, also set -- *YYMSG_ALLOC to the required number of bytes. Return 2 if the -- required number of bytes is too large to store. */ --static int --yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, -- yytype_int16 *yyssp, int yytoken) -+/* Copy into YYRESULT an error message about the unexpected token -+ YYCHAR while in state YYSTATE. Return the number of bytes copied, -+ including the terminating null byte. If YYRESULT is null, do not -+ copy anything; just return the number of bytes that would be -+ copied. As a special case, return 0 if an ordinary "syntax error" -+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during -+ size calculation. */ -+static YYSIZE_T -+yysyntax_error (char *yyresult, int yystate, int yychar) - { -- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); -- YYSIZE_T yysize = yysize0; -- YYSIZE_T yysize1; -- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; -- /* Internationalized format string. */ -- const char *yyformat = YY_NULL; -- /* Arguments of yyformat. */ -- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; -- /* Number of reported tokens (one for the "unexpected", one per -- "expected"). */ -- int yycount = 0; -- -- /* There are many possibilities here to consider: -- - Assume YYFAIL is not used. It's too flawed to consider. See -- -- for details. YYERROR is fine as it does not invoke this -- function. -- - If this state is a consistent state with a default action, then -- the only way this function was invoked is if the default action -- is an error action. In that case, don't check for expected -- tokens because there are none. -- - The only way there can be no lookahead present (in yychar) is if -- this state is a consistent state with a default action. Thus, -- detecting the absence of a lookahead is sufficient to determine -- that there is no unexpected or expected token to report. In that -- case, just report a simple "syntax error". -- - Don't assume there isn't a lookahead just because this state is a -- consistent state with a default action. There might have been a -- previous inconsistent state, consistent state with a non-default -- action, or user semantic action that manipulated yychar. -- - Of course, the expected token list depends on states to have -- correct lookahead information, and it depends on the parser not -- to perform extra reductions after fetching a lookahead from the -- scanner and before detecting a syntax error. Thus, state merging -- (from LALR or IELR) and default reductions corrupt the expected -- token list. However, the list is correct for canonical LR with -- one exception: it will still contain any token that will not be -- accepted due to an error action in a later state. -- */ -- if (yytoken != YYEMPTY) -- { -- int yyn = yypact[*yyssp]; -- yyarg[yycount++] = yytname[yytoken]; -- if (!yypact_value_is_default (yyn)) -- { -- /* Start YYX at -YYN if negative to avoid negative indexes in -- YYCHECK. In other words, skip the first -YYN actions for -- this state because they are default actions. */ -- int yyxbegin = yyn < 0 ? -yyn : 0; -- /* Stay within bounds of both yycheck and yytname. */ -- int yychecklim = YYLAST - yyn + 1; -- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -- int yyx; -- -- for (yyx = yyxbegin; yyx < yyxend; ++yyx) -- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR -- && !yytable_value_is_error (yytable[yyx + yyn])) -- { -- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) -- { -- yycount = 1; -- yysize = yysize0; -- break; -- } -- yyarg[yycount++] = yytname[yyx]; -- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); -- if (! (yysize <= yysize1 -- && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) -- return 2; -- yysize = yysize1; -- } -- } -- } -+ int yyn = yypact[yystate]; - -- switch (yycount) -+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) -+ return 0; -+ else - { --# define YYCASE_(N, S) \ -- case N: \ -- yyformat = S; \ -- break -- YYCASE_(0, YY_("syntax error")); -- YYCASE_(1, YY_("syntax error, unexpected %s")); -- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); -- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); -- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); -- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); --# undef YYCASE_ -- } -+ int yytype = YYTRANSLATE (yychar); -+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); -+ YYSIZE_T yysize = yysize0; -+ YYSIZE_T yysize1; -+ int yysize_overflow = 0; -+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; -+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; -+ int yyx; -+ -+# if 0 -+ /* This is so xgettext sees the translatable formats that are -+ constructed on the fly. */ -+ YY_("syntax error, unexpected %s"); -+ YY_("syntax error, unexpected %s, expecting %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s or %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -+# endif -+ char *yyfmt; -+ char const *yyf; -+ static char const yyunexpected[] = "syntax error, unexpected %s"; -+ static char const yyexpecting[] = ", expecting %s"; -+ static char const yyor[] = " or %s"; -+ char yyformat[sizeof yyunexpected -+ + sizeof yyexpecting - 1 -+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) -+ * (sizeof yyor - 1))]; -+ char const *yyprefix = yyexpecting; -+ -+ /* Start YYX at -YYN if negative to avoid negative indexes in -+ YYCHECK. */ -+ int yyxbegin = yyn < 0 ? -yyn : 0; -+ -+ /* Stay within bounds of both yycheck and yytname. */ -+ int yychecklim = YYLAST - yyn + 1; -+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -+ int yycount = 1; - -- yysize1 = yysize + yystrlen (yyformat); -- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) -- return 2; -- yysize = yysize1; -+ yyarg[0] = yytname[yytype]; -+ yyfmt = yystpcpy (yyformat, yyunexpected); - -- if (*yymsg_alloc < yysize) -- { -- *yymsg_alloc = 2 * yysize; -- if (! (yysize <= *yymsg_alloc -- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) -- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; -- return 1; -- } -+ for (yyx = yyxbegin; yyx < yyxend; ++yyx) -+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) -+ { -+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) -+ { -+ yycount = 1; -+ yysize = yysize0; -+ yyformat[sizeof yyunexpected - 1] = '\0'; -+ break; -+ } -+ yyarg[yycount++] = yytname[yyx]; -+ yysize1 = yysize + yytnamerr (0, yytname[yyx]); -+ yysize_overflow |= (yysize1 < yysize); -+ yysize = yysize1; -+ yyfmt = yystpcpy (yyfmt, yyprefix); -+ yyprefix = yyor; -+ } - -- /* Avoid sprintf, as that infringes on the user's name space. -- Don't have undefined behavior even if the translation -- produced a string with the wrong number of "%s"s. */ -- { -- char *yyp = *yymsg; -- int yyi = 0; -- while ((*yyp = *yyformat) != '\0') -- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) -- { -- yyp += yytnamerr (yyp, yyarg[yyi++]); -- yyformat += 2; -- } -- else -- { -- yyp++; -- yyformat++; -- } -- } -- return 0; -+ yyf = YY_(yyformat); -+ yysize1 = yysize + yystrlen (yyf); -+ yysize_overflow |= (yysize1 < yysize); -+ yysize = yysize1; -+ -+ if (yysize_overflow) -+ return YYSIZE_MAXIMUM; -+ -+ if (yyresult) -+ { -+ /* Avoid sprintf, as that infringes on the user's name space. -+ Don't have undefined behavior even if the translation -+ produced a string with the wrong number of "%s"s. */ -+ char *yyp = yyresult; -+ int yyi = 0; -+ while ((*yyp = *yyf) != '\0') -+ { -+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) -+ { -+ yyp += yytnamerr (yyp, yyarg[yyi++]); -+ yyf += 2; -+ } -+ else -+ { -+ yyp++; -+ yyf++; -+ } -+ } -+ } -+ return yysize; -+ } - } - #endif /* YYERROR_VERBOSE */ -+ - - /*-----------------------------------------------. - | Release the memory associated to this symbol. | -@@ -1414,12 +1356,28 @@ - } - } - -+/* Prevent warnings from -Wmissing-prototypes. */ -+#ifdef YYPARSE_PARAM -+#if defined __STDC__ || defined __cplusplus -+int yyparse (void *YYPARSE_PARAM); -+#else -+int yyparse (); -+#endif -+#else /* ! YYPARSE_PARAM */ -+#if defined __STDC__ || defined __cplusplus -+int yyparse (void); -+#else -+int yyparse (); -+#endif -+#endif /* ! YYPARSE_PARAM */ -+ -+ - - - --/*----------. --| yyparse. | --`----------*/ -+/*-------------------------. -+| yyparse or yypush_parse. | -+`-------------------------*/ - - #ifdef YYPARSE_PARAM - #if (defined __STDC__ || defined __C99__FUNC__ \ -@@ -1460,7 +1418,7 @@ - `yyss': related to states. - `yyvs': related to semantic values. - -- Refer to the stacks through separate pointers, to allow yyoverflow -+ Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ -@@ -1514,6 +1472,7 @@ - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; -+ - goto yysetstate; - - /*------------------------------------------------------------. -@@ -1605,7 +1564,7 @@ - - /* First try to decide what to do without reference to lookahead token. */ - yyn = yypact[yystate]; -- if (yypact_value_is_default (yyn)) -+ if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ -@@ -1636,8 +1595,8 @@ - yyn = yytable[yyn]; - if (yyn <= 0) - { -- if (yytable_value_is_error (yyn)) -- goto yyerrlab; -+ if (yyn == 0 || yyn == YYTABLE_NINF) -+ goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } -@@ -1935,17 +1894,6 @@ - - default: break; - } -- /* User semantic actions sometimes alter yychar, and that requires -- that yytoken be updated with the new translation. We take the -- approach of translating immediately before every use of yytoken. -- One alternative is translating here after every semantic action, -- but that translation would be missed if the semantic action invokes -- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or -- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an -- incorrect destructor might then be invoked immediately. In the -- case of YYERROR or YYBACKUP, subsequent parser actions might lead -- to an incorrect destructor call or verbose syntax error message -- before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); -@@ -1973,10 +1921,6 @@ - | yyerrlab -- here on detecting error | - `------------------------------------*/ - yyerrlab: -- /* Make sure we have latest lookahead translation. See comments at -- user semantic actions for why this is necessary. */ -- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); -- - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { -@@ -1984,36 +1928,37 @@ - #if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); - #else --# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ -- yyssp, yytoken) - { -- char const *yymsgp = YY_("syntax error"); -- int yysyntax_error_status; -- yysyntax_error_status = YYSYNTAX_ERROR; -- if (yysyntax_error_status == 0) -- yymsgp = yymsg; -- else if (yysyntax_error_status == 1) -- { -- if (yymsg != yymsgbuf) -- YYSTACK_FREE (yymsg); -- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); -- if (!yymsg) -- { -- yymsg = yymsgbuf; -- yymsg_alloc = sizeof yymsgbuf; -- yysyntax_error_status = 2; -- } -- else -- { -- yysyntax_error_status = YYSYNTAX_ERROR; -- yymsgp = yymsg; -- } -- } -- yyerror (yymsgp); -- if (yysyntax_error_status == 2) -- goto yyexhaustedlab; -+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); -+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) -+ { -+ YYSIZE_T yyalloc = 2 * yysize; -+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) -+ yyalloc = YYSTACK_ALLOC_MAXIMUM; -+ if (yymsg != yymsgbuf) -+ YYSTACK_FREE (yymsg); -+ yymsg = (char *) YYSTACK_ALLOC (yyalloc); -+ if (yymsg) -+ yymsg_alloc = yyalloc; -+ else -+ { -+ yymsg = yymsgbuf; -+ yymsg_alloc = sizeof yymsgbuf; -+ } -+ } -+ -+ if (0 < yysize && yysize <= yymsg_alloc) -+ { -+ (void) yysyntax_error (yymsg, yystate, yychar); -+ yyerror (yymsg); -+ } -+ else -+ { -+ yyerror (YY_("syntax error")); -+ if (yysize != 0) -+ goto yyexhaustedlab; -+ } - } --# undef YYSYNTAX_ERROR - #endif - } - -@@ -2072,7 +2017,7 @@ - for (;;) - { - yyn = yypact[yystate]; -- if (!yypact_value_is_default (yyn)) -+ if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) -@@ -2119,7 +2064,7 @@ - yyresult = 1; - goto yyreturn; - --#if !defined yyoverflow || YYERROR_VERBOSE -+#if !defined(yyoverflow) || YYERROR_VERBOSE - /*-------------------------------------------------. - | yyexhaustedlab -- memory exhaustion comes here. | - `-------------------------------------------------*/ -@@ -2131,13 +2076,8 @@ - - yyreturn: - if (yychar != YYEMPTY) -- { -- /* Make sure we have latest lookahead translation. See comments at -- user semantic actions for why this is necessary. */ -- yytoken = YYTRANSLATE (yychar); -- yydestruct ("Cleanup: discarding lookahead", -- yytoken, &yylval); -- } -+ yydestruct ("Cleanup: discarding lookahead", -+ yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); -diff -ru php-5.5.0beta1/Zend/zend_ini_parser.h php5.5-201303201430/Zend/zend_ini_parser.h ---- php-5.5.0beta1/Zend/zend_ini_parser.h 2013-03-20 15:26:53.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_ini_parser.h 2013-03-20 15:37:18.000000000 +0100 -@@ -1,8 +1,10 @@ --/* A Bison parser, made by GNU Bison 2.6.1. */ - --/* Bison interface for Yacc-like parsers in C -+/* A Bison parser, made by GNU Bison 2.4.1. */ -+ -+/* Skeleton interface for Bison's Yacc-like parsers in C - -- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. -+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -+ Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -30,15 +32,6 @@ - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - --#ifndef INI_ZEND_ZEND_INI_PARSER_H --# define INI_ZEND_ZEND_INI_PARSER_H --/* Enabling traces. */ --#ifndef YYDEBUG --# define YYDEBUG 0 --#endif --#if YYDEBUG --extern int ini_debug; --#endif - - /* Tokens. */ - #ifndef YYTOKENTYPE -@@ -80,6 +73,7 @@ - - - -+ - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED - typedef int YYSTYPE; - # define YYSTYPE_IS_TRIVIAL 1 -@@ -88,18 +82,5 @@ - #endif - - --#ifdef YYPARSE_PARAM --#if defined __STDC__ || defined __cplusplus --int ini_parse (void *YYPARSE_PARAM); --#else --int ini_parse (); --#endif --#else /* ! YYPARSE_PARAM */ --#if defined __STDC__ || defined __cplusplus --int ini_parse (void); --#else --int ini_parse (); --#endif --#endif /* ! YYPARSE_PARAM */ - --#endif /* !INI_ZEND_ZEND_INI_PARSER_H */ -+ -diff -ru php-5.5.0beta1/Zend/zend_ini_scanner.c php5.5-201303201430/Zend/zend_ini_scanner.c ---- php-5.5.0beta1/Zend/zend_ini_scanner.c 2013-03-20 15:09:27.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_ini_scanner.c 2013-03-20 15:37:18.000000000 +0100 -@@ -1,5 +1,4 @@ - /* Generated by re2c 0.13.5 */ --#line 1 "Zend/zend_ini_scanner.l" - /* - +----------------------------------------------------------------------+ - | Zend Engine | -@@ -333,7 +332,6 @@ - } - } - --#line 337 "Zend/zend_ini_scanner.c" - { - YYCTYPE yych; - unsigned int yyaccept = 0; -@@ -462,7 +460,6 @@ - yy3: - YYDEBUG(3, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 429 "Zend/zend_ini_scanner.l" - { /* Get option name */ - /* Eat leading whitespace */ - EAT_LEADING_WHITESPACE(); -@@ -472,7 +469,6 @@ - - RETURN_TOKEN(TC_LABEL, yytext, yyleng); - } --#line 476 "Zend/zend_ini_scanner.c" - yy4: - YYDEBUG(4, *YYCURSOR); - yyaccept = 0; -@@ -481,24 +477,20 @@ - yy5: - YYDEBUG(5, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 575 "Zend/zend_ini_scanner.l" - { - /* eat whitespace */ - goto restart; - } --#line 490 "Zend/zend_ini_scanner.c" - yy6: - YYDEBUG(6, *YYCURSOR); - ++YYCURSOR; - yy7: - YYDEBUG(7, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 580 "Zend/zend_ini_scanner.l" - { - SCNG(lineno)++; - return END_OF_LINE; - } --#line 502 "Zend/zend_ini_scanner.c" - yy8: - YYDEBUG(8, *YYCURSOR); - yych = *++YYCURSOR; -@@ -533,11 +525,9 @@ - ++YYCURSOR; - YYDEBUG(11, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 503 "Zend/zend_ini_scanner.l" - { /* Disallow these chars outside option values */ - return yytext[0]; - } --#line 541 "Zend/zend_ini_scanner.c" - yy12: - YYDEBUG(12, *YYCURSOR); - yyaccept = 1; -@@ -554,11 +544,9 @@ - goto yy54; - YYDEBUG(15, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" - { - return 0; - } --#line 562 "Zend/zend_ini_scanner.c" - yy16: - YYDEBUG(16, *YYCURSOR); - ++YYCURSOR; -@@ -567,7 +555,6 @@ - yy17: - YYDEBUG(17, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 439 "Zend/zend_ini_scanner.l" - { /* Start option value */ - if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { - yy_push_state(ST_RAW TSRMLS_CC); -@@ -576,7 +563,6 @@ - } - return '='; - } --#line 580 "Zend/zend_ini_scanner.c" - yy18: - YYDEBUG(18, *YYCURSOR); - yych = *++YYCURSOR; -@@ -632,7 +618,6 @@ - ++YYCURSOR; - YYDEBUG(24, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 358 "Zend/zend_ini_scanner.l" - { /* Section start */ - /* Enter section data lookup state */ - if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { -@@ -642,7 +627,6 @@ - } - return TC_SECTION; - } --#line 646 "Zend/zend_ini_scanner.c" - yy25: - YYDEBUG(25, *YYCURSOR); - ++YYCURSOR; -@@ -672,7 +656,6 @@ - } - YYDEBUG(30, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 383 "Zend/zend_ini_scanner.l" - { /* Start of option with offset */ - /* Eat leading whitespace */ - EAT_LEADING_WHITESPACE(); -@@ -685,7 +668,6 @@ - - RETURN_TOKEN(TC_OFFSET, yytext, yyleng); - } --#line 689 "Zend/zend_ini_scanner.c" - yy31: - YYDEBUG(31, *YYCURSOR); - ++YYCURSOR; -@@ -733,11 +715,9 @@ - yy33: - YYDEBUG(33, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 421 "Zend/zend_ini_scanner.l" - { /* TRUE value (when used outside option value/offset this causes parse error!) */ - RETURN_TOKEN(BOOL_TRUE, "1", 1); - } --#line 741 "Zend/zend_ini_scanner.c" - yy34: - YYDEBUG(34, *YYCURSOR); - ++YYCURSOR; -@@ -807,11 +787,9 @@ - yy41: - YYDEBUG(41, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 425 "Zend/zend_ini_scanner.l" - { /* FALSE value (when used outside option value/offset this causes parse error!)*/ - RETURN_TOKEN(BOOL_FALSE, "", 0); - } --#line 815 "Zend/zend_ini_scanner.c" - yy42: - YYDEBUG(42, *YYCURSOR); - ++YYCURSOR; -@@ -926,13 +904,11 @@ - yy56: - YYDEBUG(56, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" - { /* Comment */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 936 "Zend/zend_ini_scanner.c" - yy57: - YYDEBUG(57, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1012,14 +988,12 @@ - yy65: - YYDEBUG(65, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 591 "Zend/zend_ini_scanner.l" - { /* #Comment */ - zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno)); - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 1023 "Zend/zend_ini_scanner.c" - yy66: - YYDEBUG(66, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1159,7 +1133,6 @@ - yy76: - YYDEBUG(76, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 535 "Zend/zend_ini_scanner.l" - { /* Escape double quoted string contents */ - if (YYCURSOR > YYLIMIT) { - return 0; -@@ -1195,7 +1168,6 @@ - zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); - return TC_QUOTED_STRING; - } --#line 1199 "Zend/zend_ini_scanner.c" - yy77: - YYDEBUG(77, *YYCURSOR); - ++YYCURSOR; -@@ -1204,12 +1176,10 @@ - yy78: - YYDEBUG(78, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 530 "Zend/zend_ini_scanner.l" - { /* Double quoted '"' string ends */ - yy_pop_state(TSRMLS_C); - return '"'; - } --#line 1213 "Zend/zend_ini_scanner.c" - yy79: - YYDEBUG(79, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1218,12 +1188,10 @@ - ++YYCURSOR; - YYDEBUG(81, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" - { /* Variable start */ - yy_push_state(ST_VARNAME TSRMLS_CC); - return TC_DOLLAR_CURLY; - } --#line 1227 "Zend/zend_ini_scanner.c" - yy82: - YYDEBUG(82, *YYCURSOR); - ++YYCURSOR; -@@ -1323,11 +1291,9 @@ - yy87: - YYDEBUG(87, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 521 "Zend/zend_ini_scanner.l" - { /* Get rest as section/offset value */ - RETURN_TOKEN(TC_STRING, yytext, yyleng); - } --#line 1331 "Zend/zend_ini_scanner.c" - yy88: - YYDEBUG(88, *YYCURSOR); - yyaccept = 0; -@@ -1344,23 +1310,19 @@ - yy90: - YYDEBUG(90, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" - { - return 0; - } --#line 1352 "Zend/zend_ini_scanner.c" - yy91: - YYDEBUG(91, *YYCURSOR); - ++YYCURSOR; - yy92: - YYDEBUG(92, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" - { /* Double quoted '"' string start */ - yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); - return '"'; - } --#line 1364 "Zend/zend_ini_scanner.c" - yy93: - YYDEBUG(93, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1422,11 +1384,9 @@ - yy98: - YYDEBUG(98, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" - { /* Get number option value as string */ - RETURN_TOKEN(TC_NUMBER, yytext, yyleng); - } --#line 1430 "Zend/zend_ini_scanner.c" - yy99: - YYDEBUG(99, *YYCURSOR); - yyaccept = 3; -@@ -1452,11 +1412,9 @@ - yy100: - YYDEBUG(100, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" - { /* Get constant option value */ - RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); - } --#line 1460 "Zend/zend_ini_scanner.c" - yy101: - YYDEBUG(101, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1467,12 +1425,10 @@ - yy103: - YYDEBUG(103, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 396 "Zend/zend_ini_scanner.l" - { /* End of section or an option offset */ - BEGIN(INITIAL); - return ']'; - } --#line 1476 "Zend/zend_ini_scanner.c" - yy104: - YYDEBUG(104, *YYCURSOR); - yyaccept = 0; -@@ -1762,7 +1718,6 @@ - ++YYCURSOR; - YYDEBUG(128, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" - { /* Raw string */ - /* Eat leading and trailing single quotes */ - if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -@@ -1771,18 +1726,15 @@ - } - RETURN_TOKEN(TC_RAW, yytext, yyleng); - } --#line 1775 "Zend/zend_ini_scanner.c" - yy129: - YYDEBUG(129, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(130, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" - { /* Variable start */ - yy_push_state(ST_VARNAME TSRMLS_CC); - return TC_DOLLAR_CURLY; - } --#line 1786 "Zend/zend_ini_scanner.c" - yy131: - YYDEBUG(131, *YYCURSOR); - yyaccept = 0; -@@ -1887,19 +1839,16 @@ - ++YYCURSOR; - YYDEBUG(138, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 598 "Zend/zend_ini_scanner.l" - { /* End of option value (if EOF is reached before EOL */ - BEGIN(INITIAL); - return END_OF_LINE; - } --#line 1896 "Zend/zend_ini_scanner.c" - yy139: - YYDEBUG(139, *YYCURSOR); - ++YYCURSOR; - yy140: - YYDEBUG(140, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 448 "Zend/zend_ini_scanner.l" - { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - char *sc = NULL; - while (YYCURSOR < YYLIMIT) { -@@ -1936,7 +1885,6 @@ - } - RETURN_TOKEN(TC_RAW, yytext, yyleng); - } --#line 1940 "Zend/zend_ini_scanner.c" - yy141: - YYDEBUG(141, *YYCURSOR); - yyaccept = 0; -@@ -1961,13 +1909,11 @@ - yy143: - YYDEBUG(143, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 489 "Zend/zend_ini_scanner.l" - { /* End of option value */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 1971 "Zend/zend_ini_scanner.c" - yy144: - YYDEBUG(144, *YYCURSOR); - yych = *++YYCURSOR; -@@ -1995,13 +1941,11 @@ - yy149: - YYDEBUG(149, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" - { /* Comment */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 2005 "Zend/zend_ini_scanner.c" - yy150: - YYDEBUG(150, *YYCURSOR); - yych = *++YYCURSOR; -@@ -2030,12 +1974,10 @@ - } - YYDEBUG(154, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 575 "Zend/zend_ini_scanner.l" - { - /* eat whitespace */ - goto restart; - } --#line 2039 "Zend/zend_ini_scanner.c" - yy155: - YYDEBUG(155, *YYCURSOR); - ++YYCURSOR; -@@ -2095,21 +2037,17 @@ - yy159: - YYDEBUG(159, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 485 "Zend/zend_ini_scanner.l" - { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - RETURN_TOKEN(TC_RAW, yytext, yyleng); - } --#line 2103 "Zend/zend_ini_scanner.c" - yy160: - YYDEBUG(160, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(161, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" - { - return 0; - } --#line 2113 "Zend/zend_ini_scanner.c" - yy162: - YYDEBUG(162, *YYCURSOR); - ++YYCURSOR; -@@ -2118,13 +2056,11 @@ - yy163: - YYDEBUG(163, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 377 "Zend/zend_ini_scanner.l" - { /* End of section */ - BEGIN(INITIAL); - SCNG(lineno)++; - return ']'; - } --#line 2128 "Zend/zend_ini_scanner.c" - yy164: - YYDEBUG(164, *YYCURSOR); - ++YYCURSOR; -@@ -2246,11 +2182,9 @@ - yy173: - YYDEBUG(173, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 521 "Zend/zend_ini_scanner.l" - { /* Get rest as section/offset value */ - RETURN_TOKEN(TC_STRING, yytext, yyleng); - } --#line 2254 "Zend/zend_ini_scanner.c" - yy174: - YYDEBUG(174, *YYCURSOR); - yyaccept = 0; -@@ -2269,23 +2203,19 @@ - yy176: - YYDEBUG(176, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" - { - return 0; - } --#line 2277 "Zend/zend_ini_scanner.c" - yy177: - YYDEBUG(177, *YYCURSOR); - ++YYCURSOR; - yy178: - YYDEBUG(178, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" - { /* Double quoted '"' string start */ - yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); - return '"'; - } --#line 2289 "Zend/zend_ini_scanner.c" - yy179: - YYDEBUG(179, *YYCURSOR); - yych = *++YYCURSOR; -@@ -2347,11 +2277,9 @@ - yy184: - YYDEBUG(184, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" - { /* Get number option value as string */ - RETURN_TOKEN(TC_NUMBER, yytext, yyleng); - } --#line 2355 "Zend/zend_ini_scanner.c" - yy185: - YYDEBUG(185, *YYCURSOR); - yyaccept = 3; -@@ -2377,11 +2305,9 @@ - yy186: - YYDEBUG(186, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" - { /* Get constant option value */ - RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); - } --#line 2385 "Zend/zend_ini_scanner.c" - yy187: - YYDEBUG(187, *YYCURSOR); - yych = *++YYCURSOR; -@@ -2394,13 +2320,11 @@ - yy189: - YYDEBUG(189, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 377 "Zend/zend_ini_scanner.l" - { /* End of section */ - BEGIN(INITIAL); - SCNG(lineno)++; - return ']'; - } --#line 2404 "Zend/zend_ini_scanner.c" - yy190: - YYDEBUG(190, *YYCURSOR); - ++YYCURSOR; -@@ -2712,7 +2636,6 @@ - ++YYCURSOR; - YYDEBUG(218, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" - { /* Raw string */ - /* Eat leading and trailing single quotes */ - if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -@@ -2721,18 +2644,15 @@ - } - RETURN_TOKEN(TC_RAW, yytext, yyleng); - } --#line 2725 "Zend/zend_ini_scanner.c" - yy219: - YYDEBUG(219, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(220, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" - { /* Variable start */ - yy_push_state(ST_VARNAME TSRMLS_CC); - return TC_DOLLAR_CURLY; - } --#line 2736 "Zend/zend_ini_scanner.c" - yy221: - YYDEBUG(221, *YYCURSOR); - yyaccept = 0; -@@ -2912,12 +2832,10 @@ - yy227: - YYDEBUG(227, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 598 "Zend/zend_ini_scanner.l" - { /* End of option value (if EOF is reached before EOL */ - BEGIN(INITIAL); - return END_OF_LINE; - } --#line 2921 "Zend/zend_ini_scanner.c" - yy228: - YYDEBUG(228, *YYCURSOR); - yyaccept = 0; -@@ -2926,11 +2844,9 @@ - yy229: - YYDEBUG(229, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 517 "Zend/zend_ini_scanner.l" - { /* Get everything else as option/offset value */ - RETURN_TOKEN(TC_STRING, yytext, yyleng); - } --#line 2934 "Zend/zend_ini_scanner.c" - yy230: - YYDEBUG(230, *YYCURSOR); - yyaccept = 1; -@@ -2939,24 +2855,20 @@ - yy231: - YYDEBUG(231, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 571 "Zend/zend_ini_scanner.l" - { - RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); - } --#line 2947 "Zend/zend_ini_scanner.c" - yy232: - YYDEBUG(232, *YYCURSOR); - ++YYCURSOR; - yy233: - YYDEBUG(233, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 489 "Zend/zend_ini_scanner.l" - { /* End of option value */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 2960 "Zend/zend_ini_scanner.c" - yy234: - YYDEBUG(234, *YYCURSOR); - yych = *++YYCURSOR; -@@ -2970,23 +2882,19 @@ - yy236: - YYDEBUG(236, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 507 "Zend/zend_ini_scanner.l" - { /* Boolean operators */ - return yytext[0]; - } --#line 2978 "Zend/zend_ini_scanner.c" - yy237: - YYDEBUG(237, *YYCURSOR); - ++YYCURSOR; - yy238: - YYDEBUG(238, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" - { /* Double quoted '"' string start */ - yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); - return '"'; - } --#line 2990 "Zend/zend_ini_scanner.c" - yy239: - YYDEBUG(239, *YYCURSOR); - yych = *++YYCURSOR; -@@ -3062,11 +2970,9 @@ - yy244: - YYDEBUG(244, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" - { /* Get number option value as string */ - RETURN_TOKEN(TC_NUMBER, yytext, yyleng); - } --#line 3070 "Zend/zend_ini_scanner.c" - yy245: - YYDEBUG(245, *YYCURSOR); - yyaccept = 2; -@@ -3077,13 +2983,11 @@ - ++YYCURSOR; - YYDEBUG(247, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 511 "Zend/zend_ini_scanner.l" - { /* Make = used in option value to trigger error */ - yyless(0); - BEGIN(INITIAL); - return END_OF_LINE; - } --#line 3087 "Zend/zend_ini_scanner.c" - yy248: - YYDEBUG(248, *YYCURSOR); - yyaccept = 4; -@@ -3119,11 +3023,9 @@ - yy249: - YYDEBUG(249, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" - { /* Get constant option value */ - RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); - } --#line 3127 "Zend/zend_ini_scanner.c" - yy250: - YYDEBUG(250, *YYCURSOR); - yyaccept = 4; -@@ -3615,11 +3517,9 @@ - yy266: - YYDEBUG(266, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 421 "Zend/zend_ini_scanner.l" - { /* TRUE value (when used outside option value/offset this causes parse error!) */ - RETURN_TOKEN(BOOL_TRUE, "1", 1); - } --#line 3623 "Zend/zend_ini_scanner.c" - yy267: - YYDEBUG(267, *YYCURSOR); - ++YYCURSOR; -@@ -3819,11 +3719,9 @@ - yy273: - YYDEBUG(273, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 425 "Zend/zend_ini_scanner.l" - { /* FALSE value (when used outside option value/offset this causes parse error!)*/ - RETURN_TOKEN(BOOL_FALSE, "", 0); - } --#line 3827 "Zend/zend_ini_scanner.c" - yy274: - YYDEBUG(274, *YYCURSOR); - ++YYCURSOR; -@@ -4199,13 +4097,11 @@ - yy286: - YYDEBUG(286, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" - { /* Comment */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; - } --#line 4209 "Zend/zend_ini_scanner.c" - yy287: - YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; -@@ -4417,7 +4313,6 @@ - ++YYCURSOR; - YYDEBUG(299, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" - { /* Raw string */ - /* Eat leading and trailing single quotes */ - if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -@@ -4426,18 +4321,15 @@ - } - RETURN_TOKEN(TC_RAW, yytext, yyleng); - } --#line 4430 "Zend/zend_ini_scanner.c" - yy300: - YYDEBUG(300, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(301, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" - { /* Variable start */ - yy_push_state(ST_VARNAME TSRMLS_CC); - return TC_DOLLAR_CURLY; - } --#line 4441 "Zend/zend_ini_scanner.c" - yy302: - YYDEBUG(302, *YYCURSOR); - ++YYCURSOR; -@@ -4566,7 +4458,6 @@ - yy312: - YYDEBUG(312, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 406 "Zend/zend_ini_scanner.l" - { /* Variable name */ - /* Eat leading whitespace */ - EAT_LEADING_WHITESPACE(); -@@ -4576,28 +4467,23 @@ - - RETURN_TOKEN(TC_VARNAME, yytext, yyleng); - } --#line 4580 "Zend/zend_ini_scanner.c" - yy313: - YYDEBUG(313, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(314, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" - { - return 0; - } --#line 4590 "Zend/zend_ini_scanner.c" - yy315: - YYDEBUG(315, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(316, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); --#line 416 "Zend/zend_ini_scanner.l" - { /* Variable end */ - yy_pop_state(TSRMLS_C); - return '}'; - } --#line 4601 "Zend/zend_ini_scanner.c" - yy317: - YYDEBUG(317, *YYCURSOR); - ++YYCURSOR; -@@ -4611,6 +4497,5 @@ - goto yy312; - } - } --#line 607 "Zend/zend_ini_scanner.l" - - } -diff -ru php-5.5.0beta1/Zend/zend_ini_scanner_defs.h php5.5-201303201430/Zend/zend_ini_scanner_defs.h ---- php-5.5.0beta1/Zend/zend_ini_scanner_defs.h 2013-03-20 15:09:27.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_ini_scanner_defs.h 2013-03-20 15:37:18.000000000 +0100 -@@ -1,5 +1,4 @@ - /* Generated by re2c 0.13.5 */ --#line 3 "Zend/zend_ini_scanner_defs.h" - - enum YYCONDTYPE { - yycINITIAL, -diff -ru php-5.5.0beta1/Zend/zend_language_parser.c php5.5-201303201430/Zend/zend_language_parser.c ---- php-5.5.0beta1/Zend/zend_language_parser.c 2013-03-20 15:26:53.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_language_parser.c 2013-03-20 15:37:18.000000000 +0100 -@@ -1,8 +1,10 @@ --/* A Bison parser, made by GNU Bison 2.6.1. */ - --/* Bison implementation for Yacc-like parsers in C -+/* A Bison parser, made by GNU Bison 2.4.1. */ -+ -+/* Skeleton implementation for Bison's Yacc-like parsers in C - -- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. -+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -+ Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -44,7 +46,7 @@ - #define YYBISON 1 - - /* Bison version. */ --#define YYBISON_VERSION "2.6.1" -+#define YYBISON_VERSION "2.4.1" - - /* Skeleton name. */ - #define YYSKELETON_NAME "yacc.c" -@@ -58,6 +60,8 @@ - /* Pull parsers. */ - #define YYPULL 1 - -+/* Using locations. */ -+#define YYLSP_NEEDED 0 - - /* Substitute the variable and function names. */ - #define yyparse zendparse -@@ -68,6 +72,7 @@ - #define yydebug zenddebug - #define yynerrs zendnerrs - -+ - /* Copy the first part of user declarations. */ - - -@@ -122,13 +127,10 @@ - - - --# ifndef YY_NULL --# if defined __cplusplus && 201103L <= __cplusplus --# define YY_NULL nullptr --# else --# define YY_NULL 0 --# endif --# endif -+/* Enabling traces. */ -+#ifndef YYDEBUG -+# define YYDEBUG 0 -+#endif - - /* Enabling verbose error messages. */ - #ifdef YYERROR_VERBOSE -@@ -138,18 +140,12 @@ - # define YYERROR_VERBOSE 0 - #endif - --/* In a future release of Bison, this section will be replaced -- by #include "zend_language_parser.h". */ --#ifndef ZEND_ZEND_ZEND_LANGUAGE_PARSER_H --# define ZEND_ZEND_ZEND_LANGUAGE_PARSER_H --/* Enabling traces. */ --#ifndef YYDEBUG --# define YYDEBUG 0 --#endif --#if YYDEBUG --extern int zenddebug; -+/* Enabling the token table. */ -+#ifndef YYTOKEN_TABLE -+# define YYTOKEN_TABLE 0 - #endif - -+ - /* Tokens. */ - #ifndef YYTOKENTYPE - # define YYTOKENTYPE -@@ -422,6 +418,7 @@ - - - -+ - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED - typedef int YYSTYPE; - # define YYSTYPE_IS_TRIVIAL 1 -@@ -430,22 +427,6 @@ - #endif - - --#ifdef YYPARSE_PARAM --#if defined __STDC__ || defined __cplusplus --int zendparse (void *YYPARSE_PARAM); --#else --int zendparse (); --#endif --#else /* ! YYPARSE_PARAM */ --#if defined __STDC__ || defined __cplusplus --int zendparse (void); --#else --int zendparse (); --#endif --#endif /* ! YYPARSE_PARAM */ -- --#endif /* !ZEND_ZEND_ZEND_LANGUAGE_PARSER_H */ -- - /* Copy the second part of user declarations. */ - - -@@ -498,7 +479,7 @@ - #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - - #ifndef YY_ --# if defined YYENABLE_NLS && YYENABLE_NLS -+# if YYENABLE_NLS - # if ENABLE_NLS - # include /* INFRINGES ON USER NAME SPACE */ - # define YY_(msgid) dgettext ("bison-runtime", msgid) -@@ -551,12 +532,11 @@ - # define alloca _alloca - # else - # define YYSTACK_ALLOC alloca --# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - # include /* INFRINGES ON USER NAME SPACE */ -- /* Use EXIT_SUCCESS as a witness for stdlib.h. */ --# ifndef EXIT_SUCCESS --# define EXIT_SUCCESS 0 -+# ifndef _STDLIB_H -+# define _STDLIB_H 1 - # endif - # endif - # endif -@@ -579,24 +559,24 @@ - # ifndef YYSTACK_ALLOC_MAXIMUM - # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM - # endif --# if (defined __cplusplus && ! defined EXIT_SUCCESS \ -+# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) - # include /* INFRINGES ON USER NAME SPACE */ --# ifndef EXIT_SUCCESS --# define EXIT_SUCCESS 0 -+# ifndef _STDLIB_H -+# define _STDLIB_H 1 - # endif - # endif - # ifndef YYMALLOC - # define YYMALLOC malloc --# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ - # endif - # endif - # ifndef YYFREE - # define YYFREE free --# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ -+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) - void free (void *); /* INFRINGES ON USER NAME SPACE */ - # endif -@@ -625,7 +605,23 @@ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - --# define YYCOPY_NEEDED 1 -+/* Copy COUNT objects from FROM to TO. The source and destination do -+ not overlap. */ -+# ifndef YYCOPY -+# if defined __GNUC__ && 1 < __GNUC__ -+# define YYCOPY(To, From, Count) \ -+ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -+# else -+# define YYCOPY(To, From, Count) \ -+ do \ -+ { \ -+ YYSIZE_T yyi; \ -+ for (yyi = 0; yyi < (Count); yyi++) \ -+ (To)[yyi] = (From)[yyi]; \ -+ } \ -+ while (YYID (0)) -+# endif -+# endif - - /* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of -@@ -645,26 +641,6 @@ - - #endif - --#if defined YYCOPY_NEEDED && YYCOPY_NEEDED --/* Copy COUNT objects from SRC to DST. The source and destination do -- not overlap. */ --# ifndef YYCOPY --# if defined __GNUC__ && 1 < __GNUC__ --# define YYCOPY(Dst, Src, Count) \ -- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) --# else --# define YYCOPY(Dst, Src, Count) \ -- do \ -- { \ -- YYSIZE_T yyi; \ -- for (yyi = 0; yyi < (Count); yyi++) \ -- (Dst)[yyi] = (Src)[yyi]; \ -- } \ -- while (YYID (0)) --# endif --# endif --#endif /* !YYCOPY_NEEDED */ -- - /* YYFINAL -- State number of the termination state. */ - #define YYFINAL 3 - /* YYLAST -- Last index in YYTABLE. */ -@@ -1032,7 +1008,7 @@ - }; - #endif - --#if YYDEBUG || YYERROR_VERBOSE || 0 -+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ - static const char *const yytname[] = -@@ -1157,7 +1133,7 @@ - "non_empty_array_pair_list", "encaps_list", "encaps_var", "$@75", - "encaps_var_offset", "internal_functions_in_yacc", "isset_variables", - "$@76", "isset_variable", "class_constant", "static_class_name_scalar", -- "class_name_scalar", YY_NULL -+ "class_name_scalar", 0 - }; - #endif - -@@ -1305,8 +1281,8 @@ - 1, 1, 3, 3, 3, 3 - }; - --/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. -- Performed when YYTABLE doesn't specify something else to do. Zero -+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state -+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ - static const yytype_uint16 yydefact[] = - { -@@ -1577,7 +1553,8 @@ - - /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which -- number is the opposite. If YYTABLE_NINF, syntax error. */ -+ number is the opposite. If zero, do what YYDEFACT says. -+ If YYTABLE_NINF, syntax error. */ - #define YYTABLE_NINF -542 - static const yytype_int16 yytable[] = - { -@@ -2096,12 +2073,6 @@ - 272, 273, 274, 275, 276, 0, 277 - }; - --#define yypact_value_is_default(yystate) \ -- ((yystate) == (-770)) -- --#define yytable_value_is_error(yytable_value) \ -- ((yytable_value) == (-542)) -- - static const yytype_int16 yycheck[] = - { - 24, 25, 4, 126, 28, 24, 25, 4, 11, 28, -@@ -2738,33 +2709,24 @@ - - /* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. -- Once GCC version 2 has supplanted version 1, this can go. However, -- YYFAIL appears to be in use. Nevertheless, it is formally deprecated -- in Bison 2.4.2's NEWS entry, where a plan to phase it out is -- discussed. */ -+ Once GCC version 2 has supplanted version 1, this can go. */ - - #define YYFAIL goto yyerrlab --#if defined YYFAIL -- /* This is here to suppress warnings from the GCC cpp's -- -Wunused-macros. Normally we don't worry about that warning, but -- some users do, and we want to make it easy for users to remove -- YYFAIL uses, which will produce warnings from Bison 2.5. */ --#endif - - #define YYRECOVERING() (!!yyerrstatus) - --#define YYBACKUP(Token, Value) \ --do \ -- if (yychar == YYEMPTY) \ -- { \ -- yychar = (Token); \ -- yylval = (Value); \ -- YYPOPSTACK (yylen); \ -- yystate = *yyssp; \ -- goto yybackup; \ -- } \ -- else \ -- { \ -+#define YYBACKUP(Token, Value) \ -+do \ -+ if (yychar == YYEMPTY && yylen == 1) \ -+ { \ -+ yychar = (Token); \ -+ yylval = (Value); \ -+ yytoken = YYTRANSLATE (yychar); \ -+ YYPOPSTACK (1); \ -+ goto yybackup; \ -+ } \ -+ else \ -+ { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -@@ -2774,38 +2736,46 @@ - #define YYTERROR 1 - #define YYERRCODE 256 - -+ - /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -+#define YYRHSLOC(Rhs, K) ((Rhs)[K]) - #ifndef YYLLOC_DEFAULT --# define YYLLOC_DEFAULT(Current, Rhs, N) \ -- do \ -- if (YYID (N)) \ -- { \ -- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ -- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ -- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ -- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ -- } \ -- else \ -- { \ -- (Current).first_line = (Current).last_line = \ -- YYRHSLOC (Rhs, 0).last_line; \ -- (Current).first_column = (Current).last_column = \ -- YYRHSLOC (Rhs, 0).last_column; \ -- } \ -+# define YYLLOC_DEFAULT(Current, Rhs, N) \ -+ do \ -+ if (YYID (N)) \ -+ { \ -+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ -+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ -+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ -+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ -+ } \ -+ else \ -+ { \ -+ (Current).first_line = (Current).last_line = \ -+ YYRHSLOC (Rhs, 0).last_line; \ -+ (Current).first_column = (Current).last_column = \ -+ YYRHSLOC (Rhs, 0).last_column; \ -+ } \ - while (YYID (0)) - #endif - --#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -- -- - --/* This macro is provided for backward compatibility. */ -+/* YY_LOCATION_PRINT -- Print the location on the stream. -+ This macro was not mandated originally: define only if we know -+ we won't break user code: when these are the locations we know. */ - - #ifndef YY_LOCATION_PRINT --# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -+# if YYLTYPE_IS_TRIVIAL -+# define YY_LOCATION_PRINT(File, Loc) \ -+ fprintf (File, "%d.%d-%d.%d", \ -+ (Loc).first_line, (Loc).first_column, \ -+ (Loc).last_line, (Loc).last_column) -+# else -+# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -+# endif - #endif - - -@@ -2860,8 +2830,6 @@ - YYSTYPE const * const yyvaluep; - #endif - { -- FILE *yyo = yyoutput; -- YYUSE (yyo); - if (!yyvaluep) - return; - # ifdef YYPRINT -@@ -2999,6 +2967,7 @@ - # define YYMAXDEPTH 10000 - #endif - -+ - - #if YYERROR_VERBOSE - -@@ -3101,142 +3070,115 @@ - } - # endif - --/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message -- about the unexpected token YYTOKEN for the state stack whose top is -- YYSSP. -- -- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is -- not large enough to hold the message. In that case, also set -- *YYMSG_ALLOC to the required number of bytes. Return 2 if the -- required number of bytes is too large to store. */ --static int --yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, -- yytype_int16 *yyssp, int yytoken) -+/* Copy into YYRESULT an error message about the unexpected token -+ YYCHAR while in state YYSTATE. Return the number of bytes copied, -+ including the terminating null byte. If YYRESULT is null, do not -+ copy anything; just return the number of bytes that would be -+ copied. As a special case, return 0 if an ordinary "syntax error" -+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during -+ size calculation. */ -+static YYSIZE_T -+yysyntax_error (char *yyresult, int yystate, int yychar) - { -- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); -- YYSIZE_T yysize = yysize0; -- YYSIZE_T yysize1; -- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; -- /* Internationalized format string. */ -- const char *yyformat = YY_NULL; -- /* Arguments of yyformat. */ -- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; -- /* Number of reported tokens (one for the "unexpected", one per -- "expected"). */ -- int yycount = 0; -- -- /* There are many possibilities here to consider: -- - Assume YYFAIL is not used. It's too flawed to consider. See -- -- for details. YYERROR is fine as it does not invoke this -- function. -- - If this state is a consistent state with a default action, then -- the only way this function was invoked is if the default action -- is an error action. In that case, don't check for expected -- tokens because there are none. -- - The only way there can be no lookahead present (in yychar) is if -- this state is a consistent state with a default action. Thus, -- detecting the absence of a lookahead is sufficient to determine -- that there is no unexpected or expected token to report. In that -- case, just report a simple "syntax error". -- - Don't assume there isn't a lookahead just because this state is a -- consistent state with a default action. There might have been a -- previous inconsistent state, consistent state with a non-default -- action, or user semantic action that manipulated yychar. -- - Of course, the expected token list depends on states to have -- correct lookahead information, and it depends on the parser not -- to perform extra reductions after fetching a lookahead from the -- scanner and before detecting a syntax error. Thus, state merging -- (from LALR or IELR) and default reductions corrupt the expected -- token list. However, the list is correct for canonical LR with -- one exception: it will still contain any token that will not be -- accepted due to an error action in a later state. -- */ -- if (yytoken != YYEMPTY) -- { -- int yyn = yypact[*yyssp]; -- yyarg[yycount++] = yytname[yytoken]; -- if (!yypact_value_is_default (yyn)) -- { -- /* Start YYX at -YYN if negative to avoid negative indexes in -- YYCHECK. In other words, skip the first -YYN actions for -- this state because they are default actions. */ -- int yyxbegin = yyn < 0 ? -yyn : 0; -- /* Stay within bounds of both yycheck and yytname. */ -- int yychecklim = YYLAST - yyn + 1; -- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -- int yyx; -- -- for (yyx = yyxbegin; yyx < yyxend; ++yyx) -- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR -- && !yytable_value_is_error (yytable[yyx + yyn])) -- { -- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) -- { -- yycount = 1; -- yysize = yysize0; -- break; -- } -- yyarg[yycount++] = yytname[yyx]; -- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); -- if (! (yysize <= yysize1 -- && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) -- return 2; -- yysize = yysize1; -- } -- } -- } -+ int yyn = yypact[yystate]; - -- switch (yycount) -+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) -+ return 0; -+ else - { --# define YYCASE_(N, S) \ -- case N: \ -- yyformat = S; \ -- break -- YYCASE_(0, YY_("syntax error")); -- YYCASE_(1, YY_("syntax error, unexpected %s")); -- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); -- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); -- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); -- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); --# undef YYCASE_ -- } -+ int yytype = YYTRANSLATE (yychar); -+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); -+ YYSIZE_T yysize = yysize0; -+ YYSIZE_T yysize1; -+ int yysize_overflow = 0; -+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; -+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; -+ int yyx; -+ -+# if 0 -+ /* This is so xgettext sees the translatable formats that are -+ constructed on the fly. */ -+ YY_("syntax error, unexpected %s"); -+ YY_("syntax error, unexpected %s, expecting %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s or %s"); -+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -+# endif -+ char *yyfmt; -+ char const *yyf; -+ static char const yyunexpected[] = "syntax error, unexpected %s"; -+ static char const yyexpecting[] = ", expecting %s"; -+ static char const yyor[] = " or %s"; -+ char yyformat[sizeof yyunexpected -+ + sizeof yyexpecting - 1 -+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) -+ * (sizeof yyor - 1))]; -+ char const *yyprefix = yyexpecting; -+ -+ /* Start YYX at -YYN if negative to avoid negative indexes in -+ YYCHECK. */ -+ int yyxbegin = yyn < 0 ? -yyn : 0; -+ -+ /* Stay within bounds of both yycheck and yytname. */ -+ int yychecklim = YYLAST - yyn + 1; -+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -+ int yycount = 1; - -- yysize1 = yysize + yystrlen (yyformat); -- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) -- return 2; -- yysize = yysize1; -+ yyarg[0] = yytname[yytype]; -+ yyfmt = yystpcpy (yyformat, yyunexpected); - -- if (*yymsg_alloc < yysize) -- { -- *yymsg_alloc = 2 * yysize; -- if (! (yysize <= *yymsg_alloc -- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) -- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; -- return 1; -- } -+ for (yyx = yyxbegin; yyx < yyxend; ++yyx) -+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) -+ { -+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) -+ { -+ yycount = 1; -+ yysize = yysize0; -+ yyformat[sizeof yyunexpected - 1] = '\0'; -+ break; -+ } -+ yyarg[yycount++] = yytname[yyx]; -+ yysize1 = yysize + yytnamerr (0, yytname[yyx]); -+ yysize_overflow |= (yysize1 < yysize); -+ yysize = yysize1; -+ yyfmt = yystpcpy (yyfmt, yyprefix); -+ yyprefix = yyor; -+ } - -- /* Avoid sprintf, as that infringes on the user's name space. -- Don't have undefined behavior even if the translation -- produced a string with the wrong number of "%s"s. */ -- { -- char *yyp = *yymsg; -- int yyi = 0; -- while ((*yyp = *yyformat) != '\0') -- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) -- { -- yyp += yytnamerr (yyp, yyarg[yyi++]); -- yyformat += 2; -- } -- else -- { -- yyp++; -- yyformat++; -- } -- } -- return 0; -+ yyf = YY_(yyformat); -+ yysize1 = yysize + yystrlen (yyf); -+ yysize_overflow |= (yysize1 < yysize); -+ yysize = yysize1; -+ -+ if (yysize_overflow) -+ return YYSIZE_MAXIMUM; -+ -+ if (yyresult) -+ { -+ /* Avoid sprintf, as that infringes on the user's name space. -+ Don't have undefined behavior even if the translation -+ produced a string with the wrong number of "%s"s. */ -+ char *yyp = yyresult; -+ int yyi = 0; -+ while ((*yyp = *yyf) != '\0') -+ { -+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) -+ { -+ yyp += yytnamerr (yyp, yyarg[yyi++]); -+ yyf += 2; -+ } -+ else -+ { -+ yyp++; -+ yyf++; -+ } -+ } -+ } -+ return yysize; -+ } - } - #endif /* YYERROR_VERBOSE */ -+ - - /*-----------------------------------------------. - | Release the memory associated to this symbol. | -@@ -3269,12 +3211,28 @@ - } - } - -+/* Prevent warnings from -Wmissing-prototypes. */ -+#ifdef YYPARSE_PARAM -+#if defined __STDC__ || defined __cplusplus -+int yyparse (void *YYPARSE_PARAM); -+#else -+int yyparse (); -+#endif -+#else /* ! YYPARSE_PARAM */ -+#if defined __STDC__ || defined __cplusplus -+int yyparse (void); -+#else -+int yyparse (); -+#endif -+#endif /* ! YYPARSE_PARAM */ -+ -+ - - - --/*----------. --| yyparse. | --`----------*/ -+/*-------------------------. -+| yyparse or yypush_parse. | -+`-------------------------*/ - - #ifdef YYPARSE_PARAM - #if (defined __STDC__ || defined __C99__FUNC__ \ -@@ -3315,7 +3273,7 @@ - `yyss': related to states. - `yyvs': related to semantic values. - -- Refer to the stacks through separate pointers, to allow yyoverflow -+ Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ -@@ -3369,6 +3327,7 @@ - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; -+ - goto yysetstate; - - /*------------------------------------------------------------. -@@ -3460,7 +3419,7 @@ - - /* First try to decide what to do without reference to lookahead token. */ - yyn = yypact[yystate]; -- if (yypact_value_is_default (yyn)) -+ if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ -@@ -3491,8 +3450,8 @@ - yyn = yytable[yyn]; - if (yyn <= 0) - { -- if (yytable_value_is_error (yyn)) -- goto yyerrlab; -+ if (yyn == 0 || yyn == YYTABLE_NINF) -+ goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } -@@ -5976,17 +5935,6 @@ - - default: break; - } -- /* User semantic actions sometimes alter yychar, and that requires -- that yytoken be updated with the new translation. We take the -- approach of translating immediately before every use of yytoken. -- One alternative is translating here after every semantic action, -- but that translation would be missed if the semantic action invokes -- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or -- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an -- incorrect destructor might then be invoked immediately. In the -- case of YYERROR or YYBACKUP, subsequent parser actions might lead -- to an incorrect destructor call or verbose syntax error message -- before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); -@@ -6014,10 +5962,6 @@ - | yyerrlab -- here on detecting error | - `------------------------------------*/ - yyerrlab: -- /* Make sure we have latest lookahead translation. See comments at -- user semantic actions for why this is necessary. */ -- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); -- - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { -@@ -6025,36 +5969,37 @@ - #if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); - #else --# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ -- yyssp, yytoken) - { -- char const *yymsgp = YY_("syntax error"); -- int yysyntax_error_status; -- yysyntax_error_status = YYSYNTAX_ERROR; -- if (yysyntax_error_status == 0) -- yymsgp = yymsg; -- else if (yysyntax_error_status == 1) -- { -- if (yymsg != yymsgbuf) -- YYSTACK_FREE (yymsg); -- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); -- if (!yymsg) -- { -- yymsg = yymsgbuf; -- yymsg_alloc = sizeof yymsgbuf; -- yysyntax_error_status = 2; -- } -- else -- { -- yysyntax_error_status = YYSYNTAX_ERROR; -- yymsgp = yymsg; -- } -- } -- yyerror (yymsgp); -- if (yysyntax_error_status == 2) -- goto yyexhaustedlab; -+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); -+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) -+ { -+ YYSIZE_T yyalloc = 2 * yysize; -+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) -+ yyalloc = YYSTACK_ALLOC_MAXIMUM; -+ if (yymsg != yymsgbuf) -+ YYSTACK_FREE (yymsg); -+ yymsg = (char *) YYSTACK_ALLOC (yyalloc); -+ if (yymsg) -+ yymsg_alloc = yyalloc; -+ else -+ { -+ yymsg = yymsgbuf; -+ yymsg_alloc = sizeof yymsgbuf; -+ } -+ } -+ -+ if (0 < yysize && yysize <= yymsg_alloc) -+ { -+ (void) yysyntax_error (yymsg, yystate, yychar); -+ yyerror (yymsg); -+ } -+ else -+ { -+ yyerror (YY_("syntax error")); -+ if (yysize != 0) -+ goto yyexhaustedlab; -+ } - } --# undef YYSYNTAX_ERROR - #endif - } - -@@ -6113,7 +6058,7 @@ - for (;;) - { - yyn = yypact[yystate]; -- if (!yypact_value_is_default (yyn)) -+ if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) -@@ -6160,7 +6105,7 @@ - yyresult = 1; - goto yyreturn; - --#if !defined yyoverflow || YYERROR_VERBOSE -+#if !defined(yyoverflow) || YYERROR_VERBOSE - /*-------------------------------------------------. - | yyexhaustedlab -- memory exhaustion comes here. | - `-------------------------------------------------*/ -@@ -6172,13 +6117,8 @@ - - yyreturn: - if (yychar != YYEMPTY) -- { -- /* Make sure we have latest lookahead translation. See comments at -- user semantic actions for why this is necessary. */ -- yytoken = YYTRANSLATE (yychar); -- yydestruct ("Cleanup: discarding lookahead", -- yytoken, &yylval); -- } -+ yydestruct ("Cleanup: discarding lookahead", -+ yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); -diff -ru php-5.5.0beta1/Zend/zend_language_parser.h php5.5-201303201430/Zend/zend_language_parser.h ---- php-5.5.0beta1/Zend/zend_language_parser.h 2013-03-20 15:26:53.000000000 +0100 -+++ php5.5-201303201430/Zend/zend_language_parser.h 2013-03-20 15:37:18.000000000 +0100 -@@ -1,8 +1,10 @@ --/* A Bison parser, made by GNU Bison 2.6.1. */ - --/* Bison interface for Yacc-like parsers in C -+/* A Bison parser, made by GNU Bison 2.4.1. */ -+ -+/* Skeleton interface for Bison's Yacc-like parsers in C - -- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. -+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -+ Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -30,15 +32,6 @@ - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - --#ifndef ZEND_ZEND_ZEND_LANGUAGE_PARSER_H --# define ZEND_ZEND_ZEND_LANGUAGE_PARSER_H --/* Enabling traces. */ --#ifndef YYDEBUG --# define YYDEBUG 0 --#endif --#if YYDEBUG --extern int zenddebug; --#endif - - /* Tokens. */ - #ifndef YYTOKENTYPE -@@ -312,6 +305,7 @@ - - - -+ - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED - typedef int YYSTYPE; - # define YYSTYPE_IS_TRIVIAL 1 -@@ -320,18 +314,5 @@ - #endif - - --#ifdef YYPARSE_PARAM --#if defined __STDC__ || defined __cplusplus --int zendparse (void *YYPARSE_PARAM); --#else --int zendparse (); --#endif --#else /* ! YYPARSE_PARAM */ --#if defined __STDC__ || defined __cplusplus --int zendparse (void); --#else --int zendparse (); --#endif --#endif /* ! YYPARSE_PARAM */ - --#endif /* !ZEND_ZEND_ZEND_LANGUAGE_PARSER_H */ -+ +--- php-5.5.0beta2/acinclude.m4.old 2013-03-28 10:00:02.755797575 +0100 ++++ php-5.5.0beta2/acinclude.m4 2013-03-28 10:00:57.000941535 +0100 +@@ -2342,8 +2342,10 @@ + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + fi + +- if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then ++ if test -n "$OPENSSL_LIBS"; then + PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) ++ fi ++ if test -n "$OPENSSL_INCS"; then + PHP_EVAL_INCLINE($OPENSSL_INCS) + fi + fi diff --git a/php.spec b/php.spec index cbcdd66..00241c5 100644 --- a/php.spec +++ b/php.spec @@ -93,6 +93,7 @@ Patch5: php-5.2.0-includedir.patch Patch6: php-5.2.4-embed.patch Patch7: php-5.3.0-recode.patch Patch8: php-5.4.7-libdb.patch +Patch9: php-5.5.0-build.patch # Fixes for extension modules # https://bugs.php.net/63171 no odbc call during timeout @@ -706,6 +707,7 @@ support for using the enchant library to PHP. %patch6 -p1 -b .embed %patch7 -p1 -b .recode %patch8 -p1 -b .libdb +%patch9 -p1 -b .build %patch21 -p1 -b .odbctimer