summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bison.simple705
-rw-r--r--control_structures.h46
-rw-r--r--ext/apache/apache.c14
-rw-r--r--ext/bcmath/bcmath.c22
-rw-r--r--ext/bcmath/number.c57
-rw-r--r--ext/ereg/ereg.c5
-rw-r--r--ext/hyperwave/hg_comm.c2
-rw-r--r--ext/hyperwave/hw.c73
-rw-r--r--ext/odbc/odbc.c6
-rw-r--r--ext/standard/base64.c2
-rw-r--r--ext/standard/basic_functions.c36
-rw-r--r--ext/standard/browscap.c23
-rw-r--r--ext/standard/datetime.c2
-rw-r--r--ext/standard/dir.c30
-rw-r--r--ext/standard/dl.c7
-rw-r--r--ext/standard/dns.c8
-rw-r--r--ext/standard/exec.c9
-rw-r--r--ext/standard/file.c99
-rw-r--r--ext/standard/filestat.c84
-rw-r--r--ext/standard/formatted_print.c33
-rw-r--r--ext/standard/fsock.c5
-rw-r--r--ext/standard/head.c108
-rw-r--r--ext/standard/html.c1
-rw-r--r--ext/standard/image.c2
-rw-r--r--ext/standard/info.c20
-rw-r--r--ext/standard/mail.c1
-rw-r--r--ext/standard/math.c10
-rw-r--r--ext/standard/md5.c1
-rw-r--r--ext/standard/microtime.c1
-rw-r--r--ext/standard/mime.c2
-rw-r--r--ext/standard/pack.c3
-rw-r--r--ext/standard/pageinfo.c34
-rw-r--r--ext/standard/post.c37
-rw-r--r--ext/standard/reg.c5
-rw-r--r--ext/standard/string.c62
-rw-r--r--ext/standard/uniqid.c2
-rw-r--r--ext/standard/url.c5
-rw-r--r--fhttpd.c2
-rw-r--r--main.h2
-rw-r--r--main/configuration-parser.y16
-rw-r--r--main/fopen_wrappers.c24
-rw-r--r--main/main.c696
-rw-r--r--main/php.h33
-rw-r--r--main/safe_mode.c15
-rw-r--r--mod_php3.c23
-rw-r--r--output.c4
-rw-r--r--php3_threads.c79
-rw-r--r--php3_threads.h33
-rw-r--r--php4.dsp4
-rw-r--r--php4ts.dsp4
-rw-r--r--request_info.c124
-rw-r--r--win32/pwd.c12
-rw-r--r--win32/sendmail.c55
-rw-r--r--win32/time.c15
-rw-r--r--win32/wsyslog.c19
55 files changed, 501 insertions, 2221 deletions
diff --git a/bison.simple b/bison.simple
deleted file mode 100644
index 4e275822ec..0000000000
--- a/bison.simple
+++ /dev/null
@@ -1,705 +0,0 @@
-/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "bison.simple"
-
-/* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 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
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-#ifndef alloca
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
-#include <alloca.h>
-#else /* not sparc */
-#if defined (MSDOS) && !defined (__TURBOC__)
-#include <malloc.h>
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-#include <malloc.h>
- #pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern "C" {
-void *alloca (unsigned int);
-};
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
-#endif /* __hpux */
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc. */
-#endif /* not GNU C. */
-#endif /* alloca not defined. */
-
-/* This is the parser code that is written into each bison parser
- when the %semantic_parser declaration is not specified in the grammar.
- It was written by Richard Stallman by simplifying the hairy parser
- used when %semantic_parser is specified. */
-
-/* Note: there must be only one dollar sign in this file.
- It is replaced by the list of actions, each action
- as one case of the switch. */
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY -2
-#define YYEOF 0
-#define YYACCEPT return(0)
-#define YYABORT return(1)
-#define YYERROR goto yyerrlab1
-/* 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. */
-#define YYFAIL goto yyerrlab
-#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(token, value) \
-do \
- if (yychar == YYEMPTY && yylen == 1) \
- { yychar = (token), yylval = (value); \
- yychar1 = YYTRANSLATE (yychar); \
- YYPOPSTACK; \
- goto yybackup; \
- } \
- else \
- { yyerror ("syntax error: cannot back up"); YYERROR; } \
-while (0)
-
-#define YYTERROR 1
-#define YYERRCODE 256
-
-#ifndef YYPURE
-#define YYLEX yylex()
-#endif
-
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-#ifdef PHP3_THREAD_SAFE /* PHP 3 Specific useage */
-#define YYLEX yylex(&yylval,php3_globals,php_gbl)
-#else
-#define YYLEX yylex(&yylval)
-#endif /* not using tls */
-#endif
-#endif /* not YYLSP_NEEDED */
-#endif
-
-/* If nonreentrant, generate the variables here */
-
-#ifndef YYPURE
-
-int yychar; /* the lookahead symbol */
-YYSTYPE yylval; /* the semantic value of the */
- /* lookahead symbol */
-
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc; /* location data for the lookahead */
- /* symbol */
-#endif
-
-int yynerrs; /* number of parse errors so far */
-#endif /* not YYPURE */
-
-#if YYDEBUG != 0
-int yydebug; /* nonzero means print parse trace */
-/* Since this is uninitialized, it does not stop multiple parsers
- from coexisting. */
-#endif
-
-/* YYINITDEPTH indicates the initial size of the parser's stacks */
-
-#ifndef YYINITDEPTH
-#define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH is the maximum size the stacks can grow to
- (effective only if the built-in stack extension method is used). */
-
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
-#endif
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-/* int yyparse (void); */
-#endif
-
-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
-#else /* not GNU C or C++ */
-#ifndef __cplusplus
-
-/* This is the most reliable way to avoid incompatibilities
- in available built-in functions on various systems. */
-static void
-__yy_memcpy (to, from, count)
- char *to;
- char *from;
- int count;
-{
- register char *f = from;
- register char *t = to;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#else /* __cplusplus */
-
-/* This is the most reliable way to avoid incompatibilities
- in available built-in functions on various systems. */
-static void
-__yy_memcpy (char *to, char *from, int count)
-{
- register char *f = from;
- register char *t = to;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 196 "bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-#ifndef TLS_VARS
-#define TLS_VARS
-#endif
-#ifndef YY_TLS_VARS
-#define YY_TLS_VARS
-#endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
- YYPARSE_PARAM_DECL
-{
- register int yystate;
- register int yyn;
- register short *yyssp;
- register YYSTYPE *yyvsp;
- int yyerrstatus; /* number of tokens to shift before error messages enabled */
- int yychar1 = 0; /* lookahead token as an internal (translated) token number */
-
- short yyssa[YYINITDEPTH]; /* the state stack */
- YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
-
- short *yyss = yyssa; /* refer to the stacks thru separate pointers */
- YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
-
-#ifdef YYLSP_NEEDED
- YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
-
-#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
-#else
-#define YYPOPSTACK (yyvsp--, yyssp--)
-#endif
-
- int yystacksize = YYINITDEPTH;
-
-#ifdef YYPURE
- int yychar;
- YYSTYPE yylval;
- int yynerrs;
-#ifdef YYLSP_NEEDED
- YYLTYPE yylloc;
-#endif
-#endif
-
- YYSTYPE yyval; /* the variable used to return */
- /* semantic values from the action */
- /* routines */
-
- int yylen;
- YY_TLS_VARS;
- TLS_VARS;
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Starting parse\n");
-#endif
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
-
- yyssp = yyss - 1;
- yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
- yylsp = yyls;
-#endif
-
-/* Push a new state, which is found in yystate . */
-/* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks. */
-yynewstate:
-
- *++yyssp = yystate;
-
- if (yyssp >= yyss + yystacksize - 1)
- {
- /* Give user a chance to reallocate the stack */
- /* Use copies of these so that the &'s don't force the real ones into memory. */
- YYSTYPE *yyvs1 = yyvs;
- short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
- YYLTYPE *yyls1 = yyls;
-#endif
-
- /* Get the current used size of the three stacks, in elements. */
- int size = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- /* Each stack pointer address is followed by the size of
- the data in use in that stack, in bytes. */
-#ifdef YYLSP_NEEDED
- /* This used to be a conditional around just the two extra args,
- but that might be undefined if yyoverflow is a macro. */
- yyoverflow("parser stack overflow",
- &yyss1, size * sizeof (*yyssp),
- &yyvs1, size * sizeof (*yyvsp),
- &yyls1, size * sizeof (*yylsp),
- &yystacksize);
-#else
- yyoverflow("parser stack overflow",
- &yyss1, size * sizeof (*yyssp),
- &yyvs1, size * sizeof (*yyvsp),
- &yystacksize);
-#endif
-
- yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
- yyls = yyls1;
-#endif
-#else /* no yyoverflow */
- /* Extend the stack our own way. */
- if (yystacksize >= YYMAXDEPTH)
- {
- yyerror("parser stack overflow");
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
- yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
- yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
-#endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + size - 1;
- yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
- yylsp = yyls + size - 1;
-#endif
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
-
- if (yyssp >= yyss + yystacksize - 1)
- YYABORT;
- }
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Entering state %d\n", yystate);
-#endif
-
- goto yybackup;
- yybackup:
-
-/* Do appropriate processing given the current state. */
-/* Read a lookahead token if we need one and don't already have one. */
-/* yyresume: */
-
- /* First try to decide what to do without reference to lookahead token. */
-
- yyn = yypact[yystate];
- if (yyn == YYFLAG)
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* yychar is either YYEMPTY or YYEOF
- or a valid token in external form. */
-
- if (yychar == YYEMPTY)
- {
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Reading a token: ");
-#endif
- yychar = YYLEX;
- }
-
- /* Convert token to internal form (in yychar1) for indexing tables with */
-
- if (yychar <= 0) /* This means end of input. */
- {
- yychar1 = 0;
- yychar = YYEOF; /* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Now at end of input.\n");
-#endif
- }
- else
- {
- yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
- if (yydebug)
- {
- fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
- /* Give the individual parser a way to print the precise meaning
- of a token, for further debugging info. */
-#ifdef YYPRINT
- YYPRINT (stderr, yychar, yylval);
-#endif
- fprintf (stderr, ")\n");
- }
-#endif
- }
-
- yyn += yychar1;
- if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
- goto yydefault;
-
- yyn = yytable[yyn];
-
- /* yyn is what to do for this token type in this state.
- Negative => reduce, -yyn is rule number.
- Positive => shift, yyn is new state.
- New state is final state => don't bother to shift,
- just return success.
- 0, or most negative number => error. */
-
- if (yyn < 0)
- {
- if (yyn == YYFLAG)
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
- else if (yyn == 0)
- goto yyerrlab;
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- /* Shift the lookahead token. */
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
-
- /* Discard the token being shifted unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
-
- *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
- *++yylsp = yylloc;
-#endif
-
- /* count tokens shifted since error; after three, turn off error status. */
- if (yyerrstatus) yyerrstatus--;
-
- yystate = yyn;
- goto yynewstate;
-
-/* Do the default action for the current state. */
-yydefault:
-
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
-
-/* Do a reduction. yyn is the number of a rule to reduce with. */
-yyreduce:
- yylen = yyr2[yyn];
- if (yylen > 0)
- yyval = yyvsp[1-yylen]; /* implement default value of the action */
-
-#if YYDEBUG != 0
- if (yydebug)
- {
- int i;
-
- fprintf (stderr, "Reducing via rule %d (line %d), ",
- yyn, yyrline[yyn]);
-
- /* Print the symbols being reduced, and their result. */
- for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
- fprintf (stderr, "%s ", yytname[yyrhs[i]]);
- fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
- }
-#endif
-
-$ /* the action file gets copied in in place of this dollarsign */
-#line 498 "bison.simple"
-
- yyvsp -= yylen;
- yyssp -= yylen;
-#ifdef YYLSP_NEEDED
- yylsp -= yylen;
-#endif
-
-#if YYDEBUG != 0
- if (yydebug)
- {
- short *ssp1 = yyss - 1;
- fprintf (stderr, "state stack now");
- while (ssp1 != yyssp)
- fprintf (stderr, " %d", *++ssp1);
- fprintf (stderr, "\n");
- }
-#endif
-
- *++yyvsp = yyval;
-
-#ifdef YYLSP_NEEDED
- yylsp++;
- if (yylen == 0)
- {
- yylsp->first_line = yylloc.first_line;
- yylsp->first_column = yylloc.first_column;
- yylsp->last_line = (yylsp-1)->last_line;
- yylsp->last_column = (yylsp-1)->last_column;
- yylsp->text = 0;
- }
- else
- {
- yylsp->last_line = (yylsp+yylen-1)->last_line;
- yylsp->last_column = (yylsp+yylen-1)->last_column;
- }
-#endif
-
- /* Now "shift" the result of the reduction.
- Determine what state that goes to,
- based on the state we popped back to
- and the rule number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
- if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTBASE];
-
- goto yynewstate;
-
-yyerrlab: /* here on detecting error */
-
- if (! yyerrstatus)
- /* If not already recovering from an error, report this error. */
- {
- ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
- yyn = yypact[yystate];
-
- if (yyn > YYFLAG && yyn < YYLAST)
- {
- int size = 0;
- char *msg;
- int x, count;
-
- count = 0;
- /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
- for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof(yytname) / sizeof(char *)); x++)
- if (yycheck[x + yyn] == x)
- size += strlen(yytname[x]) + 15, count++;
- msg = (char *) malloc(size + 15);
- if (msg != 0)
- {
- strcpy(msg, "parse error");
-
- if (count < 5)
- {
- count = 0;
- for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof(yytname) / sizeof(char *)); x++)
- if (yycheck[x + yyn] == x)
- {
- strcat(msg, count == 0 ? ", expecting `" : " or `");
- strcat(msg, yytname[x]);
- strcat(msg, "'");
- count++;
- }
- }
- yyerror(msg);
- free(msg);
- }
- else
- yyerror ("parse error; also virtual memory exceeded");
- }
- else
-#endif /* YYERROR_VERBOSE */
- yyerror("parse error");
- }
-
- goto yyerrlab1;
-yyerrlab1: /* here on error raised explicitly by an action */
-
- if (yyerrstatus == 3)
- {
- /* if just tried and failed to reuse lookahead token after an error, discard it. */
-
- /* return failure if at end of input */
- if (yychar == YYEOF)
- YYABORT;
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
-
- yychar = YYEMPTY;
- }
-
- /* Else will try to reuse lookahead token
- after shifting the error token. */
-
- yyerrstatus = 3; /* Each real token shifted decrements this */
-
- goto yyerrhandle;
-
-yyerrdefault: /* current state does not do anything special for the error token. */
-
-#if 0
- /* This is wrong; only states that explicitly want error tokens
- should shift them. */
- yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
- if (yyn) goto yydefault;
-#endif
-
-yyerrpop: /* pop the current state because it cannot handle the error token */
-
- if (yyssp == yyss) YYABORT;
- yyvsp--;
- yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
- yylsp--;
-#endif
-
-#if YYDEBUG != 0
- if (yydebug)
- {
- short *ssp1 = yyss - 1;
- fprintf (stderr, "Error: state stack now");
- while (ssp1 != yyssp)
- fprintf (stderr, " %d", *++ssp1);
- fprintf (stderr, "\n");
- }
-#endif
-
-yyerrhandle:
-
- yyn = yypact[yystate];
- if (yyn == YYFLAG)
- goto yyerrdefault;
-
- yyn += YYTERROR;
- if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
- goto yyerrdefault;
-
- yyn = yytable[yyn];
- if (yyn < 0)
- {
- if (yyn == YYFLAG)
- goto yyerrpop;
- yyn = -yyn;
- goto yyreduce;
- }
- else if (yyn == 0)
- goto yyerrpop;
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
-#if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Shifting error token, ");
-#endif
-
- *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
- *++yylsp = yylloc;
-#endif
-
- yystate = yyn;
- goto yynewstate;
-}
diff --git a/control_structures.h b/control_structures.h
deleted file mode 100644
index cde2a9efa5..0000000000
--- a/control_structures.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP HTML Embedded Scripting Language Version 3.0 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
- +----------------------------------------------------------------------+
- | This program is free software; you can redistribute it and/or modify |
- | it under the terms of one of the following licenses: |
- | |
- | A) the GNU General Public License as published by the Free Software |
- | Foundation; either version 2 of the License, or (at your option) |
- | any later version. |
- | |
- | B) the PHP License as published by the PHP Development Team and |
- | included in the distribution in the file: LICENSE |
- | |
- | This program is distributed in the hope that it will be useful, |
- | but WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
- | GNU General Public License for more details. |
- | |
- | You should have received a copy of both licenses referred to here. |
- | If you did not, or have any questions about PHP licensing, please |
- | contact core@php.net. |
- +----------------------------------------------------------------------+
- | Authors: Andi Gutmans <andi@zend.com> |
- | Zeev Suraski <zeev@zend.com> |
- +----------------------------------------------------------------------+
- */
-
-
-/* $Id$ */
-
-
-#ifndef _CONTROL_STRUCTURES_H
-#define _CONTROL_STRUCTURES_H
-
-#ifndef THREAD_SAFE
-extern unsigned int param_index;
-extern char *class_name;
-extern HashTable *class_symbol_table;
-#endif
-
-extern inline void start_display_source(int start_in_php INLINE_TLS);
-
-#endif
diff --git a/ext/apache/apache.c b/ext/apache/apache.c
index e3129a36f7..c2fdeed19a 100644
--- a/ext/apache/apache.c
+++ b/ext/apache/apache.c
@@ -130,7 +130,6 @@ void php3_apache_note(INTERNAL_FUNCTION_PARAMETERS)
pval *arg_name,*arg_val;
char *note_val;
int arg_count = ARG_COUNT(ht);
-TLS_VARS;
if (arg_count<1 || arg_count>2 ||
getParameters(ht,arg_count,&arg_name,&arg_val) == FAILURE ) {
@@ -138,11 +137,11 @@ TLS_VARS;
}
convert_to_string(arg_name);
- note_val = (char *) table_get(GLOBAL(php3_rqst)->notes,arg_name->value.str.val);
+ note_val = (char *) table_get(php3_rqst->notes,arg_name->value.str.val);
if (arg_count == 2) {
convert_to_string(arg_val);
- table_set(GLOBAL(php3_rqst)->notes,arg_name->value.str.val,arg_val->value.str.val);
+ table_set(php3_rqst->notes,arg_name->value.str.val,arg_val->value.str.val);
}
if (note_val) {
@@ -159,7 +158,7 @@ void php3_info_apache(void) {
char name[64];
char *p;
#endif
- server_rec *serv = GLOBAL(php3_rqst)->server;
+ server_rec *serv = php3_rqst->server;
extern char server_root[MAX_STRING_LEN];
extern uid_t user_id;
extern char *user_name;
@@ -215,14 +214,13 @@ void php3_virtual(INTERNAL_FUNCTION_PARAMETERS)
{
pval *filename;
request_rec *rr = NULL;
-TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht,1,&filename) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_string(filename);
- if (!(rr = sub_req_lookup_uri (filename->value.str.val, GLOBAL(php3_rqst)))) {
+ if (!(rr = sub_req_lookup_uri (filename->value.str.val, php3_rqst))) {
php3_error(E_WARNING, "Unable to include '%s' - URI lookup failed", filename->value.str.val);
if (rr) destroy_sub_req (rr);
RETURN_FALSE;
@@ -292,7 +290,7 @@ void php3_apache_lookup_uri(INTERNAL_FUNCTION_PARAMETERS)
}
convert_to_string(filename);
- if(!(rr = sub_req_lookup_uri(filename->value.str.val, GLOBAL(php3_rqst)))) {
+ if(!(rr = sub_req_lookup_uri(filename->value.str.val, php3_rqst))) {
php3_error(E_WARNING, "URI lookup failed", filename->value.str.val);
RETURN_FALSE;
}
@@ -364,7 +362,7 @@ void php3_apache_exec_uri(INTERNAL_FUNCTION_PARAMETERS) {
}
convert_to_string(filename);
- if(!(rr = ap_sub_req_lookup_uri(filename->value.str.val, GLOBAL(php3_rqst)))) {
+ if(!(rr = ap_sub_req_lookup_uri(filename->value.str.val, php3_rqst))) {
php3_error(E_WARNING, "URI lookup failed", filename->value.str.val);
RETURN_FALSE;
}
diff --git a/ext/bcmath/bcmath.c b/ext/bcmath/bcmath.c
index d6e42715ee..58073bb679 100644
--- a/ext/bcmath/bcmath.c
+++ b/ext/bcmath/bcmath.c
@@ -61,11 +61,9 @@ static long bc_precision;
int php3_rinit_bcmath(INIT_FUNC_ARGS)
{
- TLS_VARS;
-
init_numbers();
- if (cfg_get_long("bcmath.scale",&GLOBAL(bc_precision))==FAILURE) {
- GLOBAL(bc_precision)=0;
+ if (cfg_get_long("bcmath.scale",&bc_precision)==FAILURE) {
+ bc_precision=0;
}
return SUCCESS;
}
@@ -82,7 +80,7 @@ void php3_bcmath_add(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right,*scale_param;
bc_num first, second, result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -125,7 +123,7 @@ void php3_bcmath_sub(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right,*scale_param;
bc_num first, second, result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -168,7 +166,7 @@ void php3_bcmath_mul(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right,*scale_param;
bc_num first, second, result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -211,7 +209,7 @@ void php3_bcmath_div(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right,*scale_param;
bc_num first, second, result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -301,7 +299,7 @@ void php3_bcmath_pow(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right,*scale_param;
bc_num first, second, result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -344,7 +342,7 @@ void php3_bcmath_sqrt(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left,*scale_param;
bc_num result;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 1:
@@ -384,7 +382,7 @@ void php3_bcmath_comp(INTERNAL_FUNCTION_PARAMETERS)
{
pval *left, *right, *scale_param;
bc_num first, second;
- int scale=GLOBAL(bc_precision);
+ int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
@@ -431,7 +429,7 @@ void php3_bcmath_set_scale(INTERNAL_FUNCTION_PARAMETERS)
}
convert_to_long(new_scale);
- GLOBAL(bc_precision) = new_scale->value.lval;
+ bc_precision = new_scale->value.lval;
RETURN_TRUE;
}
/* }}} */
diff --git a/ext/bcmath/number.c b/ext/bcmath/number.c
index fbacf5bc67..cd8f27ab45 100644
--- a/ext/bcmath/number.c
+++ b/ext/bcmath/number.c
@@ -116,16 +116,13 @@ new_num (length, scale)
/* Intitialize the number package! */
-void
-init_numbers (void)
+void init_numbers (void)
{
- TLS_VARS;
-
- GLOBAL(_zero_) = new_num (1,0);
- GLOBAL(_one_) = new_num (1,0);
- GLOBAL(_one_)->n_value[0] = 1;
- GLOBAL(_two_) = new_num (1,0);
- GLOBAL(_two_)->n_value[0] = 2;
+ _zero_ = new_num (1,0);
+ _one_ = new_num (1,0);
+ _one_->n_value[0] = 1;
+ _two_ = new_num (1,0);
+ _two_->n_value[0] = 2;
}
/* Intitialize the number package! */
@@ -133,11 +130,9 @@ init_numbers (void)
void
destruct_numbers ()
{
- TLS_VARS;
-
- free_num(&GLOBAL(_zero_));
- free_num(&GLOBAL(_one_));
- free_num(&GLOBAL(_two_));
+ free_num(&_zero_);
+ free_num(&_one_);
+ free_num(&_two_);
}
/* Make a copy of a number! Just increments the reference count! */
@@ -157,8 +152,7 @@ void
init_num (num)
bc_num *num;
{
- TLS_VARS;
- *num = copy_num (GLOBAL(_zero_));
+ *num = copy_num (_zero_);
}
@@ -376,10 +370,9 @@ is_zero (num)
{
int count;
char *nptr;
- TLS_VARS;
/* Quick check. */
- if (num == GLOBAL(_zero_)) return TRUE;
+ if (num == _zero_) return TRUE;
/* Initialize */
count = num->n_len + num->n_scale;
@@ -1083,7 +1076,6 @@ bc_raisemod (base, expo, mod, result, scale)
{
bc_num power, exponent, parity, temp;
int rscale;
- TLS_VARS;
/* Check for correct numbers. */
if (is_zero(mod)) return -1;
@@ -1092,14 +1084,14 @@ bc_raisemod (base, expo, mod, result, scale)
/* Set initial values. */
power = copy_num (base);
exponent = copy_num (expo);
- temp = copy_num (GLOBAL(_one_));
+ temp = copy_num (_one_);
init_num (&parity);
/* Check the exponent for scale digits. */
if (exponent->n_scale != 0)
{
rt_warn ("non-zero scale in exponent");
- bc_divide (exponent, GLOBAL(_one_), &exponent, 0); /*truncate */
+ bc_divide (exponent, _one_, &exponent, 0); /*truncate */
}
/* Check the modulus for scale digits. */
@@ -1110,7 +1102,7 @@ bc_raisemod (base, expo, mod, result, scale)
rscale = MAX(scale, base->n_scale);
while ( !is_zero(exponent) )
{
- (void) bc_divmod (exponent, GLOBAL(_two_), &exponent, &parity, 0);
+ (void) bc_divmod (exponent, _two_, &exponent, &parity, 0);
if ( !is_zero(parity) )
{
bc_multiply (temp, power, &temp, rscale);
@@ -1143,7 +1135,6 @@ bc_raise (num1, num2, result, scale)
long exponent;
int rscale;
char neg;
- TLS_VARS;
/* Check the exponent for scale digits and convert to a long. */
if (num2->n_scale != 0)
@@ -1156,7 +1147,7 @@ bc_raise (num1, num2, result, scale)
if (exponent == 0)
{
free_num (result);
- *result = copy_num (GLOBAL(_one_));
+ *result = copy_num (_one_);
return;
}
@@ -1196,7 +1187,7 @@ bc_raise (num1, num2, result, scale)
/* Assign the value. */
if (neg)
{
- bc_divide (GLOBAL(_one_), temp, result, rscale);
+ bc_divide (_one_, temp, result, rscale);
free_num (&temp);
}
else
@@ -1241,10 +1232,9 @@ bc_sqrt (num, scale)
int rscale, cmp_res, done;
int cscale;
bc_num guess, guess1, point5, diff;
- TLS_VARS;
/* Initial checks. */
- cmp_res = bc_compare (*num, GLOBAL(_zero_));
+ cmp_res = bc_compare (*num, _zero_);
if (cmp_res < 0)
return 0; /* error */
else
@@ -1252,15 +1242,15 @@ bc_sqrt (num, scale)
if (cmp_res == 0)
{
free_num (num);
- *num = copy_num (GLOBAL(_zero_));
+ *num = copy_num (_zero_);
return 1;
}
}
- cmp_res = bc_compare (*num, GLOBAL(_one_));
+ cmp_res = bc_compare (*num, _one_);
if (cmp_res == 0)
{
free_num (num);
- *num = copy_num (GLOBAL(_one_));
+ *num = copy_num (_one_);
return 1;
}
@@ -1276,7 +1266,7 @@ bc_sqrt (num, scale)
/* Calculate the initial guess. */
if (cmp_res < 0)
/* The number is between 0 and 1. Guess should start at 1. */
- guess = copy_num (GLOBAL(_one_));
+ guess = copy_num (_one_);
else
{
/* The number is greater than 1. Guess should start at 10^(exp/2). */
@@ -1309,7 +1299,7 @@ bc_sqrt (num, scale)
/* Assign the number and clean up. */
free_num (num);
- bc_divide (guess,GLOBAL(_one_),num,rscale);
+ bc_divide (guess,_one_,num,rscale);
free_num (&guess);
free_num (&guess1);
free_num (&point5);
@@ -1534,7 +1524,6 @@ str2num (num, str, scale)
int digits, strscale;
char *ptr, *nptr;
char zero_int;
- TLS_VARS;
/* Prepare num. */
free_num (num);
@@ -1551,7 +1540,7 @@ str2num (num, str, scale)
while (isdigit(*ptr)) ptr++, strscale++; /* digits */
if ((*ptr != '\0') || (digits+strscale == 0))
{
- *num = copy_num (GLOBAL(_zero_));
+ *num = copy_num (_zero_);
return;
}
diff --git a/ext/ereg/ereg.c b/ext/ereg/ereg.c
index 4f37bf133a..9b7bbd1899 100644
--- a/ext/ereg/ereg.c
+++ b/ext/ereg/ereg.c
@@ -108,7 +108,6 @@ static void _php3_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
off_t start, end;
char *buf = NULL;
char *string = NULL;
- TLS_VARS;
if (icase)
copts |= REG_ICASE;
@@ -176,7 +175,7 @@ static void _php3_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
RETURN_FALSE;
}
- pval_destructor(array _INLINE_TLS); /* start with clean array */
+ pval_destructor(array); /* start with clean array */
array_init(array);
for (i = 0; i < NS; i++) {
@@ -366,7 +365,6 @@ static void _php3_eregreplace(INTERNAL_FUNCTION_PARAMETERS, int icase)
char *string;
char *replace;
char *ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg_pattern, &arg_replace, &arg_string) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -442,7 +440,6 @@ void php3_split(INTERNAL_FUNCTION_PARAMETERS)
regmatch_t subs[1];
char *strp, *endp;
int err, size, count;
- TLS_VARS;
switch (ARG_COUNT(ht)) {
case 2:
diff --git a/ext/hyperwave/hg_comm.c b/ext/hyperwave/hg_comm.c
index 171ea9e778..3e22b7f393 100644
--- a/ext/hyperwave/hg_comm.c
+++ b/ext/hyperwave/hg_comm.c
@@ -461,7 +461,7 @@ char *fnInsAnchorsIntoText(char *text, DLIST *pAnchorList, char **bodytag) {
#if APACHE
{
int j;
- array_header *arr = table_elts(GLOBAL(php3_rqst)->subprocess_env);
+ array_header *arr = table_elts(php3_rqst->subprocess_env);
table_entry *elts = (table_entry *)arr->elts;
for (j=0; j < arr->nelts; j++) {
diff --git a/ext/hyperwave/hw.c b/ext/hyperwave/hw.c
index ddb64c4762..2ae3c26b74 100644
--- a/ext/hyperwave/hw.c
+++ b/ext/hyperwave/hw.c
@@ -426,7 +426,6 @@ static void php3_hw_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
hw_connection *ptr;
int do_swap;
int version = 0;
- TLS_VARS;
argc = ARG_COUNT(ht);
switch(argc) {
@@ -694,7 +693,6 @@ void php3_hw_close(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
int id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -719,7 +717,6 @@ void php3_hw_info(INTERNAL_FUNCTION_PARAMETERS)
int id, type;
hw_connection *ptr;
char *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -752,7 +749,6 @@ void php3_hw_error(INTERNAL_FUNCTION_PARAMETERS)
pval *arg1;
int id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -776,7 +772,6 @@ void php3_hw_errormsg(INTERNAL_FUNCTION_PARAMETERS)
int id, type;
hw_connection *ptr;
char errstr[100];
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -861,7 +856,6 @@ void php3_hw_errormsg(INTERNAL_FUNCTION_PARAMETERS)
Returns object id of root collection */
void php3_hw_root(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
return_value->value.lval = 0;
return_value->type = IS_LONG;
}
@@ -871,7 +865,6 @@ char *php3_hw_command(INTERNAL_FUNCTION_PARAMETERS, int comm) {
pval *arg1;
int link, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
return NULL;
@@ -1024,7 +1017,6 @@ void php3_hw_dummy(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2, *arg3;
int link, id, type, msgid;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1060,7 +1052,6 @@ void php3_hw_getobject(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1097,7 +1088,6 @@ void php3_hw_insertobject(INTERNAL_FUNCTION_PARAMETERS) {
int link, type;
char *objrec, *parms;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1131,7 +1121,6 @@ void php3_hw_getandlock(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1164,7 +1153,6 @@ void php3_hw_unlock(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1193,7 +1181,6 @@ void php3_hw_deleteobject(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1223,7 +1210,6 @@ void php3_hw_changeobject(INTERNAL_FUNCTION_PARAMETERS) {
hw_connection *ptr;
char *modification, *oldobjrec, buf[200];
HashTable *newobjarr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1304,7 +1290,6 @@ void php3_hw_mvcp(INTERNAL_FUNCTION_PARAMETERS, int mvcp) {
HashTable *src_arr;
hw_connection *ptr;
int collIDcount, docIDcount, i, *docIDs, *collIDs;
- TLS_VARS;
switch(mvcp) {
case MOVE: /* Move also has fromID */
@@ -1418,7 +1403,6 @@ void php3_hw_gettext(INTERNAL_FUNCTION_PARAMETERS) {
int rootid = 0;
hw_document *doc;
hw_connection *ptr;
- TLS_VARS;
argc = ARG_COUNT(ht);
if((argc > 3) || (argc < 2))
@@ -1470,7 +1454,6 @@ void php3_hw_edittext(INTERNAL_FUNCTION_PARAMETERS) {
int link, id, doc, type;
hw_connection *ptr;
hw_document *docptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1513,7 +1496,6 @@ void php3_hw_getcgi(INTERNAL_FUNCTION_PARAMETERS) {
hw_document *doc;
hw_connection *ptr;
char cgi_env_str[1000];
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1549,9 +1531,9 @@ void php3_hw_getcgi(INTERNAL_FUNCTION_PARAMETERS) {
getenv("QUERY_STRING"));
#else
sprintf(cgi_env_str, "CGI_REQUEST_METHOD=%s\nCGI_PATH_INFO=%s\nCGI_QUERY_STRING=%s",
- GLOBAL(request_info).request_method,
- GLOBAL(request_info).path_info,
- GLOBAL(request_info).query_string);
+ request_info.request_method,
+ request_info.path_info,
+ request_info.query_string);
#endif
/* !!!! memory for object and attributes is allocated with malloc !!!! */
if (0 != (ptr->lasterror = send_getcgi(ptr->socket, id, cgi_env_str, &attributes, &object, &count)))
@@ -1574,7 +1556,6 @@ void php3_hw_getremote(INTERNAL_FUNCTION_PARAMETERS) {
int link, id, type;
hw_document *doc;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1615,7 +1596,6 @@ void php3_hw_getremotechildren(INTERNAL_FUNCTION_PARAMETERS) {
int link, type, i;
hw_connection *ptr;
char *objrec;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1673,7 +1653,6 @@ void php3_hw_setlinkroot(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, type, rootid;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1702,9 +1681,8 @@ void php3_hw_pipedocument(INTERNAL_FUNCTION_PARAMETERS) {
hw_connection *ptr;
hw_document *doc;
#if APACHE
- server_rec *serv = GLOBAL(php3_rqst)->server;
+ server_rec *serv = php3_rqst->server;
#endif
- TLS_VARS;
argc = ARG_COUNT(ht);
if((argc > 2) || (argc < 2))
@@ -1770,9 +1748,8 @@ void php3_hw_pipecgi(INTERNAL_FUNCTION_PARAMETERS) {
hw_document *doc;
char cgi_env_str[1000];
#if APACHE
- server_rec *serv = GLOBAL(php3_rqst)->server;
+ server_rec *serv = php3_rqst->server;
#endif
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1800,9 +1777,9 @@ void php3_hw_pipecgi(INTERNAL_FUNCTION_PARAMETERS) {
getenv("QUERY_STRING"));
#else
sprintf(cgi_env_str, "CGI_REQUEST_METHOD=%s\nCGI_PATH_INFO=%s\nCGI_QUERY_STRING=%s",
- GLOBAL(request_info).request_method,
- GLOBAL(request_info).path_info,
- GLOBAL(request_info).query_string);
+ request_info.request_method,
+ request_info.path_info,
+ request_info.query_string);
#endif
/* !!!! memory for object, bodytag and attributes is allocated with malloc !!!! */
if (0 != (ptr->lasterror = send_pipecgi(ptr->socket,
@@ -1832,9 +1809,8 @@ void php3_hw_insertdocument(INTERNAL_FUNCTION_PARAMETERS) {
hw_connection *ptr;
hw_document *docptr;
#if APACHE
- server_rec *serv = GLOBAL(php3_rqst)->server;
+ server_rec *serv = php3_rqst->server;
#endif
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1902,7 +1878,6 @@ void php3_hw_free_document(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
int id, type;
hw_document *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1925,7 +1900,6 @@ void php3_hw_output_document(INTERNAL_FUNCTION_PARAMETERS) {
int id, type, count;
hw_document *ptr;
char *ptr1;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1955,7 +1929,6 @@ void php3_hw_document_bodytag(INTERNAL_FUNCTION_PARAMETERS) {
int id, type, argc;
hw_document *ptr;
char *temp, *str = NULL;
- TLS_VARS;
argc = ARG_COUNT(ht);
if((argc > 2) || (argc < 1))
@@ -1994,7 +1967,6 @@ void php3_hw_document_content(INTERNAL_FUNCTION_PARAMETERS) {
pval *argv[1];
int id, type, argc;
hw_document *ptr;
- TLS_VARS;
argc = ARG_COUNT(ht);
if(argc != 1)
@@ -2020,7 +1992,6 @@ void php3_hw_document_size(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
int id, type;
hw_document *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2042,7 +2013,6 @@ void php3_hw_document_attributes(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
int id, type;
hw_document *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2067,7 +2037,6 @@ void php3_hw_getparentsobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2101,7 +2070,6 @@ void php3_hw_getparents(INTERNAL_FUNCTION_PARAMETERS) {
int link, id, type;
int count;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2146,7 +2114,6 @@ void php3_hw_children(INTERNAL_FUNCTION_PARAMETERS) {
int link, id, type;
int count;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2192,7 +2159,6 @@ void php3_hw_childrenobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2226,7 +2192,6 @@ void php3_hw_getchildcoll(INTERNAL_FUNCTION_PARAMETERS) {
int link, id, type;
int count;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2272,7 +2237,6 @@ void php3_hw_getchildcollobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2305,7 +2269,6 @@ void php3_hw_docbyanchor(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2336,7 +2299,6 @@ void php3_hw_docbyanchorobj(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1, *arg2;
int link, id, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2374,7 +2336,6 @@ void php3_hw_getobjectbyquery(INTERNAL_FUNCTION_PARAMETERS) {
int count, i;
int *childIDs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2417,7 +2378,6 @@ void php3_hw_getobjectbyqueryobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2455,7 +2415,6 @@ void php3_hw_getobjectbyquerycoll(INTERNAL_FUNCTION_PARAMETERS) {
int count, i;
hw_connection *ptr;
int *childIDs = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2500,7 +2459,6 @@ void php3_hw_getobjectbyquerycollobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
hw_connection *ptr;
char **childObjRecs = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2539,7 +2497,6 @@ void php3_hw_getchilddoccoll(INTERNAL_FUNCTION_PARAMETERS) {
int count, i;
int *childIDs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2578,7 +2535,6 @@ void php3_hw_getchilddoccollobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2613,7 +2569,6 @@ void php3_hw_getanchors(INTERNAL_FUNCTION_PARAMETERS) {
int count, i;
int *anchorIDs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2652,7 +2607,6 @@ void php3_hw_getanchorsobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **anchorObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2684,7 +2638,6 @@ void php3_hw_getusername(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
int link, type;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2710,7 +2663,6 @@ void php3_hw_identify(INTERNAL_FUNCTION_PARAMETERS) {
int link, type;
char *name, *passwd, *userdata;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2757,7 +2709,6 @@ void php3_hw_identify(INTERNAL_FUNCTION_PARAMETERS) {
Returns object array of object record*/
void php3_hw_objrec2array(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2772,7 +2723,6 @@ void php3_hw_objrec2array(INTERNAL_FUNCTION_PARAMETERS) {
void php3_hw_array2objrec(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg1;
char *objrec, *retobj;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2795,7 +2745,6 @@ void php3_hw_incollections(INTERNAL_FUNCTION_PARAMETERS) {
int type, link, i;
hw_connection *ptr;
int cobjids, ccollids, *objectIDs, *collIDs, cretids, *retIDs, retcoll;
- TLS_VARS;
if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2857,7 +2806,6 @@ void php3_hw_inscoll(INTERNAL_FUNCTION_PARAMETERS) {
char *objrec;
int id, newid, type, link;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2896,7 +2844,6 @@ void php3_hw_insdoc(INTERNAL_FUNCTION_PARAMETERS) {
char *objrec, *text;
int id, newid, type, link, argc;
hw_connection *ptr;
- TLS_VARS;
argc = ARG_COUNT(ht);
if((argc < 3) || (argc > 4))
@@ -2940,7 +2887,6 @@ void php3_hw_getsrcbydestobj(INTERNAL_FUNCTION_PARAMETERS) {
int count;
char **childObjRecs = NULL;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2975,7 +2921,6 @@ void php3_hw_getrellink(INTERNAL_FUNCTION_PARAMETERS) {
int rootid, destid, sourceid;
char *anchorstr;
hw_connection *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/odbc/odbc.c b/ext/odbc/odbc.c
index 23c1a39ae1..0ef444adb2 100644
--- a/ext/odbc/odbc.c
+++ b/ext/odbc/odbc.c
@@ -1187,9 +1187,6 @@ PHP_FUNCTION(odbc_result)
UDWORD crow;
UWORD RowStatus[1];
#endif
-#if !defined(COMPILE_DL) && defined(THREAD_SAFE)
- TLS_VARS;
-#endif
field_ind = -1;
field = NULL;
@@ -1368,9 +1365,6 @@ PHP_FUNCTION(odbc_result_all)
UDWORD crow;
UWORD RowStatus[1];
#endif
-#if !defined(COMPILE_DL) && defined(THREAD_SAFE)
- TLS_VARS
-#endif
numArgs = ARG_COUNT(ht);
if (numArgs == 1){
diff --git a/ext/standard/base64.c b/ext/standard/base64.c
index 3099934764..fe52b79caf 100644
--- a/ext/standard/base64.c
+++ b/ext/standard/base64.c
@@ -144,7 +144,6 @@ void php3_base64_encode(INTERNAL_FUNCTION_PARAMETERS) {
pval *string;
unsigned char *result;
int ret_length;
- TLS_VARS;
if (ARG_COUNT(ht)!=1 || getParameters(ht,1,&string) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -168,7 +167,6 @@ void php3_base64_decode(INTERNAL_FUNCTION_PARAMETERS) {
pval *string;
unsigned char *result;
int ret_length;
- TLS_VARS;
if (ARG_COUNT(ht)!=1 || getParameters(ht,1,&string) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 92d3d6bcff..d2ce463783 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -364,8 +364,7 @@ int php3_mshutdown_basic(SHUTDOWN_FUNC_ARGS)
int php3_rinit_basic(INIT_FUNC_ARGS)
{
- TLS_VARS;
- GLOBAL(strtok_string) = NULL;
+ strtok_string = NULL;
#if HAVE_PUTENV
if (_php3_hash_init(&putenv_ht, 1, NULL, (void (*)(void *)) _php3_putenv_destructor, 0) == FAILURE) {
return FAILURE;
@@ -379,8 +378,7 @@ int php3_rinit_basic(INIT_FUNC_ARGS)
int php3_rshutdown_basic(SHUTDOWN_FUNC_ARGS)
{
- TLS_VARS;
- STR_FREE(GLOBAL(strtok_string));
+ STR_FREE(strtok_string);
#if HAVE_PUTENV
_php3_hash_destroy(&putenv_ht);
#endif
@@ -398,7 +396,6 @@ void php3_getenv(INTERNAL_FUNCTION_PARAMETERS)
#endif
pval *str;
char *ptr;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -426,14 +423,14 @@ void php3_getenv(INTERNAL_FUNCTION_PARAMETERS)
if (str->type == IS_STRING &&
#if APACHE
- ((ptr = (char *)table_get(GLOBAL(php3_rqst)->subprocess_env, str->value.str.val)) || (ptr = getenv(str->value.str.val)))
+ ((ptr = (char *)table_get(php3_rqst->subprocess_env, str->value.str.val)) || (ptr = getenv(str->value.str.val)))
#endif
#if CGI_BINARY
(ptr = getenv(str->value.str.val))
#endif
#if USE_SAPI
- (ptr = GLOBAL(sapi_rqst)->getenv(GLOBAL(sapi_rqst)->scid,str->value.str.val))
+ (ptr = sapi_rqst->getenv(sapi_rqst->scid,str->value.str.val))
#endif
#endif
) {
@@ -448,7 +445,6 @@ void php3_putenv(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -523,7 +519,6 @@ void php3_toggle_short_open_tag(INTERNAL_FUNCTION_PARAMETERS)
#if 0
pval *value;
int ret;
- TLS_VARS;
ret = php3_ini.short_open_tag;
@@ -621,7 +616,6 @@ void php3_key_sort(INTERNAL_FUNCTION_PARAMETERS)
{
pval *array;
HashTable *target_hash;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &array) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -727,7 +721,6 @@ void php3_asort(INTERNAL_FUNCTION_PARAMETERS)
{
pval *array;
HashTable *target_hash;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &array) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -751,7 +744,6 @@ void php3_arsort(INTERNAL_FUNCTION_PARAMETERS)
{
pval *array;
HashTable *target_hash;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &array) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -775,7 +767,6 @@ void php3_sort(INTERNAL_FUNCTION_PARAMETERS)
{
pval *array;
HashTable *target_hash;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &array) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -799,7 +790,6 @@ void php3_rsort(INTERNAL_FUNCTION_PARAMETERS)
{
pval *array;
HashTable *target_hash;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &array) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -848,7 +838,6 @@ void php3_user_sort(INTERNAL_FUNCTION_PARAMETERS)
pval *array;
pval *old_compare_func;
HashTable *target_hash;
- TLS_VARS;
old_compare_func = user_compare_func_name;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &array, &user_compare_func_name) == FAILURE) {
@@ -875,7 +864,6 @@ void php3_auser_sort(INTERNAL_FUNCTION_PARAMETERS)
pval *array;
pval *old_compare_func;
HashTable *target_hash;
- TLS_VARS;
old_compare_func = user_compare_func_name;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &array, &user_compare_func_name) == FAILURE) {
@@ -950,7 +938,6 @@ void php3_user_key_sort(INTERNAL_FUNCTION_PARAMETERS)
pval *array;
pval *old_compare_func;
HashTable *target_hash;
- TLS_VARS;
old_compare_func = user_compare_func_name;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &array, &user_compare_func_name) == FAILURE) {
@@ -1180,11 +1167,10 @@ void php3_flush(INTERNAL_FUNCTION_PARAMETERS)
#endif
{
#if APACHE
- TLS_VARS;
# if MODULE_MAGIC_NUMBER > 19970110
- rflush(GLOBAL(php3_rqst));
+ rflush(php3_rqst);
# else
- bflush(GLOBAL(php3_rqst)->connection->client);
+ bflush(php3_rqst->connection->client);
# endif
#endif
#if FHTTPD
@@ -1194,8 +1180,7 @@ void php3_flush(INTERNAL_FUNCTION_PARAMETERS)
fflush(stdout);
#endif
#if USE_SAPI
- TLS_VARS;
- GLOBAL(sapi_rqst)->flush(GLOBAL(sapi_rqst)->scid);
+ sapi_rqst->flush(sapi_rqst->scid);
#endif
}
@@ -1227,7 +1212,6 @@ void php3_usleep(INTERNAL_FUNCTION_PARAMETERS)
void php3_gettype(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1270,7 +1254,6 @@ void php3_settype(INTERNAL_FUNCTION_PARAMETERS)
{
pval *var, *type;
char *new_type;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &var, &type) ==
FAILURE) {
@@ -1379,7 +1362,6 @@ static int _php3_array_walk(const void *a)
void php3_array_walk(INTERNAL_FUNCTION_PARAMETERS) {
pval *array, *old_walk_func_name;
HashTable *target_hash;
- TLS_VARS;
old_walk_func_name = php3_array_walk_func_name;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &array, &php3_array_walk_func_name) == FAILURE) {
@@ -1404,7 +1386,6 @@ void php3_max(INTERNAL_FUNCTION_PARAMETERS)
pval **argv;
int argc, i;
unsigned short max_type = IS_LONG;
- TLS_VARS;
argc = ARG_COUNT(ht);
/* if there is one parameter and this parameter is an array of
@@ -1469,8 +1450,6 @@ void php3_max(INTERNAL_FUNCTION_PARAMETERS)
void php3_get_current_user(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
-
RETURN_STRING(_php3_get_current_user(),1);
}
@@ -1576,7 +1555,6 @@ void php3_error_log(INTERNAL_FUNCTION_PARAMETERS)
pval *string, *erropt = NULL, *option = NULL, *emailhead = NULL;
int opt_err = 0;
char *message, *opt=NULL, *headers=NULL;
- TLS_VARS;
switch(ARG_COUNT(ht)) {
case 1:
diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c
index 3fe1500708..f6bc5e80a3 100644
--- a/ext/standard/browscap.c
+++ b/ext/standard/browscap.c
@@ -53,9 +53,8 @@ static int browser_reg_compare(pval *browser)
{
pval *browser_name;
regex_t r;
- TLS_VARS;
- if (GLOBAL(found_browser_entry)) { /* already found */
+ if (found_browser_entry) { /* already found */
return 0;
}
_php3_hash_find(browser->value.ht,"browser_name_pattern",sizeof("browser_name_pattern"),(void **) &browser_name);
@@ -65,8 +64,8 @@ static int browser_reg_compare(pval *browser)
if (regcomp(&r,browser_name->value.str.val,REG_NOSUB)!=0) {
return 0;
}
- if (regexec(&r,GLOBAL(lookup_browser_name),0,NULL,0)==0) {
- GLOBAL(found_browser_entry) = browser;
+ if (regexec(&r,lookup_browser_name,0,NULL,0)==0) {
+ found_browser_entry = browser;
}
regfree(&r);
return 0;
@@ -100,14 +99,14 @@ void php3_get_browser(INTERNAL_FUNCTION_PARAMETERS)
convert_to_string(agent_name);
- if (_php3_hash_find(&GLOBAL(browser_hash), agent_name->value.str.val, agent_name->value.str.len+1, (void **) &agent)==FAILURE) {
- GLOBAL(lookup_browser_name) = agent_name->value.str.val;
- GLOBAL(found_browser_entry) = NULL;
- _php3_hash_apply(&GLOBAL(browser_hash),(int (*)(void *)) browser_reg_compare);
+ if (_php3_hash_find(&browser_hash, agent_name->value.str.val, agent_name->value.str.len+1, (void **) &agent)==FAILURE) {
+ lookup_browser_name = agent_name->value.str.val;
+ found_browser_entry = NULL;
+ _php3_hash_apply(&browser_hash,(int (*)(void *)) browser_reg_compare);
- if (GLOBAL(found_browser_entry)) {
- agent = GLOBAL(found_browser_entry);
- } else if (_php3_hash_find(&GLOBAL(browser_hash), "Default Browser", sizeof("Default Browser"), (void **) &agent)==FAILURE) {
+ if (found_browser_entry) {
+ agent = found_browser_entry;
+ } else if (_php3_hash_find(&browser_hash, "Default Browser", sizeof("Default Browser"), (void **) &agent)==FAILURE) {
RETURN_FALSE;
}
}
@@ -118,7 +117,7 @@ void php3_get_browser(INTERNAL_FUNCTION_PARAMETERS)
return_value->value.ht->pDestructor = PVAL_DESTRUCTOR;
while (_php3_hash_find(agent->value.ht, "parent", sizeof("parent"), (void **) &agent_name)==SUCCESS) {
- if (_php3_hash_find(&GLOBAL(browser_hash), agent_name->value.str.val, agent_name->value.str.len+1, (void **) &agent)==FAILURE) {
+ if (_php3_hash_find(&browser_hash, agent_name->value.str.val, agent_name->value.str.len+1, (void **) &agent)==FAILURE) {
break;
}
_php3_hash_merge(return_value->value.ht,agent->value.ht,(void (*)(void *pData)) pval_copy_constructor, (void *) &tmp, sizeof(pval));
diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c
index 3c0cf138b0..d697928f3f 100644
--- a/ext/standard/datetime.c
+++ b/ext/standard/datetime.c
@@ -153,7 +153,6 @@ _php3_date(INTERNAL_FUNCTION_PARAMETERS, int gm)
struct tm *ta;
int i, size = 0, length, h;
char tmp_buff[16];
- TLS_VARS;
switch(ARG_COUNT(ht)) {
case 1:
@@ -423,7 +422,6 @@ void php3_checkdate(INTERNAL_FUNCTION_PARAMETERS)
{
pval *month, *day, *year;
int m, d, y;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 ||
getParameters(ht, 3, &month, &day, &year) == FAILURE) {
diff --git a/ext/standard/dir.c b/ext/standard/dir.c
index 546f31554b..e50158202a 100644
--- a/ext/standard/dir.c
+++ b/ext/standard/dir.c
@@ -73,9 +73,7 @@ php3_module_entry php3_dir_module_entry = {
int php3_minit_dir(INIT_FUNC_ARGS)
{
- TLS_VARS;
-
- GLOBAL(le_dirp) = register_list_destructors(closedir,NULL);
+ le_dirp = register_list_destructors(closedir,NULL);
return SUCCESS;
}
@@ -86,7 +84,6 @@ void php3_opendir(INTERNAL_FUNCTION_PARAMETERS)
pval *arg;
DIR *dirp;
int ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -101,8 +98,8 @@ void php3_opendir(INTERNAL_FUNCTION_PARAMETERS)
php3_error(E_WARNING, "OpenDir: %s (errno %d)", strerror(errno),errno);
RETURN_FALSE;
}
- ret = php3_list_insert(dirp, GLOBAL(le_dirp));
- GLOBAL(dirp_id) = ret;
+ ret = php3_list_insert(dirp, le_dirp);
+ dirp_id = ret;
RETURN_LONG(ret);
}
/* }}} */
@@ -115,7 +112,6 @@ void php3_closedir(INTERNAL_FUNCTION_PARAMETERS)
int id_to_find;
DIR *dirp;
int dirp_type;
- TLS_VARS;
if (ARG_COUNT(ht) == 0) {
if (getThis(&id) == SUCCESS) {
@@ -125,7 +121,7 @@ void php3_closedir(INTERNAL_FUNCTION_PARAMETERS)
}
id_to_find = tmp->value.lval;
} else {
- id_to_find = GLOBAL(dirp_id);
+ id_to_find = dirp_id;
}
} else if ((ARG_COUNT(ht) != 1) || getParameters(ht, 1, &id) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -135,7 +131,7 @@ void php3_closedir(INTERNAL_FUNCTION_PARAMETERS)
}
dirp = (DIR *)php3_list_find(id_to_find, &dirp_type);
- if (!dirp || dirp_type != GLOBAL(le_dirp)) {
+ if (!dirp || dirp_type != le_dirp) {
php3_error(E_WARNING, "unable to find identifier (%d)", id_to_find);
RETURN_FALSE;
}
@@ -149,7 +145,6 @@ void php3_chdir(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
int ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -173,7 +168,6 @@ void php3_rewinddir(INTERNAL_FUNCTION_PARAMETERS)
int id_to_find;
DIR *dirp;
int dirp_type;
- TLS_VARS;
if (ARG_COUNT(ht) == 0) {
if (getThis(&id) == SUCCESS) {
@@ -183,7 +177,7 @@ void php3_rewinddir(INTERNAL_FUNCTION_PARAMETERS)
}
id_to_find = tmp->value.lval;
} else {
- id_to_find = GLOBAL(dirp_id);
+ id_to_find = dirp_id;
}
} else if ((ARG_COUNT(ht) != 1) || getParameters(ht, 1, &id) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -193,7 +187,7 @@ void php3_rewinddir(INTERNAL_FUNCTION_PARAMETERS)
}
dirp = (DIR *)php3_list_find(id_to_find, &dirp_type);
- if (!dirp || dirp_type != GLOBAL(le_dirp)) {
+ if (!dirp || dirp_type != le_dirp) {
php3_error(E_WARNING, "unable to find identifier (%d)", id_to_find);
RETURN_FALSE;
}
@@ -210,7 +204,6 @@ void php3_readdir(INTERNAL_FUNCTION_PARAMETERS)
DIR *dirp;
int dirp_type;
struct dirent *direntp;
- TLS_VARS;
if (ARG_COUNT(ht) == 0) {
if (getThis(&id) == SUCCESS) {
@@ -220,7 +213,7 @@ void php3_readdir(INTERNAL_FUNCTION_PARAMETERS)
}
id_to_find = tmp->value.lval;
} else {
- id_to_find = GLOBAL(dirp_id);
+ id_to_find = dirp_id;
}
} else if ((ARG_COUNT(ht) != 1) || getParameters(ht, 1, &id) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -230,7 +223,7 @@ void php3_readdir(INTERNAL_FUNCTION_PARAMETERS)
}
dirp = (DIR *)php3_list_find(id_to_find, &dirp_type);
- if (!dirp || dirp_type != GLOBAL(le_dirp)) {
+ if (!dirp || dirp_type != le_dirp) {
php3_error(E_WARNING, "unable to find identifier (%d)", id_to_find);
RETURN_FALSE;
}
@@ -248,7 +241,6 @@ void php3_getdir(INTERNAL_FUNCTION_PARAMETERS) {
pval *arg;
DIR *dirp;
int ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -263,8 +255,8 @@ void php3_getdir(INTERNAL_FUNCTION_PARAMETERS) {
php3_error(E_WARNING, "OpenDir: %s (errno %d)", strerror(errno), errno);
RETURN_FALSE;
}
- ret = php3_list_insert(dirp, GLOBAL(le_dirp));
- GLOBAL(dirp_id) = ret;
+ ret = php3_list_insert(dirp, le_dirp);
+ dirp_id = ret;
/* construct an object with some methods */
object_init(return_value);
diff --git a/ext/standard/dl.c b/ext/standard/dl.c
index 60ae23c2d6..7471634ab5 100644
--- a/ext/standard/dl.c
+++ b/ext/standard/dl.c
@@ -149,7 +149,7 @@ void php3_dl(pval *file,int type,pval *return_value)
}
/* update the .request_started property... */
- if (_php3_hash_find(&GLOBAL(module_registry),module_entry->name,strlen(module_entry->name)+1,(void **) &tmp)==FAILURE) {
+ if (_php3_hash_find(&module_registry,module_entry->name,strlen(module_entry->name)+1,(void **) &tmp)==FAILURE) {
php3_error(E_ERROR,"%s: Loaded module got lost",module_entry->name);
RETURN_FALSE;
}
@@ -159,8 +159,9 @@ void php3_dl(pval *file,int type,pval *return_value)
RETURN_TRUE;
}
-void php3_info_dl(void){
- TLS_VARS;
+
+void php3_info_dl(void)
+{
PUTS("Dynamic Library support enabled.\n");
}
diff --git a/ext/standard/dns.c b/ext/standard/dns.c
index 2bec92bb88..5f3a03ee0d 100644
--- a/ext/standard/dns.c
+++ b/ext/standard/dns.c
@@ -68,7 +68,6 @@ char *_php3_gethostbyname(char *name);
void php3_gethostbyaddr(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -108,7 +107,6 @@ char *_php3_gethostbyaddr(char *ip)
void php3_gethostbyname(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -129,7 +127,6 @@ void php3_gethostbynamel(INTERNAL_FUNCTION_PARAMETERS)
struct hostent *hp;
struct in_addr in;
int i;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -185,7 +182,6 @@ void php3_checkdnsrr(INTERNAL_FUNCTION_PARAMETERS)
#define MAXPACKET 8192 /* max packet size used internally by BIND */
#endif
u_char ans[MAXPACKET];
- TLS_VARS;
switch (ARG_COUNT(ht)) {
case 1:
@@ -270,7 +266,7 @@ void php3_getmxrr(INTERNAL_FUNCTION_PARAMETERS)
RETURN_FALSE;
}
need_weight = 1;
- pval_destructor(weight_list _INLINE_TLS); /* start with clean array */
+ pval_destructor(weight_list); /* start with clean array */
if ( array_init(weight_list) == FAILURE ) {
RETURN_FALSE;
}
@@ -280,7 +276,7 @@ void php3_getmxrr(INTERNAL_FUNCTION_PARAMETERS)
}
convert_to_string( host );
- pval_destructor(mx_list _INLINE_TLS); /* start with clean array */
+ pval_destructor(mx_list); /* start with clean array */
if ( array_init(mx_list) == FAILURE ) {
RETURN_FALSE;
}
diff --git a/ext/standard/exec.c b/ext/standard/exec.c
index c4ea465c86..fe250c9985 100644
--- a/ext/standard/exec.c
+++ b/ext/standard/exec.c
@@ -111,7 +111,7 @@ static int _Exec(int type, char *cmd, pval *array, pval *return_value)
buf[0] = '\0';
if (type==2) {
if (array->type != IS_ARRAY) {
- pval_destructor(array _INLINE_TLS);
+ pval_destructor(array);
array_init(array);
}
}
@@ -121,9 +121,9 @@ static int _Exec(int type, char *cmd, pval *array, pval *return_value)
if (output) PUTS(buf);
#if APACHE
# if MODULE_MAGIC_NUMBER > 19970110
- if (output) rflush(GLOBAL(php3_rqst));
+ if (output) rflush(php3_rqst);
# else
- if (output) bflush(GLOBAL(php3_rqst)->connection->client);
+ if (output) bflush(php3_rqst->connection->client);
# endif
#endif
#if CGI_BINARY
@@ -133,7 +133,7 @@ static int _Exec(int type, char *cmd, pval *array, pval *return_value)
/* fhttpd doesn't flush */
#endif
#if USE_SAPI
- GLOBAL(sapi_rqst)->flush(GLOBAL(sapi_rqst)->scid);
+ sapi_rqst->flush(sapi_rqst->scid);
#endif
}
else if (type == 2) {
@@ -321,7 +321,6 @@ void php3_escapeshellcmd(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg1;
char *cmd;
- TLS_VARS;
if (getParameters(ht, 1, &arg1) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/file.c b/ext/standard/file.c
index 5e34d73795..e36c386355 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -222,7 +222,6 @@ PHP_FUNCTION(flock)
int issock=0;
int *sock, fd=0;
int act = 0;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -232,13 +231,13 @@ PHP_FUNCTION(flock)
convert_to_long(arg2);
fp = php3_list_find(arg1->value.lval, &type);
- if (type == GLOBAL(wsa_fp)){
+ if (type == wsa_fp){
issock = 1;
sock = php3_list_find(arg1->value.lval, &type);
fd = *sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!fd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!fd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",arg1->value.lval);
RETURN_FALSE;
}
@@ -467,7 +466,7 @@ void php3_file(INTERNAL_FUNCTION_PARAMETERS)
static void __pclose(FILE *pipe)
{
- GLOBAL(pclose_ret) = pclose(pipe);
+ pclose_ret = pclose(pipe);
}
@@ -497,10 +496,10 @@ static void _php3_unlink_uploaded_file(char *file)
int php3_minit_file(INIT_FUNC_ARGS)
{
- GLOBAL(le_fp) = register_list_destructors(fclose,NULL);
- GLOBAL(le_pp) = register_list_destructors(__pclose,NULL);
- GLOBAL(wsa_fp) = register_list_destructors(_php3_closesocket,NULL);
- GLOBAL(le_uploads) = register_list_destructors(_php3_unlink_uploaded_file,NULL);
+ le_fp = register_list_destructors(fclose,NULL);
+ le_pp = register_list_destructors(__pclose,NULL);
+ wsa_fp = register_list_destructors(_php3_closesocket,NULL);
+ le_uploads = register_list_destructors(_php3_unlink_uploaded_file,NULL);
return SUCCESS;
}
@@ -575,13 +574,13 @@ void php3_fopen(INTERNAL_FUNCTION_PARAMETERS)
efree(p);
RETURN_FALSE;
}
- GLOBAL(fgetss_state)=0;
+ fgetss_state=0;
if (issock) {
sock=emalloc(sizeof(int));
*sock=socketd;
- id = php3_list_insert(sock,GLOBAL(wsa_fp));
+ id = php3_list_insert(sock,wsa_fp);
} else {
- id = php3_list_insert(fp,GLOBAL(le_fp));
+ id = php3_list_insert(fp,le_fp);
}
efree(p);
RETURN_LONG(id);
@@ -603,7 +602,7 @@ void php3_fclose(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg1);
id=arg1->value.lval;
fp = php3_list_find(id,&type);
- if (!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(wsa_fp))) {
+ if (!fp || (type!=le_fp && type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -662,7 +661,7 @@ void php3_popen(INTERNAL_FUNCTION_PARAMETERS)
RETURN_FALSE;
}
}
- id = php3_list_insert(fp,GLOBAL(le_pp));
+ id = php3_list_insert(fp,le_pp);
efree(p);
RETURN_LONG(id);
}
@@ -684,12 +683,12 @@ void php3_pclose(INTERNAL_FUNCTION_PARAMETERS)
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (!fp || type!=GLOBAL(le_pp)) {
+ if (!fp || type!=le_pp) {
php3_error(E_WARNING,"Unable to find pipe identifier %d",id);
RETURN_FALSE;
}
php3_list_delete(id);
- RETURN_LONG(GLOBAL(pclose_ret));
+ RETURN_LONG(pclose_ret);
}
/* }}} */
@@ -711,12 +710,12 @@ void php3_feof(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg1);
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
/* we're at the eof if the file doesn't exist */
RETURN_TRUE;
@@ -748,7 +747,7 @@ void php3_set_socket_blocking(INTERNAL_FUNCTION_PARAMETERS)
block = arg2->value.lval;
sock = php3_list_find(id,&type);
- if (type!=GLOBAL(wsa_fp)) {
+ if (type!=wsa_fp) {
php3_error(E_WARNING,"%d is not a socket id",id);
RETURN_FALSE;
}
@@ -807,7 +806,7 @@ void php3_set_socket_timeout(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(timeout);
sock = php3_list_find(socket->value.lval, &type);
- if (type!=GLOBAL(wsa_fp)) {
+ if (type!=wsa_fp) {
php3_error(E_WARNING,"%d is not a socket id",socket->value.lval);
RETURN_FALSE;
}
@@ -841,12 +840,12 @@ void php3_fgets(INTERNAL_FUNCTION_PARAMETERS)
len = arg2->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -887,12 +886,12 @@ void php3_fgetc(INTERNAL_FUNCTION_PARAMETERS) {
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd = *sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -934,12 +933,12 @@ void php3_fgetss(INTERNAL_FUNCTION_PARAMETERS)
len = bytes->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING, "Unable to find file identifier %d", id);
RETURN_FALSE;
}
@@ -962,67 +961,67 @@ void php3_fgetss(INTERNAL_FUNCTION_PARAMETERS)
while (c) {
switch (c) {
case '<':
- if (GLOBAL(fgetss_state) == 0) {
+ if (fgetss_state == 0) {
lc = '<';
- GLOBAL(fgetss_state) = 1;
+ fgetss_state = 1;
}
break;
case '(':
- if (GLOBAL(fgetss_state) == 2) {
+ if (fgetss_state == 2) {
if (lc != '\"') {
lc = '(';
br++;
}
- } else if (GLOBAL(fgetss_state) == 0) {
+ } else if (fgetss_state == 0) {
*(rp++) = c;
}
break;
case ')':
- if (GLOBAL(fgetss_state) == 2) {
+ if (fgetss_state == 2) {
if (lc != '\"') {
lc = ')';
br--;
}
- } else if (GLOBAL(fgetss_state) == 0) {
+ } else if (fgetss_state == 0) {
*(rp++) = c;
}
break;
case '>':
- if (GLOBAL(fgetss_state) == 1) {
+ if (fgetss_state == 1) {
lc = '>';
- GLOBAL(fgetss_state) = 0;
- } else if (GLOBAL(fgetss_state) == 2) {
+ fgetss_state = 0;
+ } else if (fgetss_state == 2) {
if (!br && lc != '\"') {
- GLOBAL(fgetss_state) = 0;
+ fgetss_state = 0;
}
}
break;
case '\"':
- if (GLOBAL(fgetss_state) == 2) {
+ if (fgetss_state == 2) {
if (lc == '\"') {
lc = '\0';
} else if (lc != '\\') {
lc = '\"';
}
- } else if (GLOBAL(fgetss_state) == 0) {
+ } else if (fgetss_state == 0) {
*(rp++) = c;
}
break;
case '?':
- if (GLOBAL(fgetss_state)==1) {
+ if (fgetss_state==1) {
br=0;
- GLOBAL(fgetss_state)=2;
+ fgetss_state=2;
break;
}
/* fall-through */
default:
- if (GLOBAL(fgetss_state) == 0) {
+ if (fgetss_state == 0) {
*(rp++) = c;
}
}
@@ -1073,12 +1072,12 @@ void php3_fwrite(INTERNAL_FUNCTION_PARAMETERS)
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1112,7 +1111,7 @@ void php3_rewind(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg1);
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) {
+ if (!fp || (type!=le_fp && type!=le_pp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1137,7 +1136,7 @@ void php3_ftell(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg1);
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) {
+ if (!fp || (type!=le_fp && type!=le_pp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1164,7 +1163,7 @@ void php3_fseek(INTERNAL_FUNCTION_PARAMETERS)
pos = arg2->value.lval;
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) {
+ if (!fp || (type!=le_fp && type!=le_pp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1342,12 +1341,12 @@ void php3_fpassthru(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg1);
id = arg1->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1485,12 +1484,12 @@ void php3_fread(INTERNAL_FUNCTION_PARAMETERS)
len = arg2->value.lval;
fp = php3_list_find(id,&type);
- if (type==GLOBAL(wsa_fp)){
+ if (type==wsa_fp){
issock=1;
sock = php3_list_find(id,&type);
socketd=*sock;
}
- if ((!fp || (type!=GLOBAL(le_fp) && type!=GLOBAL(le_pp))) && (!socketd || type!=GLOBAL(wsa_fp))) {
+ if ((!fp || (type!=le_fp && type!=le_pp)) && (!socketd || type!=wsa_fp)) {
php3_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
@@ -1514,7 +1513,7 @@ void php3_fread(INTERNAL_FUNCTION_PARAMETERS)
/* aparently needed for pdf to be compiled as a module under windows */
PHPAPI int php3i_get_le_fp(void)
{
- return GLOBAL(le_fp);
+ return le_fp;
}
/*
diff --git a/ext/standard/filestat.c b/ext/standard/filestat.c
index bd539e1d5d..b956b3346f 100644
--- a/ext/standard/filestat.c
+++ b/ext/standard/filestat.c
@@ -97,16 +97,16 @@ static struct stat lsb;
int php3_init_filestat(INIT_FUNC_ARGS)
{
- GLOBAL(CurrentStatFile)=NULL;
- GLOBAL(CurrentStatLength)=0;
+ CurrentStatFile=NULL;
+ CurrentStatLength=0;
return SUCCESS;
}
int php3_shutdown_filestat(SHUTDOWN_FUNC_ARGS)
{
- if (GLOBAL(CurrentStatFile)) {
- efree (GLOBAL(CurrentStatFile));
+ if (CurrentStatFile) {
+ efree (CurrentStatFile);
}
return SUCCESS;
}
@@ -294,35 +294,35 @@ void php3_touch(INTERNAL_FUNCTION_PARAMETERS)
void php3_clearstatcache(INTERNAL_FUNCTION_PARAMETERS)
{
- if (GLOBAL(CurrentStatFile)) {
- efree(GLOBAL(CurrentStatFile));
- GLOBAL(CurrentStatFile) = NULL;
+ if (CurrentStatFile) {
+ efree(CurrentStatFile);
+ CurrentStatFile = NULL;
}
}
static void _php3_stat(const char *filename, int type, pval *return_value)
{
- struct stat *stat_sb = &GLOBAL(sb);
-
- if (!GLOBAL(CurrentStatFile) || strcmp(filename,GLOBAL(CurrentStatFile))) {
- if (!GLOBAL(CurrentStatFile)
- || strlen(filename) > GLOBAL(CurrentStatLength)) {
- if (GLOBAL(CurrentStatFile)) efree(GLOBAL(CurrentStatFile));
- GLOBAL(CurrentStatLength) = strlen(filename);
- GLOBAL(CurrentStatFile) = estrndup(filename,GLOBAL(CurrentStatLength));
+ struct stat *stat_sb = &sb;
+
+ if (!CurrentStatFile || strcmp(filename,CurrentStatFile)) {
+ if (!CurrentStatFile
+ || strlen(filename) > CurrentStatLength) {
+ if (CurrentStatFile) efree(CurrentStatFile);
+ CurrentStatLength = strlen(filename);
+ CurrentStatFile = estrndup(filename,CurrentStatLength);
} else {
- strcpy(GLOBAL(CurrentStatFile),filename);
+ strcpy(CurrentStatFile,filename);
}
#if HAVE_SYMLINK
- GLOBAL(lsb).st_mode = 0; /* mark lstat buf invalid */
+ lsb.st_mode = 0; /* mark lstat buf invalid */
#endif
- if (stat(GLOBAL(CurrentStatFile),&GLOBAL(sb))==-1) {
+ if (stat(CurrentStatFile,&sb)==-1) {
if (type != 15 || errno != ENOENT) { /* fileexists() test must print no error */
- php3_error(E_NOTICE,"stat failed for %s (errno=%d - %s)",GLOBAL(CurrentStatFile),errno,strerror(errno));
+ php3_error(E_NOTICE,"stat failed for %s (errno=%d - %s)",CurrentStatFile,errno,strerror(errno));
}
- efree(GLOBAL(CurrentStatFile));
- GLOBAL(CurrentStatFile)=NULL;
+ efree(CurrentStatFile);
+ CurrentStatFile=NULL;
RETURN_FALSE;
}
}
@@ -334,9 +334,9 @@ static void _php3_stat(const char *filename, int type, pval *return_value)
/* do lstat if the buffer is empty */
- if (!GLOBAL(lsb).st_mode) {
- if (lstat(GLOBAL(CurrentStatFile),&GLOBAL(lsb)) == -1) {
- php3_error(E_NOTICE,"lstat failed for %s (errno=%d - %s)",GLOBAL(CurrentStatFile),errno,strerror(errno));
+ if (!lsb.st_mode) {
+ if (lstat(CurrentStatFile,&lsb) == -1) {
+ php3_error(E_NOTICE,"lstat failed for %s (errno=%d - %s)",CurrentStatFile,errno,strerror(errno));
RETURN_FALSE;
}
}
@@ -345,49 +345,49 @@ static void _php3_stat(const char *filename, int type, pval *return_value)
switch(type) {
case 0: /* fileperms */
- RETURN_LONG((long)GLOBAL(sb).st_mode);
+ RETURN_LONG((long)sb.st_mode);
case 1: /* fileinode */
- RETURN_LONG((long)GLOBAL(sb).st_ino);
+ RETURN_LONG((long)sb.st_ino);
case 2: /* filesize */
- RETURN_LONG((long)GLOBAL(sb).st_size);
+ RETURN_LONG((long)sb.st_size);
case 3: /* fileowner */
- RETURN_LONG((long)GLOBAL(sb).st_uid);
+ RETURN_LONG((long)sb.st_uid);
case 4: /* filegroup */
- RETURN_LONG((long)GLOBAL(sb).st_gid);
+ RETURN_LONG((long)sb.st_gid);
case 5: /* fileatime */
- RETURN_LONG((long)GLOBAL(sb).st_atime);
+ RETURN_LONG((long)sb.st_atime);
case 6: /* filemtime */
- RETURN_LONG((long)GLOBAL(sb).st_mtime);
+ RETURN_LONG((long)sb.st_mtime);
case 7: /* filectime */
- RETURN_LONG((long)GLOBAL(sb).st_ctime);
+ RETURN_LONG((long)sb.st_ctime);
case 8: /* filetype */
#if HAVE_SYMLINK
- if (S_ISLNK(GLOBAL(lsb).st_mode)) {
+ if (S_ISLNK(lsb.st_mode)) {
RETURN_STRING("link",1);
}
#endif
- switch(GLOBAL(sb).st_mode&S_IFMT) {
+ switch(sb.st_mode&S_IFMT) {
case S_IFIFO: RETURN_STRING("fifo",1);
case S_IFCHR: RETURN_STRING("char",1);
case S_IFDIR: RETURN_STRING("dir",1);
case S_IFBLK: RETURN_STRING("block",1);
case S_IFREG: RETURN_STRING("file",1);
}
- php3_error(E_WARNING,"Unknown file type (%d)",GLOBAL(sb).st_mode&S_IFMT);
+ php3_error(E_WARNING,"Unknown file type (%d)",sb.st_mode&S_IFMT);
RETURN_STRING("unknown",1);
case 9: /*is writable*/
- RETURN_LONG((GLOBAL(sb).st_mode&S_IWRITE)!=0);
+ RETURN_LONG((sb.st_mode&S_IWRITE)!=0);
case 10: /*is readable*/
- RETURN_LONG((GLOBAL(sb).st_mode&S_IREAD)!=0);
+ RETURN_LONG((sb.st_mode&S_IREAD)!=0);
case 11: /*is executable*/
- RETURN_LONG((GLOBAL(sb).st_mode&S_IEXEC)!=0 && !S_ISDIR(GLOBAL(sb).st_mode));
+ RETURN_LONG((sb.st_mode&S_IEXEC)!=0 && !S_ISDIR(sb.st_mode));
case 12: /*is file*/
- RETURN_LONG(S_ISREG(GLOBAL(sb).st_mode));
+ RETURN_LONG(S_ISREG(sb.st_mode));
case 13: /*is dir*/
- RETURN_LONG(S_ISDIR(GLOBAL(sb).st_mode));
+ RETURN_LONG(S_ISDIR(sb.st_mode));
case 14: /*is link*/
#if HAVE_SYMLINK
- RETURN_LONG(S_ISLNK(GLOBAL(lsb).st_mode));
+ RETURN_LONG(S_ISLNK(lsb.st_mode));
#else
RETURN_FALSE;
#endif
@@ -395,7 +395,7 @@ static void _php3_stat(const char *filename, int type, pval *return_value)
RETURN_TRUE; /* the false case was done earlier */
case 16: /* lstat */
#if HAVE_SYMLINK
- stat_sb = &GLOBAL(lsb);
+ stat_sb = &lsb;
#endif
/* FALLTHROUGH */
case 17: /* stat */
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c
index 4efb949292..094c29c8d6 100644
--- a/ext/standard/formatted_print.c
+++ b/ext/standard/formatted_print.c
@@ -79,30 +79,29 @@ _php3_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag)
#ifndef THREAD_SAFE
static char cvt_buf[NDIG];
#endif
- TLS_VARS;
if (ndigits >= NDIG - 1)
ndigits = NDIG - 2;
r2 = 0;
*sign = 0;
- p = &STATIC(cvt_buf)[0];
+ p = &cvt_buf[0];
if (arg < 0) {
*sign = 1;
arg = -arg;
}
arg = modf(arg, &fi);
- p1 = &STATIC(cvt_buf)[NDIG];
+ p1 = &cvt_buf[NDIG];
/*
* Do integer part
*/
if (fi != 0) {
- p1 = &STATIC(cvt_buf)[NDIG];
+ p1 = &cvt_buf[NDIG];
while (fi != 0) {
fj = modf(fi / 10, &fi);
*--p1 = (int) ((fj + .03) * 10) + '0';
r2++;
}
- while (p1 < &STATIC(cvt_buf)[NDIG])
+ while (p1 < &cvt_buf[NDIG])
*p++ = *p1++;
} else if (arg > 0) {
while ((fj = arg * 10) < 1) {
@@ -110,41 +109,41 @@ _php3_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag)
r2--;
}
}
- p1 = &STATIC(cvt_buf)[ndigits];
+ p1 = &cvt_buf[ndigits];
if (eflag == 0)
p1 += r2;
*decpt = r2;
- if (p1 < &STATIC(cvt_buf)[0]) {
- STATIC(cvt_buf)[0] = '\0';
- return (STATIC(cvt_buf));
+ if (p1 < &cvt_buf[0]) {
+ cvt_buf[0] = '\0';
+ return (cvt_buf);
}
- while (p <= p1 && p < &STATIC(cvt_buf)[NDIG]) {
+ while (p <= p1 && p < &cvt_buf[NDIG]) {
arg *= 10;
arg = modf(arg, &fj);
*p++ = (int) fj + '0';
}
- if (p1 >= &STATIC(cvt_buf)[NDIG]) {
- STATIC(cvt_buf)[NDIG - 1] = '\0';
- return (STATIC(cvt_buf));
+ if (p1 >= &cvt_buf[NDIG]) {
+ cvt_buf[NDIG - 1] = '\0';
+ return (cvt_buf);
}
p = p1;
*p1 += 5;
while (*p1 > '9') {
*p1 = '0';
- if (p1 > STATIC(cvt_buf))
+ if (p1 > cvt_buf)
++ * --p1;
else {
*p1 = '1';
(*decpt)++;
if (eflag == 0) {
- if (p > STATIC(cvt_buf))
+ if (p > cvt_buf)
*p = '0';
p++;
}
}
}
*p = '\0';
- return (STATIC(cvt_buf));
+ return (cvt_buf);
}
@@ -567,7 +566,6 @@ PHP_FUNCTION(user_sprintf)
{
char *result;
int len;
- TLS_VARS;
if ((result=php3_formatted_print(ht,&len))==NULL) {
RETURN_FALSE;
@@ -581,7 +579,6 @@ PHP_FUNCTION(user_printf)
{
char *result;
int len;
- TLS_VARS;
if ((result=php3_formatted_print(ht,&len))==NULL) {
RETURN_FALSE;
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c
index c699136ceb..1c161468ef 100644
--- a/ext/standard/fsock.c
+++ b/ext/standard/fsock.c
@@ -154,7 +154,6 @@ static void _php3_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
int socketd = -1;
unsigned short portno;
char *key = NULL;
- TLS_VARS;
if (arg_count > 4 || arg_count < 2 || getParametersArray(ht,arg_count,args)==FAILURE) {
FREE_SOCK;
@@ -189,7 +188,7 @@ static void _php3_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
(void *) &sockp) == SUCCESS) {
efree(key);
*sock = *sockp;
- RETURN_LONG(php3_list_insert(sock, GLOBAL(wsa_fp)));
+ RETURN_LONG(php3_list_insert(sock, wsa_fp));
}
if (portno) {
@@ -266,7 +265,7 @@ static void _php3_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
key, strlen(key) + 1, NULL);
}
if(key) efree(key);
- id = php3_list_insert(sock,GLOBAL(wsa_fp));
+ id = php3_list_insert(sock,wsa_fp);
RETURN_LONG(id);
}
/* }}} */
diff --git a/ext/standard/head.c b/ext/standard/head.c
index 3b34ff8587..ab8eb483d6 100644
--- a/ext/standard/head.c
+++ b/ext/standard/head.c
@@ -58,21 +58,19 @@ CookieList *php3_PopCookieList(void);
int php3_init_head(INIT_FUNC_ARGS)
{
- TLS_VARS;
- GLOBAL(php3_HeaderPrinted) = 0;
- if (GLOBAL(header_called) == 0)
- GLOBAL(php3_PrintHeader) = 1;
- GLOBAL(top) = NULL;
- GLOBAL(cont_type) = NULL;
+ php3_HeaderPrinted = 0;
+ if (header_called == 0)
+ php3_PrintHeader = 1;
+ top = NULL;
+ cont_type = NULL;
return SUCCESS;
}
void php3_noheader(void)
{
- TLS_VARS;
- GLOBAL(php3_PrintHeader) = 0;
- GLOBAL(header_called) = 1;
+ php3_PrintHeader = 0;
+ header_called = 1;
}
@@ -87,7 +85,7 @@ void php4i_add_header_information(char *header_information)
char temp2[32];
#endif
- if (GLOBAL(php3_HeaderPrinted) == 1) {
+ if (php3_HeaderPrinted == 1) {
#if DEBUG
php3_error(E_WARNING, "Cannot add more header information - the header was already sent "
"(header information may be added only before any output is generated from the script - "
@@ -105,10 +103,10 @@ void php4i_add_header_information(char *header_information)
*r = '\0';
if (!strcasecmp(header_information, "Content-type")) {
if (*(r + 1) == ' ')
- GLOBAL(php3_rqst)->content_type = pstrdup(GLOBAL(php3_rqst)->pool,r + 2);
+ php3_rqst->content_type = pstrdup(php3_rqst->pool,r + 2);
else
- GLOBAL(php3_rqst)->content_type = pstrdup(GLOBAL(php3_rqst)->pool,r + 1);
- GLOBAL(cont_type) = (char *)GLOBAL(php3_rqst)->content_type;
+ php3_rqst->content_type = pstrdup(php3_rqst->pool,r + 1);
+ cont_type = (char *)php3_rqst->content_type;
} else {
if (*(r + 1) == ' ') {
rr = r + 2;
@@ -127,36 +125,36 @@ void php4i_add_header_information(char *header_information)
temp = _php3_regreplace("$", temp2, rr, 0, 0);
}
}
- table_set(GLOBAL(php3_rqst)->headers_out, header_information, temp);
+ table_set(php3_rqst->headers_out, header_information, temp);
} else
- table_set(GLOBAL(php3_rqst)->headers_out, header_information, rr);
+ table_set(php3_rqst->headers_out, header_information, rr);
}
if (!strcasecmp(header_information, "location")) {
- GLOBAL(php3_rqst)->status = REDIRECT;
+ php3_rqst->status = REDIRECT;
}
*r = ':';
- GLOBAL(php3_HeaderPrinted) = 2;
+ php3_HeaderPrinted = 2;
}
if (!strncasecmp(header_information, "http/", 5)) {
if (strlen(header_information) > 9) {
- GLOBAL(php3_rqst)->status = atoi(&((header_information)[9]));
+ php3_rqst->status = atoi(&((header_information)[9]));
}
/* Use a pstrdup here to get the memory straight from Apache's per-request pool to
* avoid having our own memory manager complain about this memory not being freed
* because it really shouldn't be freed until the end of the request and it isn't
* easy for us to figure out when we allocated it vs. when something else might have.
*/
- GLOBAL(php3_rqst)->status_line = pstrdup(GLOBAL(php3_rqst)->pool,&((header_information)[9]));
+ php3_rqst->status_line = pstrdup(php3_rqst->pool,&((header_information)[9]));
}
#else
r = strchr(header_information, ':');
if (r) {
*r = '\0';
if (!strcasecmp(header_information, "Content-type")) {
- if (GLOBAL(cont_type)) efree(GLOBAL(cont_type));
- GLOBAL(cont_type) = estrdup(r + 1);
+ if (cont_type) efree(cont_type);
+ cont_type = estrdup(r + 1);
#if 0 /*WIN32|WINNT / *M$ does us again*/
- if (!strcmp(GLOBAL(cont_type)," text/html")){
+ if (!strcmp(cont_type," text/html")){
*r=':';
PUTS_H(header_information);
PUTS_H("\015\012");
@@ -169,7 +167,7 @@ void php4i_add_header_information(char *header_information)
char *tempstr=emalloc(strlen(header_information)+2);
sprintf(tempstr,"%s\015\012",tempstr);
- GLOBAL(sapi_rqst)->header(GLOBAL(sapi_rqst)->scid,tempstr);
+ sapi_rqst->header(sapi_rqst->scid,tempstr);
efree(tempstr);
}
#elif FHTTPD
@@ -185,7 +183,7 @@ void php4i_add_header_information(char *header_information)
{
char *tempstr=emalloc(strlen(header_information)+2);
sprintf(tempstr,"%s\015\012",tempstr);
- GLOBAL(sapi_rqst)->header(GLOBAL(sapi_rqst)->scid,tempstr);
+ sapi_rqst->header(sapi_rqst->scid,tempstr);
efree(tempstr);
}
#elif FHTTPD
@@ -245,11 +243,11 @@ PHPAPI int php3_header(void)
}
#if APACHE
- if (!GLOBAL(php3_rqst)) { /* we're not in a request, allow output */
+ if (!php3_rqst) { /* we're not in a request, allow output */
PG(header_is_being_sent) = 0;
return 1;
}
- if ((GLOBAL(php3_PrintHeader) && !GLOBAL(php3_HeaderPrinted)) || (GLOBAL(php3_PrintHeader) && GLOBAL(php3_HeaderPrinted) == 2)) {
+ if ((php3_PrintHeader && !php3_HeaderPrinted) || (php3_PrintHeader && php3_HeaderPrinted == 2)) {
cookie = php3_PopCookieList();
while (cookie) {
if (cookie->name)
@@ -306,7 +304,7 @@ PHPAPI int php3_header(void)
if (cookie->secure) {
strcat(tempstr, "; secure");
}
- table_add(GLOBAL(php3_rqst)->headers_out, "Set-Cookie", tempstr);
+ table_add(php3_rqst->headers_out, "Set-Cookie", tempstr);
if (cookie->domain) efree(cookie->domain);
if (cookie->path) efree(cookie->path);
if (cookie->name) efree(cookie->name);
@@ -316,20 +314,20 @@ PHPAPI int php3_header(void)
cookie = php3_PopCookieList();
efree(tempstr);
}
- GLOBAL(php3_HeaderPrinted) = 1;
- GLOBAL(header_called) = 1;
- send_http_header(GLOBAL(php3_rqst));
- if (GLOBAL(php3_rqst)->header_only) {
+ php3_HeaderPrinted = 1;
+ header_called = 1;
+ send_http_header(php3_rqst);
+ if (php3_rqst->header_only) {
set_header_request(1);
PG(header_is_being_sent) = 0;
return(0);
}
}
#else
- if (GLOBAL(php3_PrintHeader) && !GLOBAL(php3_HeaderPrinted)) {
- if (!GLOBAL(cont_type)) {
+ if (php3_PrintHeader && !php3_HeaderPrinted) {
+ if (!cont_type) {
#if USE_SAPI
- GLOBAL(sapi_rqst)->header(GLOBAL(sapi_rqst)->scid,"Content-type: text/html\015\012\015\012");
+ sapi_rqst->header(sapi_rqst->scid,"Content-type: text/html\015\012\015\012");
#elif FHTTPD
php3_fhttpd_puts_header("Content-type: text/html\r\n");
#else
@@ -337,30 +335,30 @@ PHPAPI int php3_header(void)
#endif
} else {
#if 0 /*WIN32|WINNT / *M$ does us again*/
- if (!strcmp(GLOBAL(cont_type),"text/html")){
+ if (!strcmp(cont_type,"text/html")){
#endif
#if USE_SAPI
- tempstr=emalloc(strlen(GLOBAL(cont_type))+18);
- sprintf(tempstr,"Content-type: %s\015\012\015\012",GLOBAL(cont_type));
- GLOBAL(sapi_rqst)->header(GLOBAL(sapi_rqst)->scid,tempstr);
+ tempstr=emalloc(strlen(cont_type)+18);
+ sprintf(tempstr,"Content-type: %s\015\012\015\012",cont_type);
+ sapi_rqst->header(sapi_rqst->scid,tempstr);
efree(tempstr);
#elif FHTTPD
- tempstr = emalloc(strlen(GLOBAL(cont_type))
+ tempstr = emalloc(strlen(cont_type)
+ sizeof("Content-type:") + 2);
if(tempstr) {
strcpy(tempstr, "Content-type:");
strcpy(tempstr + sizeof("Content-type:") - 1,
- GLOBAL(cont_type));
+ cont_type);
strcat(tempstr, "\r\n");
php3_fhttpd_puts_header(tempstr);
efree(tempstr);
}
#else
PUTS_H("Content-type:");
- PUTS_H(GLOBAL(cont_type));
+ PUTS_H(cont_type);
PUTS_H("\015\012\015\012");
#endif
- efree(GLOBAL(cont_type));
+ efree(cont_type);
#if 0 /*WIN32|WINNT / *M$ does us again*/
} else {
PUTS_H("\015\012");
@@ -368,12 +366,12 @@ PHPAPI int php3_header(void)
#endif
}
#if USE_SAPI
- GLOBAL(sapi_rqst)->flush(GLOBAL(sapi_rqst)->scid);
+ sapi_rqst->flush(sapi_rqst->scid);
#else
fflush(stdout);
#endif
- GLOBAL(php3_HeaderPrinted) = 1;
- GLOBAL(header_called) = 1;
+ php3_HeaderPrinted = 1;
+ header_called = 1;
}
#endif
PG(header_is_being_sent) = 0;
@@ -383,27 +381,25 @@ PHPAPI int php3_header(void)
void php3_PushCookieList(char *name, char *value, time_t expires, char *path, char *domain, int secure)
{
CookieList *new;
- TLS_VARS;
new = emalloc(sizeof(CookieList));
- new->next = GLOBAL(top);
+ new->next = top;
new->name = name;
new->value = value;
new->expires = expires;
new->path = path;
new->domain = domain;
new->secure = secure;
- GLOBAL(top) = new;
+ top = new;
}
CookieList *php3_PopCookieList(void)
{
CookieList *ret;
- TLS_VARS;
- ret = GLOBAL(top);
- if (GLOBAL(top))
- GLOBAL(top) = GLOBAL(top)->next;
+ ret = top;
+ if (top)
+ top = top->next;
return (ret);
}
@@ -424,13 +420,12 @@ void php3_SetCookie(INTERNAL_FUNCTION_PARAMETERS)
int secure = 0;
pval *arg[6];
int arg_count;
- TLS_VARS;
arg_count = ARG_COUNT(ht);
if (arg_count < 1 || arg_count > 6 || getParametersArray(ht, arg_count, arg) == FAILURE) {
WRONG_PARAM_COUNT;
}
- if (GLOBAL(php3_HeaderPrinted) == 1) {
+ if (php3_HeaderPrinted == 1) {
php3_error(E_WARNING, "Oops, php3_SetCookie called after header has been sent\n");
return;
}
@@ -509,7 +504,7 @@ void php3_SetCookie(INTERNAL_FUNCTION_PARAMETERS)
{
char *tempstr2=emalloc(strlen(tempstr)+14);
sprintf(tempstr2,"Set-Cookie: %s\015\012",tempstr);
- GLOBAL(sapi_rqst)->header(GLOBAL(sapi_rqst)->scid,tempstr2);
+ sapi_rqst->header(sapi_rqst->scid,tempstr2);
efree(tempstr2);
}
#elif FHTTPD
@@ -538,8 +533,7 @@ void php3_SetCookie(INTERNAL_FUNCTION_PARAMETERS)
int php3_headers_unsent(void)
{
- TLS_VARS;
- if (GLOBAL(php3_HeaderPrinted)!=1 || !GLOBAL(php3_PrintHeader)) {
+ if (php3_HeaderPrinted!=1 || !php3_PrintHeader) {
return 1;
} else {
return 0;
diff --git a/ext/standard/html.c b/ext/standard/html.c
index 49baf94b41..db4c4364f6 100644
--- a/ext/standard/html.c
+++ b/ext/standard/html.c
@@ -60,7 +60,6 @@ static void _php3_htmlentities(INTERNAL_FUNCTION_PARAMETERS, int all)
int i, len, maxlen;
unsigned char *old;
char *new;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/image.c b/ext/standard/image.c
index a91607f3e7..f5400550e0 100644
--- a/ext/standard/image.c
+++ b/ext/standard/image.c
@@ -331,7 +331,7 @@ void php3_getimagesize(INTERNAL_FUNCTION_PARAMETERS)
RETURN_FALSE;
}
- pval_destructor(info _INLINE_TLS);
+ pval_destructor(info);
if (array_init(info) == FAILURE) {
return;
}
diff --git a/ext/standard/info.c b/ext/standard/info.c
index cfcf15a06c..ea90416530 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -106,7 +106,7 @@ void _php3_info(void)
PUTS("<img src=\"");
- /*PUTS(GLOBAL(php3_rqst)->uri);*/
+ /*PUTS(php3_rqst->uri);*/
PUTS("?=PHPE9568F34-D428-11d2-A769-00AA001ACF42\" border=\"0\" width=\"100\" height=\"56\" align=\"right\">\n");
php3_printf("<center><h1>PHP Version %s</h1></center>\n", PHP_VERSION);
PUTS("<p>by <a href=\"mailto:rasmus@lerdorf.on.ca\">Rasmus Lerdorf</a>,\n");
@@ -134,7 +134,7 @@ void _php3_info(void)
PUTS("HSREGEX=" PHP_HSREGEX "</td></tr>\n");
#endif
- _php3_hash_apply(&GLOBAL(module_registry),(int (*)(void *))_display_module_info);
+ _php3_hash_apply(&module_registry,(int (*)(void *))_display_module_info);
PUTS("</table>\n");
SECTION("Configuration");
@@ -196,7 +196,7 @@ void _php3_info(void)
PUTS("</table>");
#if USE_SAPI /* call a server module specific info function */
- GLOBAL(sapi_rqst)->info(GLOBAL(sapi_rqst));
+ sapi_rqst->info(sapi_rqst);
#endif
SECTION("Environment");
@@ -323,7 +323,7 @@ void _php3_info(void)
#if APACHE
{
register int i;
- array_header *arr = table_elts(GLOBAL(php3_rqst)->subprocess_env);
+ array_header *arr = table_elts(php3_rqst->subprocess_env);
table_entry *elts = (table_entry *)arr->elts;
SECTION("Apache Environment");
@@ -350,9 +350,9 @@ void _php3_info(void)
PUTS("<table border=5 width=\"600\">\n");
PUTS(" <tr><th colspan=2 bgcolor=\"" HEADER_COLOR "\">HTTP Request Headers</th></tr>\n");
PUTS("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">HTTP Request</td><td bgcolor=\"" CONTENTS_COLOR "\">");
- PUTS(GLOBAL(php3_rqst)->the_request);
+ PUTS(php3_rqst->the_request);
PUTS("&nbsp;</td></tr>\n");
- env_arr = table_elts(GLOBAL(php3_rqst)->headers_in);
+ env_arr = table_elts(php3_rqst->headers_in);
env = (table_entry *)env_arr->elts;
for (i = 0; i < env_arr->nelts; ++i) {
if (env[i].key) {
@@ -364,7 +364,7 @@ void _php3_info(void)
}
}
PUTS(" <tr><th colspan=2 bgcolor=\"" HEADER_COLOR "\">HTTP Response Headers</th></tr>\n");
- env_arr = table_elts(GLOBAL(php3_rqst)->headers_out);
+ env_arr = table_elts(php3_rqst->headers_out);
env = (table_entry *)env_arr->elts;
for(i = 0; i < env_arr->nelts; ++i) {
if (env[i].key) {
@@ -385,7 +385,7 @@ void _php3_info(void)
PUTS("<table width=\"100%%\"><tr>\n");
php3_printf("<td><h2>Zend</h2>This program makes use of the Zend scripting language engine:<br><pre>%s</pre></td>", get_zend_version());
PUTS("<td width=\"100\"><a href=\"http://www.zend.com/\"><img src=\"");
- /*PUTS(GLOBAL(php3_rqst)->uri);*/
+ /*PUTS(php3_rqst->uri);*/
PUTS("?=PHPE9568F35-D428-11d2-A769-00AA001ACF42\" border=\"0\" width=\"100\" height=\"89\"></a></td>\n");
PUTS("</tr></table>\n");
@@ -415,8 +415,6 @@ void _php3_info(void)
Output a page of useful information about PHP and the current request */
void php3_info(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
-
_php3_info();
RETURN_TRUE;
}
@@ -426,8 +424,6 @@ void php3_info(INTERNAL_FUNCTION_PARAMETERS)
Return the current PHP version */
void php3_version(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
-
RETURN_STRING(PHP_VERSION,1);
}
/* }}} */
diff --git a/ext/standard/mail.c b/ext/standard/mail.c
index af6820a869..da06d4007d 100644
--- a/ext/standard/mail.c
+++ b/ext/standard/mail.c
@@ -72,7 +72,6 @@ void php3_mail(INTERNAL_FUNCTION_PARAMETERS)
pval *argv[4];
char *to=NULL, *message=NULL, *headers=NULL, *subject=NULL;
int argc;
- TLS_VARS;
argc = ARG_COUNT(ht);
if (argc < 3 || argc > 4 || getParametersArray(ht, argc, argv) == FAILURE) {
diff --git a/ext/standard/math.c b/ext/standard/math.c
index eb427941eb..6641c4f037 100644
--- a/ext/standard/math.c
+++ b/ext/standard/math.c
@@ -44,7 +44,6 @@ char *_php3_number_format(double, int, char ,char);
Return the absolute value of the number */
void php3_abs(INTERNAL_FUNCTION_PARAMETERS) {
pval *value;
- TLS_VARS;
if (ARG_COUNT(ht)!=1||getParameters(ht,1,&value)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -69,7 +68,6 @@ void php3_abs(INTERNAL_FUNCTION_PARAMETERS) {
Returns the next highest integer value of the number */
void php3_ceil(INTERNAL_FUNCTION_PARAMETERS) {
pval *value;
- TLS_VARS;
if (ARG_COUNT(ht)!=1||getParameters(ht,1,&value)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -94,7 +92,6 @@ void php3_ceil(INTERNAL_FUNCTION_PARAMETERS) {
Returns the next lowest integer value from the number */
void php3_floor(INTERNAL_FUNCTION_PARAMETERS) {
pval *value;
- TLS_VARS;
if (ARG_COUNT(ht)!=1||getParameters(ht,1,&value)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -134,7 +131,6 @@ inline double rint(double n)
void php3_round(INTERNAL_FUNCTION_PARAMETERS)
{
pval *value;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &value) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -272,7 +268,6 @@ void php3_pi(INTERNAL_FUNCTION_PARAMETERS)
void php3_pow(INTERNAL_FUNCTION_PARAMETERS)
{
pval *num1, *num2;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht,2,&num1,&num2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -348,7 +343,6 @@ void php3_sqrt(INTERNAL_FUNCTION_PARAMETERS)
void php3_deg2rad(INTERNAL_FUNCTION_PARAMETERS)
{
pval *deg;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &deg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -363,7 +357,6 @@ void php3_deg2rad(INTERNAL_FUNCTION_PARAMETERS)
void php3_rad2deg(INTERNAL_FUNCTION_PARAMETERS)
{
pval *rad;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &rad) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -452,7 +445,6 @@ void php3_bindec(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
long ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -471,7 +463,6 @@ void php3_hexdec(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
long ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -490,7 +481,6 @@ void php3_octdec(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
long ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/md5.c b/ext/standard/md5.c
index 959b7dea9a..2aff1c07a4 100644
--- a/ext/standard/md5.c
+++ b/ext/standard/md5.c
@@ -46,7 +46,6 @@ void php3_md5(INTERNAL_FUNCTION_PARAMETERS)
unsigned char digest[16];
int i;
char *r;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index 81e0694a58..3e1094acda 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -65,7 +65,6 @@ void php3_microtime(INTERNAL_FUNCTION_PARAMETERS)
long sec = 0L;
double msec = 0.0;
char ret[100];
- TLS_VARS;
if (gettimeofday((struct timeval *) &tp, (NUL)) == 0) {
msec = (double) (tp.tv_usec / MICRO_IN_SEC);
diff --git a/ext/standard/mime.c b/ext/standard/mime.c
index d6f71e57ac..ec53b7d0d0 100644
--- a/ext/standard/mime.c
+++ b/ext/standard/mime.c
@@ -222,7 +222,7 @@ void php3_mime_split(char *buf, int cnt, char *boundary, pval *http_post_vars PL
}
bytes = fwrite(ptr, 1, loc - ptr - 4, fp);
fclose(fp);
- php3_list_insert(fn,GLOBAL(le_uploads)); /* Tell PHP about the file so the destructor can unlink it later */
+ php3_list_insert(fn,le_uploads); /* Tell PHP about the file so the destructor can unlink it later */
if (bytes < (loc - ptr - 4)) {
php3_error(E_WARNING, "Only %d bytes were written, expected to write %ld", bytes, loc - ptr - 4);
}
diff --git a/ext/standard/pack.c b/ext/standard/pack.c
index b6dfd1f5eb..3b4eab24cf 100644
--- a/ext/standard/pack.c
+++ b/ext/standard/pack.c
@@ -122,7 +122,6 @@ PHP_FUNCTION(pack)
int formatcount = 0;
int outputpos = 0, outputsize = 0;
char *output;
- TLS_VARS;
argc = ARG_COUNT(ht);
@@ -502,7 +501,6 @@ PHP_FUNCTION(unpack)
int formatlen;
int inputpos, inputlen;
int i;
- TLS_VARS;
if ((ARG_COUNT(ht) != 2) || getParameters(ht, 2, &formatarg, &inputarg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -811,7 +809,6 @@ int php3_minit_pack(INIT_FUNC_ARGS)
{
int machine_endian_check = 1;
int i;
- TLS_VARS;
machine_little_endian = ((char *)&machine_endian_check)[0];
diff --git a/ext/standard/pageinfo.c b/ext/standard/pageinfo.c
index 18ef5df956..e22fce3afd 100644
--- a/ext/standard/pageinfo.c
+++ b/ext/standard/pageinfo.c
@@ -60,7 +60,6 @@ static void _php3_statpage(void)
char *path;
struct stat sb;
#endif
- TLS_VARS;
#if APACHE
/* Apache has already gone through the trouble of doing
@@ -68,20 +67,20 @@ static void _php3_statpage(void)
values. We can afford it, and it means we don't have to
worry about resetting the static variables after every
hit. */
- GLOBAL(page_uid) = GLOBAL(php3_rqst)->finfo.st_uid;
- GLOBAL(page_inode) = GLOBAL(php3_rqst)->finfo.st_ino;
- GLOBAL(page_mtime) = GLOBAL(php3_rqst)->finfo.st_mtime;
+ page_uid = php3_rqst->finfo.st_uid;
+ page_inode = php3_rqst->finfo.st_ino;
+ page_mtime = php3_rqst->finfo.st_mtime;
#else
- if (GLOBAL(page_uid) == -1) {
- path = GLOBAL(request_info).filename;
+ if (page_uid == -1) {
+ path = request_info.filename;
if (path != NULL) {
if (stat(path, &sb) == -1) {
php3_error(E_WARNING, "Unable to find file: '%s'", path);
return;
}
- GLOBAL(page_uid) = sb.st_uid;
- GLOBAL(page_inode) = sb.st_ino;
- GLOBAL(page_mtime) = sb.st_mtime;
+ page_uid = sb.st_uid;
+ page_inode = sb.st_ino;
+ page_mtime = sb.st_mtime;
}
}
#endif
@@ -89,9 +88,8 @@ static void _php3_statpage(void)
long _php3_getuid(void)
{
- TLS_VARS;
_php3_statpage();
- return (GLOBAL(page_uid));
+ return (page_uid);
}
/* {{{ proto int getmyuid(void)
@@ -99,7 +97,6 @@ long _php3_getuid(void)
void php3_getmyuid(INTERNAL_FUNCTION_PARAMETERS)
{
long uid;
- TLS_VARS;
uid = _php3_getuid();
if (uid < 0) {
@@ -115,7 +112,6 @@ void php3_getmyuid(INTERNAL_FUNCTION_PARAMETERS)
void php3_getmypid(INTERNAL_FUNCTION_PARAMETERS)
{
int pid;
- TLS_VARS;
pid = getpid();
if (pid < 0) {
@@ -130,13 +126,11 @@ void php3_getmypid(INTERNAL_FUNCTION_PARAMETERS)
Get the inode of the current script being parsed */
void php3_getmyinode(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
-
_php3_statpage();
- if (GLOBAL(page_inode) < 0) {
+ if (page_inode < 0) {
RETURN_FALSE;
} else {
- RETURN_LONG(GLOBAL(page_inode));
+ RETURN_LONG(page_inode);
}
}
/* }}} */
@@ -145,13 +139,11 @@ void php3_getmyinode(INTERNAL_FUNCTION_PARAMETERS)
Get time of last page modification */
void php3_getlastmod(INTERNAL_FUNCTION_PARAMETERS)
{
- TLS_VARS;
-
_php3_statpage();
- if (GLOBAL(page_mtime) < 0) {
+ if (page_mtime < 0) {
RETURN_FALSE;
} else {
- RETURN_LONG(GLOBAL(page_mtime));
+ RETURN_LONG(page_mtime);
}
}
/* }}} */
diff --git a/ext/standard/post.c b/ext/standard/post.c
index 3520c0b3b1..21e09d521a 100644
--- a/ext/standard/post.c
+++ b/ext/standard/post.c
@@ -54,9 +54,8 @@ static char *php3_getpost(pval *http_post_vars PLS_DC)
int file_upload = 0;
char *mb;
char boundary[100];
- TLS_VARS;
- ctype = GLOBAL(request_info).content_type;
+ ctype = request_info.content_type;
if (!ctype) {
php3_error(E_WARNING, "POST Error: content-type missing");
return NULL;
@@ -81,7 +80,7 @@ static char *php3_getpost(pval *http_post_vars PLS_DC)
return NULL;
}
}
- length = GLOBAL(request_info).content_length;
+ length = request_info.content_length;
cnt = length;
buf = (char *) emalloc((length + 1) * sizeof(char));
if (!buf) {
@@ -93,23 +92,23 @@ static char *php3_getpost(pval *http_post_vars PLS_DC)
buf[length]=0;
#else
#if MODULE_MAGIC_NUMBER > 19961007
- if (should_client_block(GLOBAL(php3_rqst))) {
+ if (should_client_block(php3_rqst)) {
void (*handler) (int);
int dbsize, len_read, dbpos = 0;
- hard_timeout("copy script args", GLOBAL(php3_rqst)); /* start timeout timer */
+ hard_timeout("copy script args", php3_rqst); /* start timeout timer */
handler = signal(SIGPIPE, SIG_IGN); /* Ignore sigpipes for now */
- while ((len_read = get_client_block(GLOBAL(php3_rqst), argsbuffer, HUGE_STRING_LEN)) > 0) {
+ while ((len_read = get_client_block(php3_rqst, argsbuffer, HUGE_STRING_LEN)) > 0) {
if ((dbpos + len_read) > length)
dbsize = length - dbpos;
else
dbsize = len_read;
- reset_timeout(GLOBAL(php3_rqst)); /* Make sure we don't timeout */
+ reset_timeout(php3_rqst); /* Make sure we don't timeout */
memcpy(buf + dbpos, argsbuffer, dbsize);
dbpos += dbsize;
}
signal(SIGPIPE, handler); /* restore normal sigpipe handling */
- kill_timeout(GLOBAL(php3_rqst)); /* stop timeout timer */
+ kill_timeout(php3_rqst); /* stop timeout timer */
}
#else
cnt = 0;
@@ -121,7 +120,7 @@ static char *php3_getpost(pval *http_post_vars PLS_DC)
bytes = fread(buf + cnt, 1, length - cnt, stdin);
#endif
#if USE_SAPI
- bytes = GLOBAL(sapi_rqst)->readclient(GLOBAL(sapi_rqst)->scid,buf + cnt, 1, length - cnt);
+ bytes = sapi_rqst->readclient(sapi_rqst->scid,buf + cnt, 1, length - cnt);
#endif
cnt += bytes;
} while (bytes && cnt < length);
@@ -143,7 +142,7 @@ static char *php3_getpost(pval *http_post_vars PLS_DC)
postdata_ptr->value.str.len = cnt;
postdata_ptr->refcount=1;
postdata_ptr->is_ref=0;
- _php3_hash_add(&GLOBAL(symbol_table), "HTTP_FDF_DATA", sizeof("HTTP_FDF_DATA"), postdata_ptr, sizeof(pval *),NULL);
+ _php3_hash_add(&symbol_table, "HTTP_FDF_DATA", sizeof("HTTP_FDF_DATA"), postdata_ptr, sizeof(pval *),NULL);
}
#endif
return (buf);
@@ -349,12 +348,12 @@ void php3_treat_data(int arg, char *str)
if (arg == PARSE_POST) {
res = php3_getpost(array_ptr PLS_CC);
} else if (arg == PARSE_GET) { /* Get data */
- var = GLOBAL(request_info).query_string;
+ var = request_info.query_string;
if (var && *var) {
res = (char *) estrdup(var);
}
} else if (arg == PARSE_COOKIE) { /* Cookie data */
- var = (char *)GLOBAL(request_info).cookies;
+ var = (char *)request_info.cookies;
if (var && *var) {
res = (char *) estrdup(var);
}
@@ -408,27 +407,27 @@ void php3_TreatHeaders(void)
char *escaped_str;
PLS_FETCH();
- if (GLOBAL(php3_rqst)->headers_in)
- s = table_get(GLOBAL(php3_rqst)->headers_in, "Authorization");
+ if (php3_rqst->headers_in)
+ s = table_get(php3_rqst->headers_in, "Authorization");
if (!s)
return;
/* Check to make sure that this URL isn't authenticated
using a traditional auth module mechanism */
- if (auth_type(GLOBAL(php3_rqst))) {
+ if (auth_type(php3_rqst)) {
/*php3_error(E_WARNING, "Authentication done by server module\n");*/
return;
}
- if (strcmp(t=getword(GLOBAL(php3_rqst)->pool, &s, ' '), "Basic")) {
+ if (strcmp(t=getword(php3_rqst->pool, &s, ' '), "Basic")) {
/* Client tried to authenticate using wrong auth scheme */
php3_error(E_WARNING, "client used wrong authentication scheme (%s)", t);
return;
}
- t = uudecode(GLOBAL(php3_rqst)->pool, s);
+ t = uudecode(php3_rqst->pool, s);
#if MODULE_MAGIC_NUMBER > 19961007
- user = getword_nulls_nc(GLOBAL(php3_rqst)->pool, &t, ':');
+ user = getword_nulls_nc(php3_rqst->pool, &t, ':');
#else
- user = getword(GLOBAL(php3_rqst)->pool, &t, ':');
+ user = getword(php3_rqst->pool, &t, ':');
#endif
type = "Basic";
diff --git a/ext/standard/reg.c b/ext/standard/reg.c
index 4f37bf133a..9b7bbd1899 100644
--- a/ext/standard/reg.c
+++ b/ext/standard/reg.c
@@ -108,7 +108,6 @@ static void _php3_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
off_t start, end;
char *buf = NULL;
char *string = NULL;
- TLS_VARS;
if (icase)
copts |= REG_ICASE;
@@ -176,7 +175,7 @@ static void _php3_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
RETURN_FALSE;
}
- pval_destructor(array _INLINE_TLS); /* start with clean array */
+ pval_destructor(array); /* start with clean array */
array_init(array);
for (i = 0; i < NS; i++) {
@@ -366,7 +365,6 @@ static void _php3_eregreplace(INTERNAL_FUNCTION_PARAMETERS, int icase)
char *string;
char *replace;
char *ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &arg_pattern, &arg_replace, &arg_string) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -442,7 +440,6 @@ void php3_split(INTERNAL_FUNCTION_PARAMETERS)
regmatch_t subs[1];
char *strp, *endp;
int err, size, count;
- TLS_VARS;
switch (ARG_COUNT(ht)) {
case 2:
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 973081f02f..d87b57cf30 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -49,7 +49,6 @@
void php3_strlen(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -125,7 +124,6 @@ void php3_chop(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
register int i;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -156,7 +154,6 @@ void php3_trim(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
register int i;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -198,7 +195,6 @@ void php3_ltrim(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
register int i;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -268,7 +264,6 @@ void php3_implode(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg1, *arg2, *delim, *tmp, *arr;
int len = 0, count = 0;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -337,7 +332,6 @@ void php3_strtok(INTERNAL_FUNCTION_PARAMETERS)
char *token = NULL, *tokp=NULL;
char *first = NULL;
int argc;
- TLS_VARS;
argc = ARG_COUNT(ht);
@@ -352,35 +346,35 @@ void php3_strtok(INTERNAL_FUNCTION_PARAMETERS)
if (argc == 2) {
convert_to_string(str);
- STR_FREE(GLOBAL(strtok_string));
- GLOBAL(strtok_string) = estrndup(str->value.str.val,str->value.str.len);
- STATIC(strtok_pos1) = GLOBAL(strtok_string);
- STATIC(strtok_pos2) = NULL;
+ STR_FREE(strtok_string);
+ strtok_string = estrndup(str->value.str.val,str->value.str.len);
+ strtok_pos1 = strtok_string;
+ strtok_pos2 = NULL;
}
- if (STATIC(strtok_pos1) && *STATIC(strtok_pos1)) {
+ if (strtok_pos1 && *strtok_pos1) {
for ( /* NOP */ ; token && *token; token++) {
- STATIC(strtok_pos2) = strchr(STATIC(strtok_pos1), (int) *token);
- if (!first || (STATIC(strtok_pos2) && STATIC(strtok_pos2) < first)) {
- first = STATIC(strtok_pos2);
+ strtok_pos2 = strchr(strtok_pos1, (int) *token);
+ if (!first || (strtok_pos2 && strtok_pos2 < first)) {
+ first = strtok_pos2;
}
} /* NB: token is unusable now */
- STATIC(strtok_pos2) = first;
- if (STATIC(strtok_pos2)) {
- *STATIC(strtok_pos2) = '\0';
+ strtok_pos2 = first;
+ if (strtok_pos2) {
+ *strtok_pos2 = '\0';
}
- RETVAL_STRING(STATIC(strtok_pos1),1);
+ RETVAL_STRING(strtok_pos1,1);
#if 0
/* skip 'token' white space for next call to strtok */
- while (STATIC(strtok_pos2) &&
- strchr(tokp, *(STATIC(strtok_pos2)+1))) {
- STATIC(strtok_pos2)++;
+ while (strtok_pos2 &&
+ strchr(tokp, *(strtok_pos2+1))) {
+ strtok_pos2++;
}
#endif
- if (STATIC(strtok_pos2))
- STATIC(strtok_pos1) = STATIC(strtok_pos2) + 1;
+ if (strtok_pos2)
+ strtok_pos1 = strtok_pos2 + 1;
else
- STATIC(strtok_pos1) = NULL;
+ strtok_pos1 = NULL;
} else {
RETVAL_FALSE;
}
@@ -406,7 +400,6 @@ void php3_strtoupper(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
char *ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg)) {
WRONG_PARAM_COUNT;
@@ -438,7 +431,6 @@ void php3_strtolower(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
char *ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str)) {
WRONG_PARAM_COUNT;
@@ -456,7 +448,6 @@ void php3_basename(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
char *ret, *c;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str)) {
WRONG_PARAM_COUNT;
@@ -509,7 +500,6 @@ void php3_dirname(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
char *ret;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str)) {
WRONG_PARAM_COUNT;
@@ -544,7 +534,6 @@ void php3_stristr(INTERNAL_FUNCTION_PARAMETERS)
{
pval *haystack, *needle;
char *found = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &haystack, &needle) ==
FAILURE) {
@@ -573,7 +562,6 @@ void php3_strstr(INTERNAL_FUNCTION_PARAMETERS)
{
pval *haystack, *needle;
char *found = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &haystack, &needle) ==
FAILURE) {
@@ -608,7 +596,6 @@ void php3_strpos(INTERNAL_FUNCTION_PARAMETERS)
pval *haystack, *needle, *OFFSET;
int offset = 0;
char *found = NULL;
- TLS_VARS;
switch(ARG_COUNT(ht)) {
case 2:
@@ -657,7 +644,6 @@ void php3_strrpos(INTERNAL_FUNCTION_PARAMETERS)
{
pval *haystack, *needle;
char *found = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &haystack, &needle) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -685,7 +671,6 @@ void php3_strrchr(INTERNAL_FUNCTION_PARAMETERS)
{
pval *haystack, *needle;
char *found = NULL;
- TLS_VARS;
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &haystack, &needle) ==
FAILURE) {
@@ -753,7 +738,6 @@ void php3_chunk_split(INTERNAL_FUNCTION_PARAMETERS)
char *end = "\r\n";
int endlen = 2;
int chunklen = 76;
- TLS_VARS;
argc = ARG_COUNT(ht);
@@ -799,7 +783,6 @@ void php3_substr(INTERNAL_FUNCTION_PARAMETERS)
pval *string, *from, *len;
int argc, l;
int f;
- TLS_VARS;
argc = ARG_COUNT(ht);
@@ -858,7 +841,6 @@ void php3_quotemeta(INTERNAL_FUNCTION_PARAMETERS)
char *str, *old;
char *p, *q;
char c;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -902,7 +884,6 @@ void php3_quotemeta(INTERNAL_FUNCTION_PARAMETERS)
void php3_ord(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -918,7 +899,6 @@ void php3_chr(INTERNAL_FUNCTION_PARAMETERS)
{
pval *num;
char temp[2];
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &num) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -984,7 +964,6 @@ void php3_strtr(INTERNAL_FUNCTION_PARAMETERS)
unsigned char xlat[256];
unsigned char *str_from, *str_to, *string;
int i, len1, len2;
- TLS_VARS;
if (ARG_COUNT(ht) != 3 || getParameters(ht, 3, &str, &from, &to) ==
FAILURE) {
@@ -1117,7 +1096,6 @@ void php3_addslashes(INTERNAL_FUNCTION_PARAMETERS)
void php3_stripslashes(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -1141,8 +1119,8 @@ char *strerror(int errnum)
#endif
if ((unsigned int)errnum < sys_nerr) return(sys_errlist[errnum]);
- (void)sprintf(STATIC(str_ebuf), "Unknown error: %d", errnum);
- return(STATIC(str_ebuf));
+ (void)sprintf(str_ebuf, "Unknown error: %d", errnum);
+ return(str_ebuf);
}
#endif
#endif
diff --git a/ext/standard/uniqid.c b/ext/standard/uniqid.c
index 548838fdf9..e34d813138 100644
--- a/ext/standard/uniqid.c
+++ b/ext/standard/uniqid.c
@@ -54,11 +54,9 @@ void php3_uniqid(INTERNAL_FUNCTION_PARAMETERS)
{
#ifdef HAVE_GETTIMEOFDAY
pval *prefix;
-
char uniqid[128];
int sec, usec;
struct timeval tv;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht,1,&prefix)==FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/ext/standard/url.c b/ext/standard/url.c
index 4cd32961ea..a44f01a4dc 100644
--- a/ext/standard/url.c
+++ b/ext/standard/url.c
@@ -161,7 +161,6 @@ void php3_parse_url(INTERNAL_FUNCTION_PARAMETERS)
{
pval *string;
url *resource;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &string) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -270,7 +269,6 @@ void php3_urlencode(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
char *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -292,7 +290,6 @@ void php3_urldecode(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
int len;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -367,7 +364,6 @@ void php3_rawurlencode(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
char *str;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -389,7 +385,6 @@ void php3_rawurldecode(INTERNAL_FUNCTION_PARAMETERS)
{
pval *arg;
int len;
- TLS_VARS;
if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
WRONG_PARAM_COUNT;
diff --git a/fhttpd.c b/fhttpd.c
index 8069ea3d71..5bbc4c3233 100644
--- a/fhttpd.c
+++ b/fhttpd.c
@@ -169,7 +169,7 @@ PHPAPI void php3_fhttpd_puts_header(char *s)
}
}
-void fhttpd_flush( /*GLOBAL(php3_rqst)->connection */ void)
+void fhttpd_flush( /*php3_rqst->connection */ void)
{
}
diff --git a/main.h b/main.h
index 0c1f90a1ba..d80236031e 100644
--- a/main.h
+++ b/main.h
@@ -39,7 +39,7 @@
#include "php_globals.h"
int php3_request_startup(CLS_D ELS_DC PLS_DC);
-extern void php3_request_shutdown(void *dummy INLINE_TLS);
+extern void php3_request_shutdown(void *dummy);
extern void php3_request_shutdown_for_exec(void *dummy);
extern int php3_module_startup();
extern void php3_module_shutdown();
diff --git a/main/configuration-parser.y b/main/configuration-parser.y
index eded973084..19bbb0d62d 100644
--- a/main/configuration-parser.y
+++ b/main/configuration-parser.y
@@ -177,8 +177,8 @@ int php3_init_config(void)
}
#if WIN32|WINNT
{
- if (GLOBAL(php3_ini_path)) {
- default_location = GLOBAL(php3_ini_path);
+ if (php3_ini_path) {
+ default_location = php3_ini_path;
} else {
default_location = (char *) malloc(512);
@@ -189,17 +189,17 @@ int php3_init_config(void)
}
}
#else
- if (!GLOBAL(php3_ini_path)) {
+ if (!php3_ini_path) {
default_location = CONFIGURATION_FILE_PATH;
} else {
- default_location = GLOBAL(php3_ini_path);
+ default_location = php3_ini_path;
}
#endif
/* build a path */
php_ini_path = (char *) malloc(sizeof(".")+strlen(env_location)+strlen(default_location)+2+1);
- if (!GLOBAL(php3_ini_path)) {
+ if (!php3_ini_path) {
#if WIN32|WINNT
sprintf(php_ini_path,".;%s;%s",env_location,default_location);
#else
@@ -258,7 +258,7 @@ int php3_minit_browscap(INIT_FUNC_ARGS)
char *browscap = INI_STR("browscap");
if (browscap) {
- if (_php3_hash_init(&GLOBAL(browser_hash), 0, NULL, (void (*)(void *))pvalue_browscap_destructor, 1)==FAILURE) {
+ if (_php3_hash_init(&browser_hash, 0, NULL, (void (*)(void *))pvalue_browscap_destructor, 1)==FAILURE) {
return FAILURE;
}
@@ -268,7 +268,7 @@ int php3_minit_browscap(INIT_FUNC_ARGS)
return FAILURE;
}
init_cfg_scanner();
- active__php3_hash_table = &GLOBAL(browser_hash);
+ active__php3_hash_table = &browser_hash;
parsing_mode = PARSING_MODE_BROWSCAP;
currently_parsed_filename = browscap;
yyparse();
@@ -289,7 +289,7 @@ int php3_shutdown_config(void)
int php3_mshutdown_browscap(SHUTDOWN_FUNC_ARGS)
{
if (INI_STR("browscap")) {
- _php3_hash_destroy(&GLOBAL(browser_hash));
+ _php3_hash_destroy(&browser_hash);
}
return SUCCESS;
}
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c
index 74823b2945..6128750bf4 100644
--- a/main/fopen_wrappers.c
+++ b/main/fopen_wrappers.c
@@ -109,10 +109,10 @@ PHPAPI int _php3_check_open_basedir(char *path)
/* Special case basedir==".": Use script-directory */
if ((strcmp(PG(open_basedir), ".") == 0) &&
- GLOBAL(request_info).filename &&
- *GLOBAL(request_info).filename
+ request_info.filename &&
+ *request_info.filename
) {
- strcpy(local_open_basedir, GLOBAL(request_info).filename);
+ strcpy(local_open_basedir, request_info.filename);
local_open_basedir_pos = strlen(local_open_basedir) - 1;
/* Strip filename */
@@ -206,8 +206,8 @@ FILE *php3_fopen_for_parser(void)
int l;
PLS_FETCH();
- fn = GLOBAL(request_info).filename;
- path_info = GLOBAL(request_info).path_info;
+ fn = request_info.filename;
+ path_info = request_info.path_info;
#if HAVE_PWD_H
if (PG(user_dir) && *PG(user_dir)
&& path_info && '/' == path_info[0] && '~' == path_info[1]) {
@@ -234,8 +234,8 @@ FILE *php3_fopen_for_parser(void)
strcat(fn, PG(user_dir)); /* safe */
strcat(fn, "/"); /* safe */
strcat(fn, s + 1); /* safe (shorter than path_info) */
- STR_FREE(GLOBAL(request_info).filename);
- GLOBAL(request_info).filename = fn;
+ STR_FREE(request_info.filename);
+ request_info.filename = fn;
}
}
}
@@ -257,8 +257,8 @@ FILE *php3_fopen_for_parser(void)
if ('/' == path_info[0])
l--;
strcpy(fn + l, path_info);
- STR_FREE(GLOBAL(request_info).filename);
- GLOBAL(request_info).filename = fn;
+ STR_FREE(request_info.filename);
+ request_info.filename = fn;
}
} /* if doc_root && path_info */
if (!fn) {
@@ -266,8 +266,8 @@ FILE *php3_fopen_for_parser(void)
php3_destroy_request_info assumes that it will get
freed when the include_names hash is emptied, but
we're not adding it in this case */
- STR_FREE(GLOBAL(request_info).filename);
- GLOBAL(request_info).filename = NULL;
+ STR_FREE(request_info.filename);
+ request_info.filename = NULL;
return NULL;
}
fp = fopen(fn, "r");
@@ -279,7 +279,7 @@ FILE *php3_fopen_for_parser(void)
}
if (!fp) {
php3_error(E_CORE_ERROR, "Unable to open %s", fn);
- STR_FREE(GLOBAL(request_info).filename); /* for same reason as above */
+ STR_FREE(request_info.filename); /* for same reason as above */
return NULL;
}
diff --git a/main/main.c b/main/main.c
index 766858ead1..0b4596c742 100644
--- a/main/main.c
+++ b/main/main.c
@@ -57,7 +57,6 @@
#include "php_ini.h"
#include "php_globals.h"
#include "main.h"
-#include "control_structures.h"
#include "fopen-wrappers.h"
#include "ext/standard/php3_standard.h"
#include "snprintf.h"
@@ -96,7 +95,7 @@ int core_globals_id;
void _php3_build_argv(char * ELS_DC);
static void php3_timeout(int dummy);
-static void php3_set_timeout(long seconds INLINE_TLS);
+static void php3_set_timeout(long seconds);
void *gLock; /*mutex variable */
@@ -268,10 +267,8 @@ request_rec *php3_rqst = NULL; /* request record pointer for apache module versi
#if APACHE
void php3_apache_puts(const char *s)
{
- TLS_VARS;
-
- if (GLOBAL(php3_rqst)) {
- rputs(s, GLOBAL(php3_rqst));
+ if (php3_rqst) {
+ rputs(s, php3_rqst);
} else {
fputs(s, stdout);
}
@@ -279,10 +276,8 @@ void php3_apache_puts(const char *s)
void php3_apache_putc(char c)
{
- TLS_VARS;
-
- if (GLOBAL(php3_rqst)) {
- rputc(c, GLOBAL(php3_rqst));
+ if (php3_rqst) {
+ rputc(c, php3_rqst);
} else {
fputc(c, stdout);
}
@@ -315,7 +310,7 @@ void php3_log_err(char *log_message)
}
/* Otherwise fall back to the default logging location. */
#if APACHE
- if (GLOBAL(php3_rqst)) {
+ if (php3_rqst) {
#if MODULE_MAGIC_NUMBER >= 19970831
aplog_error(NULL, 0, APLOG_ERR | APLOG_NOERRNO, php3_rqst->server, log_message);
#else
@@ -498,14 +493,14 @@ static void php3_timeout(int dummy)
#define SIGPROF 27
#endif
-static void php3_set_timeout(long seconds INLINE_TLS)
+static void php3_set_timeout(long seconds)
{
#if WIN32|WINNT
if (seconds > 0) {
- GLOBAL(timerstart) = (unsigned int) clock();
- GLOBAL(wintimer) = GLOBAL(timerstart) + (CLOCKS_PER_SEC * seconds);
+ timerstart = (unsigned int) clock();
+ wintimer = timerstart + (CLOCKS_PER_SEC * seconds);
} else {
- GLOBAL(wintimer) = 0;
+ wintimer = 0;
}
#else
#if HAVE_SETITIMER
@@ -521,10 +516,10 @@ static void php3_set_timeout(long seconds INLINE_TLS)
}
-static void php3_unset_timeout(INLINE_TLS_VOID)
+static void php3_unset_timeout()
{
#if WIN32|WINNT
- GLOBAL(wintimer) = 0;
+ wintimer = 0;
#else
#if HAVE_SETITIMER
struct itimerval no_timeout;
@@ -560,8 +555,8 @@ void php3_set_time_limit(INTERNAL_FUNCTION_PARAMETERS)
should work fine. Is this FIXME a WIN32 problem? Is
there no way to do per-thread timers on WIN32?
*/
- php3_unset_timeout(_INLINE_TLS_VOID);
- php3_set_timeout(new_timeout->value.lval _INLINE_TLS);
+ php3_unset_timeout();
+ php3_set_timeout(new_timeout->value.lval);
}
@@ -606,9 +601,9 @@ static void php_message_handler_for_zend(long message, void *data)
snprintf(memory_leak_buf,512,"Possible PHP4 memory leak detected (harmless): 0x%0.8lX, %d bytes from %s:%d", (long) t, t->size, t->filename, t->lineno);
# if MODULE_MAGIC_NUMBER >= 19970831
- aplog_error(NULL, 0, APLOG_ERR | APLOG_NOERRNO, GLOBAL(php3_rqst)->server, memory_leak_buf);
+ aplog_error(NULL, 0, APLOG_ERR | APLOG_NOERRNO, php3_rqst->server, memory_leak_buf);
# else
- log_error(memory_leak_buf,GLOBAL(php3_rqst)->server);
+ log_error(memory_leak_buf,php3_rqst->server);
# endif
# else
php3_printf("Freeing 0x%0.8X (%d bytes), allocated in %s on line %d<br>\n",(void *)((char *)t+sizeof(mem_header)+PLATFORM_PADDING),t->size,t->filename,t->lineno);
@@ -625,7 +620,7 @@ int php3_request_startup(CLS_D ELS_DC PLS_DC)
{
zend_output_startup();
- php3_set_timeout(PG(max_execution_time) _INLINE_TLS);
+ php3_set_timeout(PG(max_execution_time));
#if APACHE
/*
@@ -637,7 +632,7 @@ int php3_request_startup(CLS_D ELS_DC PLS_DC)
* memory.
*/
block_alarms();
- register_cleanup(GLOBAL(php3_rqst)->pool, NULL, php3_request_shutdown, php3_request_shutdown_for_exec);
+ register_cleanup(php3_rqst->pool, NULL, php3_request_shutdown, php3_request_shutdown_for_exec);
unblock_alarms();
#endif
@@ -663,8 +658,6 @@ int php3_request_startup(CLS_D ELS_DC PLS_DC)
void php3_request_shutdown_for_exec(void *dummy)
{
- TLS_VARS;
-
/* used to close fd's in the 3..255 range here, but it's problematic
*/
shutdown_memory_manager(1, 1);
@@ -677,7 +670,7 @@ int return_one(void *p)
}
-void php3_request_shutdown(void *dummy INLINE_TLS)
+void php3_request_shutdown(void *dummy)
{
#if FHTTPD
char tmpline[128];
@@ -701,14 +694,14 @@ void php3_request_shutdown(void *dummy INLINE_TLS)
php3_destroy_request_info(NULL);
shutdown_memory_manager(0, 0);
php3_error(E_WARNING, "Unknown resources in request shutdown function");
- php3_unset_timeout(_INLINE_TLS_VOID);
+ php3_unset_timeout();
#if CGI_BINARY
fflush(stdout);
- if(GLOBAL(request_info).php_argv0) {
- free(GLOBAL(request_info).php_argv0);
- GLOBAL(request_info).php_argv0 = NULL;
+ if(request_info.php_argv0) {
+ free(request_info.php_argv0);
+ request_info.php_argv0 = NULL;
}
#endif
#if FHTTPD
@@ -750,7 +743,7 @@ void php3_request_shutdown(void *dummy INLINE_TLS)
req = NULL;
#endif
#if USE_SAPI
- GLOBAL(sapi_rqst)->flush(GLOBAL(sapi_rqst)->scid);
+ sapi_rqst->flush(sapi_rqst->scid);
#endif
}
@@ -764,7 +757,7 @@ static int php3_config_ini_startup()
return SUCCESS;
}
-static void php3_config_ini_shutdown(INLINE_TLS_VOID)
+static void php3_config_ini_shutdown()
{
php3_shutdown_config();
}
@@ -855,9 +848,12 @@ void php3_module_shutdown()
CLS_FETCH();
ELS_FETCH();
+ if (!module_initialized) {
+ return;
+ }
#if !USE_SAPI
/* close down the ini config */
- php3_config_ini_shutdown(_INLINE_TLS_VOID);
+ php3_config_ini_shutdown();
#endif
#if (WIN32|WINNT) && !(USE_SAPI)
@@ -865,14 +861,11 @@ void php3_module_shutdown()
WSACleanup();
#endif
- if (GLOBAL(module_initialized)) {
- php3_error(E_WARNING, "Unknown resource in module shutdown");
- }
#if CGI_BINARY
fflush(stdout);
#endif
#if 0 /* SAPI */
- GLOBAL(sapi_rqst)->flush(GLOBAL(sapi_rqst)->scid);
+ sapi_rqst->flush(sapi_rqst->scid);
#endif
zend_shutdown();
@@ -896,7 +889,7 @@ int _php3_hash_environment(PLS_D)
switch(*p++) {
case 'p':
case 'P':
- if (!_gpc_flags[0] && php3_headers_unsent() && GLOBAL(request_info).request_method && !strcasecmp(GLOBAL(request_info).request_method, "post")) {
+ if (!_gpc_flags[0] && php3_headers_unsent() && request_info.request_method && !strcasecmp(request_info.request_method, "post")) {
php3_treat_data(PARSE_POST, NULL); /* POST Data */
_gpc_flags[0]=1;
}
@@ -940,7 +933,7 @@ int _php3_hash_environment(PLS_D)
{
pval **tmp_ptr;
register int i;
- array_header *arr = table_elts(GLOBAL(php3_rqst)->subprocess_env);
+ array_header *arr = table_elts(php3_rqst->subprocess_env);
table_entry *elts = (table_entry *) arr->elts;
int len;
@@ -966,8 +959,8 @@ int _php3_hash_environment(PLS_D)
_php3_hash_update(&EG(symbol_table), "PATH_TRANSLATED", sizeof("PATH_TRANSLATED"), tmp_ptr, sizeof(pval *), NULL);
}
tmp = (pval *) emalloc(sizeof(pval));
- tmp->value.str.len = strlen(GLOBAL(php3_rqst)->uri);
- tmp->value.str.val = estrndup(GLOBAL(php3_rqst)->uri, tmp->value.str.len);
+ tmp->value.str.len = strlen(php3_rqst->uri);
+ tmp->value.str.val = estrndup(php3_rqst->uri, tmp->value.str.len);
tmp->refcount=1;
tmp->is_ref=0;
tmp->type = IS_STRING;
@@ -1026,7 +1019,7 @@ int _php3_hash_environment(PLS_D)
/* Build the special-case PHP_SELF variable for the CGI version */
char *pi;
#if FORCE_CGI_REDIRECT
- pi = GLOBAL(request_info).path_info;
+ pi = request_info.path_info;
tmp = (pval *) emalloc(sizeof(pval));
tmp->value.str.val = emalloc(((pi)?strlen(pi):0) + 1);
tmp->value.str.len = _php3_sprintf(tmp->value.str.val, "%s", (pi ? pi : "")); /* SAFE */
@@ -1036,8 +1029,8 @@ int _php3_hash_environment(PLS_D)
#else
int l = 0;
char *sn;
- sn = GLOBAL(request_info).script_name;
- pi = GLOBAL(request_info).path_info;
+ sn = request_info.script_name;
+ pi = request_info.path_info;
if (sn)
l += strlen(sn);
if (pi)
@@ -1059,7 +1052,7 @@ int _php3_hash_environment(PLS_D)
/* need argc/argv support as well */
- _php3_build_argv(GLOBAL(request_info).query_string ELS_CC);
+ _php3_build_argv(request_info.query_string ELS_CC);
return SUCCESS;
}
@@ -1254,8 +1247,8 @@ int main(int argc, char *argv[])
|| getenv("REQUEST_METHOD")) {
cgi = 1;
if (argc > 1)
- GLOBAL(request_info).php_argv0 = strdup(argv[1]);
- else GLOBAL(request_info).php_argv0 = NULL;
+ request_info.php_argv0 = strdup(argv[1]);
+ else request_info.php_argv0 = NULL;
#if FORCE_CGI_REDIRECT
if (!getenv("REDIRECT_STATUS")) {
PUTS("<b>Security Alert!</b> PHP CGI cannot be accessed directly.\n\
@@ -1292,7 +1285,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
CG(extended_info) = 0;
if (!cgi) { /* never execute the arguments if you are a CGI */
- GLOBAL(request_info).php_argv0 = NULL;
+ request_info.php_argv0 = NULL;
while ((c = getopt(argc, argv, "c:qvisnaeh?vf:")) != -1) {
switch (c) {
case 'f':
@@ -1337,7 +1330,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
behavior=PHP_MODE_INDENT;
break;
case 'c':
- GLOBAL(php3_ini_path) = strdup(optarg); /* intentional leak */
+ php3_ini_path = strdup(optarg); /* intentional leak */
break;
case 'a':
#if SUPPORT_INTERACTIVE
@@ -1377,13 +1370,13 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
file_handle.type = ZEND_HANDLE_FP;
file_handle.handle.fp = stdin;
if (_cgi_filename) {
- GLOBAL(request_info).filename = _cgi_filename;
+ request_info.filename = _cgi_filename;
}
php3_TreatHeaders();
if (!cgi) {
- if (!GLOBAL(request_info).query_string) {
+ if (!request_info.query_string) {
for (i = optind, len = 0; i < argc; i++)
len += strlen(argv[i]) + 1;
@@ -1394,10 +1387,10 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
if (i < (argc - 1))
strcat(s, "+");
}
- GLOBAL(request_info).query_string = s;
+ request_info.query_string = s;
}
- if (!GLOBAL(request_info).filename && argc > optind)
- GLOBAL(request_info).filename = argv[optind];
+ if (!request_info.filename && argc > optind)
+ request_info.filename = argv[optind];
}
/* If for some reason the CGI interface is not setting the
PATH_TRANSLATED correctly, request_info.filename is NULL.
@@ -1405,8 +1398,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
or user_dir configuration directives, PATH_INFO is used to construct
the filename as a side effect of php3_fopen_for_parser.
*/
- if (cgi || GLOBAL(request_info).filename) {
- file_handle.filename = GLOBAL(request_info).filename;
+ if (cgi || request_info.filename) {
+ file_handle.filename = request_info.filename;
file_handle.handle.fp = php3_fopen_for_parser();
}
@@ -1422,8 +1415,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
}
}
#endif
- php3_request_shutdown((void *) 0 _INLINE_TLS);
- php3_module_shutdown(_INLINE_TLS_VOID);
+ php3_request_shutdown((void *) 0);
+ php3_module_shutdown();
return FAILURE;
} else if (file_handle.handle.fp && file_handle.handle.fp!=stdin) {
/* #!php support */
@@ -1462,8 +1455,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
}
php3_header(); /* Make sure headers have been sent */
- php3_request_shutdown((void *) 0 _INLINE_TLS);
- php3_module_shutdown(_INLINE_TLS_VOID);
+ php3_request_shutdown((void *) 0);
+ php3_module_shutdown();
return SUCCESS;
}
#endif /* CGI_BINARY */
@@ -1482,7 +1475,7 @@ PHPAPI int apache_php3_module_main(request_rec * r, int fd, int display_source_m
php_core_globals *core_globals=&pcg;
#endif
- GLOBAL(php3_rqst) = r;
+ php3_rqst = r;
if (php3_request_startup(CLS_C ELS_CC PLS_CC) == FAILURE) {
return FAILURE;
@@ -1499,587 +1492,6 @@ PHPAPI int apache_php3_module_main(request_rec * r, int fd, int display_source_m
}
#endif /* APACHE */
-#if FHTTPD
-
-char *get_pretokenized_name(void)
-{
- char *pretokenized_name = NULL;
-
- if (GLOBAL(request_info).filename) {
- int length = strlen(GLOBAL(request_info).filename);
-
- if (length > (sizeof(".php3") - 1) && !strcmp(GLOBAL(request_info).filename + length - sizeof(".php3") + 1, ".php3")) {
- pretokenized_name = (char *) emalloc(length + 2);
- strcpy(pretokenized_name, GLOBAL(request_info).filename);
- strcat(pretokenized_name, "p");
- } else {
- length += sizeof(".php3p");
- pretokenized_name = (char *) emalloc(length + 1);
- strcpy(pretokenized_name, GLOBAL(request_info).filename);
- strcat(pretokenized_name, ".php3p");
- }
- } else {
- pretokenized_name = estrdup("stdin.php3p");
- }
- return pretokenized_name;
-}
-
-
-void _php3_usage(char *progname)
-{
- fprintf(stderr,
- "Usage: %s [options] [appname] [username] [hostname] [portname]\n"
- "Options:\n"
- " -d Daemon mode -- never attempt terminal I/O\n"
- " -s Socket mode, fhttpd internal use only\n"
- " -p Pipe mode, fhttpd internal use only\n"
- " -u<mask> Set umask\n"
- " -t<time> Idle timeout in seconds, 0 - disable\n"
- " -S Display colour syntax highlighted source\n"
- " -P Make and execute a pretokenized script\n"
- " (.php3p file) or, if pretokenized script, newer\n"
- " than original file exists, execute it instead\n"
- " -E Execute a pretokenized (.php3p) script\n"
- " -c<path> Look for php3.ini file in this directory\n"
- " (must appear before any other options)\n"
- " -v Version number\n"
- " -h This help\n",
- progname);
-}
-
-int main(int argc, char **argv)
-{
- int c, i, processing_error;
- FILE *in = NULL;
- FILE *in2;
- int preprocess_mode = PREPROCESS_NONE;
- int argc1;
- char **argv1;
- int human = 1, fd2;
- int i0 = 0, i1 = 0;
- char *pn;
- struct stat statbuf, pstatbuf;
-#ifdef ZTS
- zend_compiler_globals cg;
- zend_executor_globals eg;
- zend_compiler_globals *compiler_globals=&cg;
- zend_executor_globals *executor_globals=&eg;
-#endif
-
-#ifdef THREAD_SAFE
- php3_globals_struct *php3_globals;
- flex_globals *php_flex_gbl;
- tls_startup();
- tls_create();
- php_flex_gbl = yy_init_tls();
- php3_globals = TlsGetValue(TlsIndex);
-
- if ((php3_globals == 0) && (GetLastError() != 0)) {
- PUTS("TlsGetValue error\n");
- return FAILURE;
- }
-#endif
-
-#if HAVE_SETLOCALE
- setlocale(LC_CTYPE, "");
-#endif
-
- if (php3_module_startup() == FAILURE) {
- return FAILURE;
- }
- signal(SIGPIPE, SIG_IGN);
- umask(077);
-
- while ((c = getopt(argc, argv, "spdu:t:c:PESvh")) != -1) {
- switch (c) {
- case 'd':
- human = 0;
- break;
- case 's':
- i0 = 1;
- break;
- case 'p':
- i1 = 1;
- break;
- case 'u':
- if (*optarg == '0')
- umask(strtoul(optarg, NULL, 8));
- else
- umask(strtoul(optarg, NULL, 10));
- break;
- case 't':
- idle_timeout = atoi(optarg);
- break;
- case 'c':
- GLOBAL(php3_ini_path) = strdup(optarg); /* intentional leak */
- break;
- case 'P': /* preprocess */
- preprocess_mode = PREPROCESS_PREPROCESS;
- break;
- case 'E': /* execute preprocessed script */
- preprocess_mode = PREPROCESS_EXECUTE;
- break;
- case 'S':
- printf ("Not implemented yet\n");
- break;
- case 'v':
- printf("%s\n", PHP_VERSION);
- exit(1);
- break;
- case 'h':
- case ':':
- case '?':
- _php3_usage(argv[0]);
- return -1;
- }
- }
-
- argc1 = argc - optind;
- argv1 = (char **) malloc(sizeof(char *) * (argc1 + 2));
- if (!argv1)
- return -1;
- argv1 += 2;
- for (i = optind; i < argc; i++)
- argv1[i - optind] = argv[i];
-
- if (i0) {
- argv1--;
- *argv1 = "-s";
- argc1++;
- } else {
- if (i1) {
- argv1--;
- *argv1 = "-p";
- argc1++;
- }
- }
- argv1--;
- argc1++;
- *argv1 = *argv;
-
- server = createserver();
- if (!server)
- return -1;
-
- switch (servproc_init(server, human, argc1, argv1)) {
- case 0:
- break;
- case APP_ERR_HUMAN:
- _php3_usage(argv[0]);
- exit(1);
- break;
- case APP_ERR_CONFIG:
- fprintf(stderr, "%s: configuration error\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_READ:
- fprintf(stderr, "%s: read error\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_HOSTNAME:
- fprintf(stderr, "%s: can't resolve server hostname\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_SOCKET:
- fprintf(stderr, "%s: can't create socket\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_CONNECT:
- fprintf(stderr, "%s: can't connect\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_APPCONNECT:
- fprintf(stderr, "%s: connect error\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_USER:
- fprintf(stderr, "%s: login error\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_PASSWORD:
- fprintf(stderr, "%s: login error\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_APPLICATION:
- fprintf(stderr, "%s: application rejected by server\n", server->app_progname);
- exit(1);
- break;
- case APP_ERR_INSANE:
- case APP_ERR_DAEMON:
- case APP_ERR_AUTH:
- default:
- if (server->infd < 0)
- exit(1);
- }
-
- if (server->infd == 0 && server->outfd == 1) {
- close(2);
- fd2 = open("/dev/null", O_WRONLY);
- if (fd2 != 2) {
- dup2(fd2, 2);
- close(fd2);
- }
- }
- setcapabilities(server, APP_CAP_KEEPALIVE);
-
- exit_status = 0;
- while (!exit_status) {
- processing_error = 0;
- if (php3_request_startup(_INLINE_TLS_VOID) == FAILURE) {
- processing_error = 1;
- }
- if (!processing_error) {
- GLOBAL(phpin) = NULL;
- GLOBAL(current_lineno) = 0;
-
- php3_TreatHeaders();
-
- in = php3_fopen_for_parser();
-
- GLOBAL(php3_preprocess) = preprocess_mode;
-
- if (!in) {
- PUTS("No input file specified.\n");
- php3_request_shutdown((void *) 0 _INLINE_TLS);
- processing_error = 1;
- } else {
- if (GLOBAL(php3_preprocess) == PREPROCESS_PREPROCESS) {
- pn = get_pretokenized_name();
- if (pn) {
- if (!stat(pn, &pstatbuf)
- && !fstat(fileno(in), &statbuf)
- && S_ISREG(pstatbuf.st_mode)
- && statbuf.st_mtime < pstatbuf.st_mtime) {
- in2 = fopen(pn, "r");
- if (in2) {
- fclose(in);
- in = in2;
- GLOBAL(php3_preprocess) = PREPROCESS_EXECUTE;
- }
- }
- efree(pn);
- }
- }
- if (GLOBAL(php3_preprocess) != PREPROCESS_EXECUTE) {
- /* #!php support */
- c = fgetc(in);
- if (c == '#') {
- while (c != 10 && c != 13) {
- c = fgetc(in); /* skip to end of line */
- }
- CG(phplineno)++;
- } else {
- rewind(in);
- }
- }
- GLOBAL(phpin) = in;
- phprestart(GLOBAL(phpin));
-
- if (!processing_error) {
- if (GLOBAL(php3_preprocess) == PREPROCESS_EXECUTE) {
- if (tcm_load(&GLOBAL(token_cache_manager), GLOBAL(phpin))==FAILURE) {
- /* should bail out on an error, don't know how to do it in fhttpd */
- }
- GLOBAL(php3_preprocess) = PREPROCESS_NONE;
- }
- if (GLOBAL(php3_preprocess)!=PREPROCESS_NONE) {
- pval yylval;
-
- while (phplex(&yylval)); /* create the token cache */
- tcm_save(&GLOBAL(token_cache_manager));
- seek_token(&GLOBAL(token_cache_manager), 0, NULL);
- GLOBAL(php3_preprocess) = PREPROCESS_NONE;
- }
- php3_parse(GLOBAL(phpin) CLS_CC ELS_CC);
-
- }
- }
- }
- php3_header(); /* Make sure headers have been sent */
- php3_request_shutdown((void *) 0 _INLINE_TLS);
- }
- php3_module_shutdown(_INLINE_TLS_VOID);
-#ifdef THREAD_SAFE
- yy_destroy_tls();
- tls_shutdown();
- tls_destroy();
-#endif
- return 0;
-}
-#endif /* FHTTPD */
-
-#if USE_SAPI
-
-PHPAPI int php3_sapi_main(struct sapi_request_info *sapi_info)
-{
-#if DEBUG
- char logmessage[1024];
-#endif
- FILE *in = NULL;
- int c;
- YY_TLS_VARS;
- TLS_VARS;
-
- GLOBAL(php3_preprocess) = sapi_info->preprocess;
- GLOBAL(php3_display_source) = sapi_info->display_source_mode;
- GLOBAL(sapi_rqst) = sapi_info;
-
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: entry\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
-
-/* if (php3_module_startup(php3_globals) == FAILURE) {
- return FAILURE;
- }*/
-
- if (php3_request_startup(CLS_C ELS_CC PLS_CC) == FAILURE) {
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: request starup failed\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return FAILURE;
- }
- if (sapi_info->preprocess == PREPROCESS_PREPROCESS || sapi_info->quiet_mode) {
- php3_noheader();
- }
- if (sapi_info->info_only) {
- _php3_info();
- php3_request_shutdown((void *) GLOBAL(sapi_rqst), php3_globals);
- /*php3_module_shutdown(php3_globals);*/
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: info_only\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return (1);
- }
- /* if its not cgi, require that we have a filename now */
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: File: %s\n",GLOBAL(sapi_rqst)->scid,GLOBAL(sapi_rqst)->filename);
- OutputDebugString(logmessage);
-#endif
- if (!sapi_info->cgi && !sapi_info->filename) {
- php3_printf("No input file specified.\n");
- php3_request_shutdown((void *) GLOBAL(sapi_rqst), php3_globals);
- /*php3_module_shutdown(php3_globals);*/
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: No input file specified\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return FAILURE;
- }
- /*
- if request_info.filename is null and cgi, fopen_for_parser is responsible
- request_info.filename will only be estrduped in fopen_for parser
- if it is null at this point
- */
- in = php3_fopen_for_parser();
-
- if (sapi_info->cgi && !in) {
- php3_printf("No input file specified for cgi.\n");
- php3_request_shutdown((void *) GLOBAL(sapi_rqst), php3_globals);
- /*php3_module_shutdown(php3_globals);*/
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: No input file specified for cgi.\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return FAILURE;
- }
- if (sapi_info->cgi && in) {
- /* #!php support */
- c = fgetc(in);
- if (c == '#') {
- while (c != 10 && c != 13) {
- c = fgetc(in); /* skip to end of line */
- }
- } else {
- rewind(in);
- }
- }
- if (in) {
- GLOBAL(phpin) = in;
- phprestart(GLOBAL(phpin));
- }
- if (sapi_info->display_source_mode) {
- GLOBAL(php3_display_source) = 1;
- PUTS("<html><head><title>Source for ");
- PUTS(sapi_info->filename);
- PUTS("</title></head><body bgcolor=\"");
- PUTS(php3_ini.highlight_bg);
- PUTS("\" text=\"");
- PUTS(php3_ini.highlight_html);
- PUTS("\">\n"); /* color: seashell */
- }
- if (sapi_info->display_source_mode && sapi_info->preprocess == PREPROCESS_PREPROCESS) {
- php3_printf("Can't preprocess while displaying source.<br>\n");
- return FAILURE;
- }
- if (sapi_info->preprocess == PREPROCESS_EXECUTE) {
- tcm_load(&GLOBAL(token_cache_manager));
- GLOBAL(php3_preprocess) = PREPROCESS_NONE;
- }
- if (sapi_info->preprocess==PREPROCESS_NONE) {
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: start php3_parse() file:%s\n",GLOBAL(sapi_rqst)->scid,GLOBAL(sapi_rqst)->filename);
- OutputDebugString(logmessage);
-#endif
- php3_parse(GLOBAL(phpin) _INLINE_TLS);
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: done php3_parse()\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- } else {
- pval yylval;
-
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: entering phplex()\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
-#ifdef THREAD_SAFE
- while (phplex(&yylval, php3_globals, php_gbl)); /* create the token cache */
-#else
- while (phplex(&yylval)); /* create the token cache */
-#endif
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: done phplex()\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- tcm_save(&GLOBAL(token_cache_manager));
- }
-
- if (sapi_info->display_source_mode) {
- php3_printf("\n</html>\n");
- }
- if (GLOBAL(initialized)) {
- php3_header(); /* Make sure headers have been sent */
- php3_request_shutdown((void *) GLOBAL(sapi_rqst), php3_globals);
- /*php3_module_shutdown(php3_globals);*/
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: success!\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return SUCCESS;
- } else {
-#if DEBUG
- snprintf(logmessage,1024,"%d:php3_sapi_main: request not initialized!\n",GLOBAL(sapi_rqst)->scid);
- OutputDebugString(logmessage);
-#endif
- return FAILURE;
- }
-}
-#if WIN32|WINNT
-extern int tls_create(void);
-extern int tls_destroy(void);
-extern int tls_startup(void);
-extern int tls_shutdown(void);
-extern flex_globals *yy_init_tls(void);
-extern void yy_destroy_tls(void);
-extern VOID ErrorExit(LPTSTR lpszMessage);
-
-BOOL WINAPI DllMain(HANDLE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved)
-{
- php3_globals_struct *php3_globals;
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Entry\n");
-#endif
- switch (ul_reason_for_call) {
- case DLL_PROCESS_ATTACH:
- /*
- I should be loading ini vars here
- and doing whatever true global inits
- need to be done
- */
- _fmode = _O_BINARY; /*sets default for file streams to binary */
- /* make the stdio mode be binary */
- setmode(_fileno(stdin), O_BINARY);
- setmode(_fileno(stdout), O_BINARY);
- setmode(_fileno(stderr), O_BINARY);
- setlocale(LC_CTYPE, "");
-
- CREATE_MUTEX(gLock, "GENERAL");
-
- if (!tls_startup())
- return 0;
- if (!tls_create())
- return 0;
- php3_globals = TlsGetValue(TlsIndex);
- yy_init_tls();
- if (php3_config_ini_startup(_INLINE_TLS_VOID) == FAILURE) {
- return 0;
- }
- if (php3_module_startup() == FAILURE) {
- ErrorExit("module startup failed");
- return 0;
- }
-
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Process Attached\n");
-#endif
- break;
- case DLL_THREAD_ATTACH:
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Thread Attach\n");
-#endif
- if (!tls_create())
- return 0;
- php3_globals = TlsGetValue(TlsIndex);
- yy_init_tls();
- if (php3_module_startup() == FAILURE) {
- ErrorExit("module startup failed");
-#if DEBUG
- OutputDebugString("PHP_Core DllMain module startup failed\n");
-#endif
- return 0;
- }
- break;
- case DLL_THREAD_DETACH:
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Detache\n");
-#endif
- php3_globals = TlsGetValue(TlsIndex);
- php3_module_shutdown(php3_globals);
- if (!tls_destroy())
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Detache Error tls_destroy\n");
-#endif
- return 0;
- yy_destroy_tls();
- break;
- case DLL_PROCESS_DETACH:
- /*
- close down anything down in process_attach
- */
- php3_globals = TlsGetValue(TlsIndex);
- php3_module_shutdown(php3_globals);
-
- php3_config_ini_shutdown(_INLINE_TLS_VOID);
-
- if (!tls_destroy())
-#if DEBUG
- OutputDebugString("PHP_Core DllMain tls_destroy failed\n");
-#endif
- return 0;
- if (!tls_shutdown())
-#if DEBUG
- OutputDebugString("PHP_Core DllMain tls_shutdown failed\n");
-#endif
- return 0;
- yy_destroy_tls();
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Process Detatched\n");
-#endif
- break;
- }
-#if DEBUG
- OutputDebugString("PHP_Core DllMain Successful Exit\n");
-#endif
- return 1;
-}
-
-#endif
-#endif
/*
* Local variables:
* tab-width: 4
diff --git a/main/php.h b/main/php.h
index 835a93f111..1d66a43a85 100644
--- a/main/php.h
+++ b/main/php.h
@@ -117,43 +117,10 @@ extern unsigned char second_arg_allow_ref[];
# endif
#endif
-/*Thread Safety*/
-#if THREAD_SAFE
-#define GLOBAL(a) php3_globals->a
-#define STATIC GLOBAL
-#define TLS_VARS \
- php3_globals_struct *php3_globals; \
- php3_globals = TlsGetValue(TlsIndex);
-#define CREATE_MUTEX(a,b) a = CreateMutex (NULL, FALSE, b);
-#define SET_MUTEX(a) WaitForSingleObject( a, INFINITE );
-#define FREE_MUTEX(a) ReleaseMutex(a);
-
-/*redirect variables to the flex structure*/
-#if !defined(YY_BUFFER_NEW) && !defined(COMPILE_DL)
-#include "FlexSafe.h"
-#endif
-
-#define INLINE_TLS ,struct php3_global_struct *php3_globals
-#define INLINE_TLS_VOID struct php3_global_struct *php3_globals
-#define _INLINE_TLS ,php3_globals
-#define _INLINE_TLS_VOID php3_globals
-
-#else
-#define GLOBAL(a) a
-#define STATIC GLOBAL
-#define TLS_VARS
#define CREATE_MUTEX(a,b)
#define SET_MUTEX(a)
#define FREE_MUTEX(a)
-/* needed in control structures */
-#define INLINE_TLS
-#define INLINE_TLS_VOID void
-#define _INLINE_TLS
-#define _INLINE_TLS_VOID
-
-#endif
-
/*
* Then the ODBC support can use both iodbc and Solid,
* uncomment this.
diff --git a/main/safe_mode.c b/main/safe_mode.c
index c4992893a9..7cf1d2214d 100644
--- a/main/safe_mode.c
+++ b/main/safe_mode.c
@@ -125,30 +125,29 @@ PHPAPI char *_php3_get_current_user()
#endif
struct passwd *pwd;
int uid;
- TLS_VARS;
- if (GLOBAL(request_info).current_user) {
- return GLOBAL(request_info).current_user;
+ if (request_info.current_user) {
+ return request_info.current_user;
}
/* FIXME: I need to have this somehow handled if
USE_SAPI is defined, because cgi will also be
interfaced in USE_SAPI */
#if CGI_BINARY || USE_SAPI || FHTTPD
- if (!GLOBAL(request_info).filename || (stat(GLOBAL(request_info).filename,&statbuf)==-1)) {
+ if (!request_info.filename || (stat(request_info.filename,&statbuf)==-1)) {
return empty_string;
}
uid = statbuf.st_uid;
#endif
#if APACHE
- uid = GLOBAL(php3_rqst)->finfo.st_uid;
+ uid = php3_rqst->finfo.st_uid;
#endif
if ((pwd=getpwuid(uid))==NULL) {
return empty_string;
}
- GLOBAL(request_info).current_user_length = strlen(pwd->pw_name);
- GLOBAL(request_info).current_user = estrndup(pwd->pw_name,GLOBAL(request_info).current_user_length);
+ request_info.current_user_length = strlen(pwd->pw_name);
+ request_info.current_user = estrndup(pwd->pw_name,request_info.current_user_length);
- return GLOBAL(request_info).current_user;
+ return request_info.current_user;
}
diff --git a/mod_php3.c b/mod_php3.c
index 46febce3fb..9f8d56dc33 100644
--- a/mod_php3.c
+++ b/mod_php3.c
@@ -67,23 +67,8 @@
module MODULE_VAR_EXPORT php3_module;
-#ifndef THREAD_SAFE
int saved_umask;
-#else
-#define GLOBAL(a) php3_globals->a
-#define STATIC GLOBAL
-#define TLS_VARS \
- php3_globals_struct *php3_globals; \
- php3_globals = TlsGetValue(TlsIndex);
-#endif
-#ifndef TLS_VARS
-#define TLS_VARS
-#endif
-
-#ifndef GLOBAL
-#define GLOBAL(x) x
-#endif
#if WIN32|WINNT
/* popenf isn't working on Windows, use open instead*/
@@ -167,15 +152,13 @@ BOOL WINAPI DllMain(HANDLE hModule,
void php3_save_umask()
{
- TLS_VARS;
- GLOBAL(saved_umask) = umask(077);
- umask(GLOBAL(saved_umask));
+ saved_umask = umask(077);
+ umask(saved_umask);
}
void php3_restore_umask()
{
- TLS_VARS;
- umask(GLOBAL(saved_umask));
+ umask(saved_umask);
}
int send_php3(request_rec *r, int display_source_mode, char *filename)
diff --git a/output.c b/output.c
index d68bd56898..d7e2389a90 100644
--- a/output.c
+++ b/output.c
@@ -197,8 +197,8 @@ static int zend_ub_body_write(const char *str, uint str_length)
static int zend_apache_ub_write(const char *str, uint str_length)
{
- if (GLOBAL(php3_rqst)) {
- return rwrite(str, str_length, GLOBAL(php3_rqst));
+ if (php3_rqst) {
+ return rwrite(str, str_length, php3_rqst);
} else {
return fwrite(str, 1, str_length, stdout);
}
diff --git a/php3_threads.c b/php3_threads.c
deleted file mode 100644
index 6218f8fe67..0000000000
--- a/php3_threads.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include <stdio.h>
-#include "alloc.h"
-#include <errno.h>
-#if (WIN32|WINNT)
-#include <windows.h>
-#else
-#include <pthread.h>
-#endif
-#include "php3_threads.h"
-
-/* Function for allocating memory for mutexes */
-static void *php3_mutex_alloc( void )
-{
- MUTEX_T *mutexp;
- /* Allocate memory for the mutex and initialize it */
- if ( (mutexp = emalloc( sizeof(MUTEX_T) )) != NULL ) {
- MUTEX_INIT( mutexp, NULL );
- }
- return( mutexp );
-}
-
-/* Function for freeing mutexes */
-static void php3_mutex_free( void *mutexp )
-{
- MUTEX_DESTROY( (MUTEX_T *) mutexp );
-}
-
-static void php3_mutex_lock( void *mutexp )
-{
- return MUTEX_LOCK(mutexp);
-}
-
-static void php3_mutex_unlock( void *mutexp )
-{
- return MUTEX_UNLOCK(mutexp);
-}
-
-/* Function for setting up thread-specific data */
-/* should be called at thread start */
-int php3_tls_init(void *key,void *tsd,int size)
-{
- /* Check if thread-specific data already exists */
- tsd = TLS_GET_DATA( key );
- if ( tsd != NULL ) {
- /*FIXME what kind of output here? */
- fprintf( stderr, "php3_tls_setup tls var non-null!\n" );
- THREAD_EXIT( NULL );
- }
- /* Allocate memory for the LDAP error values */
- tsd = (void *) ecalloc( 1, size );
- /* Make the data specific to the calling thread */
- TLS_SET_DATA( key, tsd );
-}
-
-/*should be called before thread exit*/
-int php3_tls_free(void *key, void *tsd)
-{
- if (tsd)efree(tsd);
-}
-
-/*should be called at dl or process startup*/
-int php3_tls_startup(void *key)
-{
- if (key == NULL){
- if (TLS_ALLOC(key)==TLS_NOT_ALLOCED)
- return 0;
- }
- return 1;
-}
-
-/*should be called before dl or process exit*/
-int php3_tls_shutdown(void *key)
-{
- if (key != NULL){
- if (!TLS_FREE(key))
- return 0;
- }
- return 1;
-} \ No newline at end of file
diff --git a/php3_threads.h b/php3_threads.h
deleted file mode 100644
index 62fb4f8c08..0000000000
--- a/php3_threads.h
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#if WIN32|WINNT
-#define MUTEX_T void
-#define MUTEX_INIT(a,b) (a=CreateMutex(b,FALSE,NULL))
-#define MUTEX_DESTROY(a) CloseHandle(a)
-#define MUTEX_LOCK(a) WaitForSingleObject(a,INFINITE)
-#define MUTEX_UNLOCK(a) ReleaseMutex(a)
-#define TLS_ALLOC(a) (a=TlsAlloc())
-#define TLS_NOT_ALLOCED 0xFFFFFFFF
-#define TLS_GET_DATA(a) TlsGetValue(a)
-#define TLS_SET_DATA(a,b) TlsSetValue(a,b)
-#define TLS_FREE(a) TlsFree(a)
-#else /*PTHREADS*/
-#define MUTEX_T pthread_mutex_t
-#define MUTEX_INIT(a,b) pthread_mutex_init(a,b)
-#define MUTEX_DESTROY(a) pthread_mutex_destroy(a)
-#define MUTEX_LOCK(a) pthread_mutex_lock(a)
-#define MUTEX_UNLOCK(a) pthread_mutex_unlock(a)
-#define TLS_ALLOC(a)
-#define TLS_NOT_ALLOCED NULL
-#define TLS_GET_DATA(a) pthread_getspecific(a)
-#define TLS_SET_DATA(a,b) pthread_setspecific(a,b)
-#define TLS_FREE(a)
-#endif
-
-extern static void *php3_mutex_alloc( void );
-extern static void php3_mutex_free( void *mutexp );
-extern static void php3_mutex_lock( void *mutexp );
-extern static void php3_mutex_unlock( void *mutexp );
-extern int php3_tls_init(void *key,void *tsd,int size);
-extern int php3_tls_free(void *key, void *tsd);
-extern int php3_tls_startup(void *key);
-extern int php3_tls_shutdown(void *key);
diff --git a/php4.dsp b/php4.dsp
index a5cd9a2bbb..d53949a1cd 100644
--- a/php4.dsp
+++ b/php4.dsp
@@ -161,10 +161,6 @@ SOURCE=".\configuration-parser.tab.h"
# End Source File
# Begin Source File
-SOURCE=.\control_structures.h
-# End Source File
-# Begin Source File
-
SOURCE=.\ext\standard\cyr_convert.h
# End Source File
# Begin Source File
diff --git a/php4ts.dsp b/php4ts.dsp
index edd60af94f..af8dc88091 100644
--- a/php4ts.dsp
+++ b/php4ts.dsp
@@ -161,10 +161,6 @@ SOURCE=".\configuration-parser.tab.h"
# End Source File
# Begin Source File
-SOURCE=.\control_structures.h
-# End Source File
-# Begin Source File
-
SOURCE=.\ext\standard\cyr_convert.h
# End Source File
# Begin Source File
diff --git a/request_info.c b/request_info.c
index 330599f1da..86fad8c337 100644
--- a/request_info.c
+++ b/request_info.c
@@ -37,23 +37,22 @@ php3_request_info request_info;
int php3_init_request_info(void *conf)
{
char *buf; /* temporary buffers */
- TLS_VARS;
-
- GLOBAL(request_info).path_info = getenv("PATH_INFO");
- GLOBAL(request_info).path_translated = getenv("PATH_TRANSLATED");
- GLOBAL(request_info).query_string = getenv("QUERY_STRING");
- GLOBAL(request_info).current_user = NULL;
- GLOBAL(request_info).current_user_length = 0;
- GLOBAL(request_info).request_method = getenv("REQUEST_METHOD");
- GLOBAL(request_info).script_name = getenv("SCRIPT_NAME");
+
+ request_info.path_info = getenv("PATH_INFO");
+ request_info.path_translated = getenv("PATH_TRANSLATED");
+ request_info.query_string = getenv("QUERY_STRING");
+ request_info.current_user = NULL;
+ request_info.current_user_length = 0;
+ request_info.request_method = getenv("REQUEST_METHOD");
+ request_info.script_name = getenv("SCRIPT_NAME");
buf = getenv("CONTENT_LENGTH");
- GLOBAL(request_info).content_length = (buf ? atoi(buf) : 0);
- GLOBAL(request_info).content_type = getenv("CONTENT_TYPE");
- GLOBAL(request_info).cookies = getenv("HTTP_COOKIE");
- GLOBAL(request_info).script_filename = getenv("SCRIPT_FILENAME");
+ request_info.content_length = (buf ? atoi(buf) : 0);
+ request_info.content_type = getenv("CONTENT_TYPE");
+ request_info.cookies = getenv("HTTP_COOKIE");
+ request_info.script_filename = getenv("SCRIPT_FILENAME");
/* Hack for annoying servers that do not set SCRIPT_FILENAME for us */
- if (!GLOBAL(request_info).script_filename) {
- GLOBAL(request_info).script_filename = GLOBAL(request_info).php_argv0;
+ if (!request_info.script_filename) {
+ request_info.script_filename = request_info.php_argv0;
}
#if WIN32|WINNT
/* FIXME WHEN APACHE NT IS FIXED */
@@ -61,10 +60,10 @@ int php3_init_request_info(void *conf)
script filename to php.exe thus makes us parse php.exe instead of file.php
requires we get the info from path translated. This can be removed at
such a time taht apache nt is fixed */
- else if (GLOBAL(request_info).path_translated) {
- GLOBAL(request_info).script_filename = GLOBAL(request_info).path_translated;
+ else if (request_info.path_translated) {
+ request_info.script_filename = request_info.path_translated;
} else {
- GLOBAL(request_info).script_filename = NULL;
+ request_info.script_filename = NULL;
}
#endif
@@ -76,16 +75,16 @@ int php3_init_request_info(void *conf)
Notice that this means that we don't need to efree() it in
php3_destroy_request_info()! */
#if DISCARD_PATH
- if (GLOBAL(request_info).script_filename) {
- GLOBAL(request_info).filename = estrdup(GLOBAL(request_info).script_filename);
+ if (request_info.script_filename) {
+ request_info.filename = estrdup(request_info.script_filename);
} else {
- GLOBAL(request_info).filename = NULL;
+ request_info.filename = NULL;
}
#else
- if (GLOBAL(request_info).path_translated) {
- GLOBAL(request_info).filename = estrdup(GLOBAL(request_info).path_translated);
+ if (request_info.path_translated) {
+ request_info.filename = estrdup(request_info.path_translated);
} else {
- GLOBAL(request_info).filename = NULL;
+ request_info.filename = NULL;
}
#endif
return SUCCESS;
@@ -93,7 +92,7 @@ int php3_init_request_info(void *conf)
int php3_destroy_request_info(void *conf)
{
- STR_FREE(GLOBAL(request_info).current_user);
+ STR_FREE(request_info.current_user);
return SUCCESS;
}
#endif
@@ -107,7 +106,6 @@ int php3_init_request_info(void *conf)
{
static int exit_requested = 0;
int i, len;
- TLS_VARS;
req = NULL;
setalarm(idle_timeout);
@@ -123,22 +121,22 @@ int php3_init_request_info(void *conf)
strncpy(script_name_resolved_buffer, req->script_name_resolved, 2047);
script_name_resolved_buffer[2047] = 0;
- GLOBAL(request_info).path_info = NULL; /* Not supported */
- GLOBAL(request_info).path_translated = script_name_resolved_buffer;
- GLOBAL(request_info).query_string = req->query_string;
- GLOBAL(request_info).current_user = NULL;
- GLOBAL(request_info).current_user_length = 0;
- GLOBAL(request_info).request_method = method_names[req->method];
- GLOBAL(request_info).script_name = req->script_name;
- GLOBAL(request_info).content_length = req->databuffsize;
- GLOBAL(request_info).content_type = req->content_type;
- GLOBAL(request_info).cookies = NULL;
+ request_info.path_info = NULL; /* Not supported */
+ request_info.path_translated = script_name_resolved_buffer;
+ request_info.query_string = req->query_string;
+ request_info.current_user = NULL;
+ request_info.current_user_length = 0;
+ request_info.request_method = method_names[req->method];
+ request_info.script_name = req->script_name;
+ request_info.content_length = req->databuffsize;
+ request_info.content_type = req->content_type;
+ request_info.cookies = NULL;
for (i = 0; i < req->nlines; i++) {
if (req->lines[i].paramc > 1) {
if (req->lines[i].params[0]) {
if (!strcasecmp(req->lines[i].params[0], "HTTP_COOKIE")) {
if (req->lines[i].params[1]) {
- GLOBAL(request_info).cookies = req->lines[i].params[1];
+ request_info.cookies = req->lines[i].params[1];
}
}
}
@@ -151,10 +149,10 @@ int php3_init_request_info(void *conf)
the include file hash table, and gets freed with that table.
Notice that this means that we don't need to efree() it in
php3_destroy_request_info()! */
- if (GLOBAL(request_info).path_translated)
- GLOBAL(request_info).filename = estrdup(GLOBAL(request_info).path_translated);
+ if (request_info.path_translated)
+ request_info.filename = estrdup(request_info.path_translated);
else
- GLOBAL(request_info).filename = NULL;
+ request_info.filename = NULL;
return SUCCESS;
} else {
@@ -196,20 +194,19 @@ int php3_init_request_info(void *conf)
int php3_init_request_info(void *conf)
{
const char *buf;
- TLS_VARS;
- GLOBAL(request_info).current_user = NULL;
- GLOBAL(request_info).current_user_length = 0;
+ request_info.current_user = NULL;
+ request_info.current_user_length = 0;
- GLOBAL(request_info).filename = GLOBAL(php3_rqst)->filename;
- GLOBAL(request_info).request_method = GLOBAL(php3_rqst)->method;
- GLOBAL(request_info).query_string = GLOBAL(php3_rqst)->args;
- GLOBAL(request_info).content_type = table_get(GLOBAL(php3_rqst)->subprocess_env, "CONTENT_TYPE");
+ request_info.filename = php3_rqst->filename;
+ request_info.request_method = php3_rqst->method;
+ request_info.query_string = php3_rqst->args;
+ request_info.content_type = table_get(php3_rqst->subprocess_env, "CONTENT_TYPE");
- buf = table_get(GLOBAL(php3_rqst)->subprocess_env, "CONTENT_LENGTH");
- GLOBAL(request_info).content_length = (buf ? atoi(buf) : 0);
+ buf = table_get(php3_rqst->subprocess_env, "CONTENT_LENGTH");
+ request_info.content_length = (buf ? atoi(buf) : 0);
- GLOBAL(request_info).cookies = table_get(GLOBAL(php3_rqst)->subprocess_env, "HTTP_COOKIE");
+ request_info.cookies = table_get(php3_rqst->subprocess_env, "HTTP_COOKIE");
return SUCCESS;
}
@@ -220,21 +217,20 @@ int php3_init_request_info(void *conf)
/* temporary until I figure a beter way to do it */
int php3_init_request_info(void *conf)
{
- TLS_VARS;
- if (GLOBAL(sapi_rqst)->filename)
- GLOBAL(request_info).filename = estrdup(GLOBAL(sapi_rqst)->filename);
+ if (sapi_rqst->filename)
+ request_info.filename = estrdup(sapi_rqst->filename);
else
- GLOBAL(request_info).filename = NULL;
- GLOBAL(request_info).path_info = GLOBAL(sapi_rqst)->path_info;
- GLOBAL(request_info).path_translated = GLOBAL(sapi_rqst)->path_translated;
- GLOBAL(request_info).query_string = GLOBAL(sapi_rqst)->query_string;
- GLOBAL(request_info).current_user = GLOBAL(sapi_rqst)->current_user;
- GLOBAL(request_info).current_user_length = GLOBAL(sapi_rqst)->current_user_length;
- GLOBAL(request_info).request_method = GLOBAL(sapi_rqst)->request_method;
- GLOBAL(request_info).script_name = GLOBAL(sapi_rqst)->script_name;
- GLOBAL(request_info).content_length = GLOBAL(sapi_rqst)->content_length;
- GLOBAL(request_info).content_type = GLOBAL(sapi_rqst)->content_type;
- GLOBAL(request_info).cookies = GLOBAL(sapi_rqst)->cookies;
+ request_info.filename = NULL;
+ request_info.path_info = sapi_rqst->path_info;
+ request_info.path_translated = sapi_rqst->path_translated;
+ request_info.query_string = sapi_rqst->query_string;
+ request_info.current_user = sapi_rqst->current_user;
+ request_info.current_user_length = sapi_rqst->current_user_length;
+ request_info.request_method = sapi_rqst->request_method;
+ request_info.script_name = sapi_rqst->script_name;
+ request_info.content_length = sapi_rqst->content_length;
+ request_info.content_type = sapi_rqst->content_type;
+ request_info.cookies = sapi_rqst->cookies;
return SUCCESS;
}
diff --git a/win32/pwd.c b/win32/pwd.c
index 27194a7874..73c4b62c95 100644
--- a/win32/pwd.c
+++ b/win32/pwd.c
@@ -57,14 +57,12 @@ char *getlogin()
struct passwd *
getpwuid(int uid)
{
- TLS_VARS;
+ pw.pw_name = getlogin();
+ pw.pw_dir = home_dir;
+ pw.pw_shell = login_shell;
+ pw.pw_uid = 0;
- GLOBAL(pw).pw_name = getlogin();
- GLOBAL(pw).pw_dir = home_dir;
- GLOBAL(pw).pw_shell = login_shell;
- GLOBAL(pw).pw_uid = 0;
-
- return &GLOBAL(pw);
+ return &pw;
}
/*
diff --git a/win32/sendmail.c b/win32/sendmail.c
index 2889676a90..fbc76752ba 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -109,9 +109,8 @@ int TSendMail(char *host, int *error,
{
int ret;
char *RPath = NULL;
- TLS_VARS;
- GLOBAL(WinsockStarted) = FALSE;
+ WinsockStarted = FALSE;
if (host == NULL) {
*error = BAD_MAIL_HOST;
@@ -120,7 +119,7 @@ int TSendMail(char *host, int *error,
*error = BAD_MAIL_HOST;
return BAD_MAIL_HOST;
} else {
- strcpy(GLOBAL(MailHost), host);
+ strcpy(MailHost, host);
}
if (INI_STR("sendmail_from")){
@@ -155,8 +154,6 @@ int TSendMail(char *host, int *error,
//********************************************************************
void TSMClose()
{
- TLS_VARS;
-
Post("QUIT\n");
Ack();
// to guarantee that the cleanup is not made twice and
@@ -202,7 +199,6 @@ int SendText(char *RPath, char *Subject, char *mailTo, char *data, char *headers
int res, i;
char *p;
- TLS_VARS;
// check for NULL parameters
if (data == NULL)
@@ -217,27 +213,27 @@ int SendText(char *RPath, char *Subject, char *mailTo, char *data, char *headers
if (strchr(mailTo, '@') == NULL)
return (BAD_MSG_DESTINATION);
- sprintf(GLOBAL(Buffer), "HELO %s\n", GLOBAL(LocalHost));
+ sprintf(Buffer, "HELO %s\n", LocalHost);
// in the beggining of the dialog
// attempt reconnect if the first Post fail
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS) {
+ if ((res = Post(Buffer)) != SUCCESS) {
MailConnect();
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS)
+ if ((res = Post(Buffer)) != SUCCESS)
return (res);
}
if ((res = Ack()) != SUCCESS)
return (res);
- sprintf(GLOBAL(Buffer), "MAIL FROM:<%s>\n", RPath);
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS)
+ sprintf(Buffer, "MAIL FROM:<%s>\n", RPath);
+ if ((res = Post(Buffer)) != SUCCESS)
return (res);
if ((res = Ack()) != SUCCESS)
return (res);
- sprintf(GLOBAL(Buffer), "RCPT TO:<%s>\n", mailTo);
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS)
+ sprintf(Buffer, "RCPT TO:<%s>\n", mailTo);
+ if ((res = Post(Buffer)) != SUCCESS)
return (res);
if ((res = Ack()) != SUCCESS)
return (res);
@@ -272,12 +268,12 @@ int SendText(char *RPath, char *Subject, char *mailTo, char *data, char *headers
i = strlen(p);
// put next chunk in buffer
- strncpy(GLOBAL(Buffer), p, i);
- GLOBAL(Buffer)[i] = '\0';
+ strncpy(Buffer, p, i);
+ Buffer[i] = '\0';
p += i;
// send chunk
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS)
+ if ((res = Post(Buffer)) != SUCCESS)
return (res);
}
}
@@ -315,9 +311,8 @@ int PostHeader(char *RPath, char *Subject, char *mailTo, char *xheaders)
int zoneh = abs(_timezone);
int zonem, res;
char *p;
- TLS_VARS;
- p = GLOBAL(Buffer);
+ p = Buffer;
zoneh /= (60 * 60);
zonem = (abs(_timezone) / 60) - (zoneh * 60);
@@ -342,7 +337,7 @@ int PostHeader(char *RPath, char *Subject, char *mailTo, char *xheaders)
p += sprintf(p, "%s\r\n", xheaders);
}
- if ((res = Post(GLOBAL(Buffer))) != SUCCESS)
+ if ((res = Post(Buffer)) != SUCCESS)
return (res);
if ((res = Post("\r\n")) != SUCCESS)
@@ -365,29 +360,27 @@ int MailConnect()
{
int res;
- TLS_VARS;
-
// Create Socket
- if ((GLOBAL(sc) = socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
+ if ((sc = socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
return (FAILED_TO_OBTAIN_SOCKET_HANDLE);
// Get our own host name
- if (gethostname(GLOBAL(LocalHost), HOST_NAME_LEN))
+ if (gethostname(LocalHost, HOST_NAME_LEN))
return (FAILED_TO_GET_HOSTNAME);
// Resolve the servers IP
- //if (!isdigit(GLOBAL(MailHost)[0])||!gethostbyname(GLOBAL(MailHost)))
+ //if (!isdigit(MailHost[0])||!gethostbyname(MailHost))
//{
// return (FAILED_TO_RESOLVE_HOST);
//}
// Connect to server
- GLOBAL(sock_in).sin_family = AF_INET;
- GLOBAL(sock_in).sin_port = htons(25);
- GLOBAL(sock_in).sin_addr.S_un.S_addr = GetAddr(GLOBAL(MailHost));
+ sock_in.sin_family = AF_INET;
+ sock_in.sin_port = htons(25);
+ sock_in.sin_addr.S_un.S_addr = GetAddr(MailHost);
- if (connect(GLOBAL(sc), (LPSOCKADDR) & GLOBAL(sock_in), sizeof(GLOBAL(sock_in))))
+ if (connect(sc, (LPSOCKADDR) & sock_in, sizeof(sock_in)))
return (FAILED_TO_CONNECT);
// receive Server welcome message
@@ -413,10 +406,9 @@ int Post(LPCSTR msg)
int len = strlen(msg);
int slen;
int index = 0;
- TLS_VARS;
while (len > 0) {
- if ((slen = send(GLOBAL(sc), msg + index, len, 0)) < 1)
+ if ((slen = send(sc, msg + index, len, 0)) < 1)
return (FAILED_TO_SEND);
len -= slen;
index += slen;
@@ -442,7 +434,6 @@ int Ack()
int rlen;
int Index = 0;
int Received = 0;
- TLS_VARS;
if (!buf)
if ((buf = (char *) malloc(1024 * 4)) == NULL)
@@ -450,7 +441,7 @@ int Ack()
again:
- if ((rlen = recv(GLOBAL(sc), buf + Index, ((1024 * 4) - 1) - Received, 0)) < 1)
+ if ((rlen = recv(sc, buf + Index, ((1024 * 4) - 1) - Received, 0)) < 1)
return (FAILED_TO_RECEIVE);
Received += rlen;
diff --git a/win32/time.c b/win32/time.c
index c48315e3e4..ea0e2d1acb 100644
--- a/win32/time.c
+++ b/win32/time.c
@@ -101,10 +101,9 @@ int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue
{
int timeout = value->it_value.tv_sec * 1000 + value->it_value.tv_usec;
int repeat = TIME_ONESHOT;
- TLS_VARS;
/*make sure the message queue is initialized */
- PeekMessage(GLOBAL(phpmsg), NULL, WM_USER, WM_USER, PM_NOREMOVE);
+ PeekMessage(phpmsg, NULL, WM_USER, WM_USER, PM_NOREMOVE);
if (timeout > 0) {
struct timer_msg *msg = malloc(sizeof(struct timer_msg));
msg->threadid = GetCurrentThreadId();
@@ -114,15 +113,15 @@ int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue
switch (which) {
case ITIMER_REAL:
msg->signal = SIGALRM;
- GLOBAL(realtimer) = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
+ realtimer = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
break;
case ITIMER_VIRT:
msg->signal = SIGVTALRM;
- GLOBAL(virttimer) = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
+ virttimer = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
break;
case ITIMER_PROF:
msg->signal = SIGPROF;
- GLOBAL(proftimer) = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
+ proftimer = timeSetEvent(timeout, 100, (LPTIMECALLBACK) setitimer_timeout, (UINT) msg, repeat);
break;
default:
errno = EINVAL;
@@ -132,13 +131,13 @@ int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue
} else {
switch (which) {
case ITIMER_REAL:
- timeKillEvent(GLOBAL(realtimer));
+ timeKillEvent(realtimer);
break;
case ITIMER_VIRT:
- timeKillEvent(GLOBAL(virttimer));
+ timeKillEvent(virttimer);
break;
case ITIMER_PROF:
- timeKillEvent(GLOBAL(proftimer));
+ timeKillEvent(proftimer);
break;
default:
errno = EINVAL;
diff --git a/win32/wsyslog.c b/win32/wsyslog.c
index 701eeed913..616b6f8a07 100644
--- a/win32/wsyslog.c
+++ b/win32/wsyslog.c
@@ -63,9 +63,8 @@ static HANDLE loghdl = NULL; /* handle of event source */
void closelog(void)
{
- TLS_VARS;
- DeregisterEventSource(GLOBAL(loghdl));
- efree(GLOBAL(loghdr));
+ DeregisterEventSource(loghdl);
+ efree(loghdr);
}
/* Emulator for BSD syslog() routine
@@ -80,10 +79,9 @@ void syslog(int priority, const char *message,...)
LPTSTR strs[2];
char tmp[1024]; /* callers must be careful not to pop this */
unsigned short etype;
- TLS_VARS;
/* default event source */
- if (!GLOBAL(loghdl))
+ if (!loghdl)
openlog("c-client", LOG_PID, LOG_MAIL);
switch (priority) { /* translate UNIX type into NT type */
case LOG_ALERT:
@@ -97,10 +95,10 @@ void syslog(int priority, const char *message,...)
}
va_start(args, message); /* initialize vararg mechanism */
vsprintf(tmp, message, args); /* build message */
- strs[0] = GLOBAL(loghdr); /* write header */
+ strs[0] = loghdr; /* write header */
strs[1] = tmp; /* then the message */
/* report the event */
- ReportEvent(GLOBAL(loghdl), etype, (unsigned short) priority, 2000, NULL, 2, 0, strs, NULL);
+ ReportEvent(loghdl, etype, (unsigned short) priority, 2000, NULL, 2, 0, strs, NULL);
va_end(args);
}
@@ -114,12 +112,11 @@ void syslog(int priority, const char *message,...)
void openlog(const char *ident, int logopt, int facility)
{
char tmp[1024];
- TLS_VARS;
- if (GLOBAL(loghdl)) {
+ if (loghdl) {
closelog();
}
- GLOBAL(loghdl) = RegisterEventSource(NULL, ident);
+ loghdl = RegisterEventSource(NULL, ident);
sprintf(tmp, (logopt & LOG_PID) ? "%s[%d]" : "%s", ident, getpid());
- GLOBAL(loghdr) = estrdup(tmp); /* save header for later */
+ loghdr = estrdup(tmp); /* save header for later */
}