Browse Source

More TSRMLS_FETCH work

experimental/zts_stdc_scanners
Zeev Suraski 25 years ago
parent
commit
0b7fdbb690
  1. 6
      Zend/zend_ini.c
  2. 4
      Zend/zend_ini.h
  3. 7
      Zend/zend_ini_parser.y
  4. 6
      Zend/zend_ini_scanner.h
  5. 11
      Zend/zend_ini_scanner.l

6
Zend/zend_ini.c

@ -135,7 +135,7 @@ ZEND_API int zend_register_ini_entries(zend_ini_entry *ini_entry, int module_num
while (p->name) {
p->module_number = module_number;
if (zend_hash_add(registered_zend_ini_directives, p->name, p->name_length, p, sizeof(zend_ini_entry), (void **) &hashed_ini_entry)==FAILURE) {
zend_unregister_ini_entries(module_number);
zend_unregister_ini_entries(module_number TSRMLS_CC);
return FAILURE;
}
if ((zend_get_configuration_directive(p->name, p->name_length, &default_value))==SUCCESS) {
@ -155,10 +155,8 @@ ZEND_API int zend_register_ini_entries(zend_ini_entry *ini_entry, int module_num
}
ZEND_API void zend_unregister_ini_entries(int module_number)
ZEND_API void zend_unregister_ini_entries(int module_number TSRMLS_DC)
{
TSRMLS_FETCH();
zend_hash_apply_with_argument(registered_zend_ini_directives, (apply_func_arg_t) zend_remove_ini_entries, (void *) &module_number TSRMLS_CC);
}

4
Zend/zend_ini.h

@ -91,7 +91,7 @@ ZEND_API int zend_copy_ini_directives(TSRMLS_D);
ZEND_API void zend_ini_sort_entries(TSRMLS_D);
ZEND_API int zend_register_ini_entries(zend_ini_entry *ini_entry, int module_number TSRMLS_DC);
ZEND_API void zend_unregister_ini_entries(int module_number);
ZEND_API void zend_unregister_ini_entries(int module_number TSRMLS_DC);
ZEND_API void zend_ini_refresh_caches(int stage TSRMLS_DC);
ZEND_API int zend_alter_ini_entry(char *name, uint name_length, char *new_value, uint new_value_length, int modify_type, int stage);
ZEND_API int zend_restore_ini_entry(char *name, uint name_length, int stage);
@ -162,7 +162,7 @@ ZEND_API ZEND_INI_DISP(display_link_numbers);
#define REGISTER_INI_ENTRIES() zend_register_ini_entries(ini_entries, module_number TSRMLS_CC)
#define UNREGISTER_INI_ENTRIES() zend_unregister_ini_entries(module_number)
#define UNREGISTER_INI_ENTRIES() zend_unregister_ini_entries(module_number TSRMLS_CC)
#define DISPLAY_INI_ENTRIES() display_ini_entries(zend_module)
#define REGISTER_INI_DISPLAYER(name, displayer) zend_ini_register_displayer((name), sizeof(name), displayer)

7
Zend/zend_ini_parser.y

@ -123,9 +123,10 @@ static void ini_error(char *str)
{
char *error_buf;
int error_buf_len;
char *currently_parsed_filename = zend_ini_scanner_get_filename();
char *currently_parsed_filename;
TSRMLS_FETCH();
currently_parsed_filename = zend_ini_scanner_get_filename(TSRMLS_C);
error_buf_len = 128+strlen(currently_parsed_filename); /* should be more than enough */
error_buf = (char *) emalloc(error_buf_len);
@ -153,14 +154,14 @@ int zend_parse_ini_file(zend_file_handle *fh, zend_bool unbuffered_errors, zend_
ini_parser_param.ini_parser_cb = ini_parser_cb;
ini_parser_param.arg = arg;
if (zend_ini_open_file_for_scanning(fh)==FAILURE) {
if (zend_ini_open_file_for_scanning(fh TSRMLS_CC)==FAILURE) {
return FAILURE;
}
CG(ini_parser_unbuffered_errors) = unbuffered_errors;
retval = ini_parse(&ini_parser_param);
zend_ini_close_file(fh);
zend_ini_close_file(fh TSRMLS_CC);
if (retval==0) {
return SUCCESS;

6
Zend/zend_ini_scanner.h

@ -15,9 +15,9 @@ public:
BEGIN_EXTERN_C()
int zend_ini_scanner_get_lineno(TSRMLS_D);
char *zend_ini_scanner_get_filename(void);
int zend_ini_open_file_for_scanning(zend_file_handle *fh);
void zend_ini_close_file(zend_file_handle *fh);
char *zend_ini_scanner_get_filename(TSRMLS_D);
int zend_ini_open_file_for_scanning(zend_file_handle *fh TSRMLS_DC);
void zend_ini_close_file(zend_file_handle *fh TSRMLS_DC);
int ini_lex(zval *ini_lval);
END_EXTERN_C()

11
Zend/zend_ini_scanner.l

@ -63,7 +63,7 @@ int zend_ini_scanner_get_lineno()
}
char *zend_ini_scanner_get_filename()
char *zend_ini_scanner_get_filename(TSRMLS_D)
{
return ini_filename;
}
@ -75,10 +75,8 @@ int zend_ini_scanner_get_lineno(TSRMLS_D)
return CG(ini_scanner)->lineno();
}
char *zend_ini_scanner_get_filename()
char *zend_ini_scanner_get_filename(TSRMLS_D)
{
TSRMLS_FETCH();
return CG(ini_scanner)->filename;
}
@ -105,10 +103,9 @@ int yyFlexLexer::yylex()
#endif
int zend_ini_open_file_for_scanning(zend_file_handle *fh)
int zend_ini_open_file_for_scanning(zend_file_handle *fh TSRMLS_DC)
{
FILE *fp;
TSRMLS_FETCH();
switch (fh->type) {
case ZEND_HANDLE_FP:
@ -142,7 +139,7 @@ int zend_ini_open_file_for_scanning(zend_file_handle *fh)
}
void zend_ini_close_file(zend_file_handle *fh)
void zend_ini_close_file(zend_file_handle *fh TSRMLS_DC)
{
switch (fh->type) {
case ZEND_HANDLE_FP:

Loading…
Cancel
Save