Please send patches, I'm very interested. :)
Perhaps we can combine the work I already did in this..

--Jani


On Mon, 2008-02-04 at 13:17 +0100, Marcus Boerger wrote:
> Hello Jani,
> 
>   I did some experiments with b) and I would indeed ignore everything
> that is configured out. I'll send you a patch as soon as I have somethign
> that works. For getting the variables into the configuratrion hash prior to
> parsing the INI I can send you the patch tonight if you care how I did that
> part.
> 
> marcus
> 
> Monday, February 4, 2008, 12:43:18 PM, you wrote:
> 
> > a) requires that certain constants are defined prior to parse happens
> > (I have patch for that waiting for commit already)
> 
> > b) Also requires the patch for constants but also a lot more
> > modifications to the parser. I've been working on adding the if..else
> > stuff but haven't had much time lately.
> 
> > It would be neat to have both a) and b). But the syntax for b)
> > should be something else. And it should be parse-time thing, not execute
> > time. ie. The scanner/parser should only add the "true" block into
> > config hash. I had this syntax in mind:
> 
> > #if expr
> > #elseif expr
> > #endif
> 
> > Similar syntax with CPP.. :)
> 
> > --Jani
> 
> 
> > On Mon, 2008-02-04 at 12:27 +0100, Marcus Boerger wrote:
> >> Hello Jani,
> >> 
> >>   I am trying to add stuff to configuration hash prior to calling the ini
> >> parser and then somehow allowing the parser for instance to act on the
> >> version of php, whether it is a debug build, and whether it is a zts build.
> >> That way I could have one config that loads the correct xdebug extension on
> >> my development machine. I see two possibilities here:
> >> a) zend_extension${php.debug?_debug:}${php.zts?_zts:} = 
> >> /usr/src/${php.tag}/ext/xdebug/xdebug.so
> >> b)
> >> [IF ${php.debug} && ${php.zts}]
> >> zend_extension_debug_zts = /usr/src/${php.tag}/ext/xdebug/xdebug.so
> >> [ELIF ${php.debug}]
> >> zend_extension_debug = /usr/src/${php.tag}/ext/xdebug/xdebug.so
> >> [ELIF ${php.zts}]
> >> zend_extension_zts = /usr/src/${php.tag}/ext/xdebug/xdebug.so
> >> [ELSE]
> >> zend_extension_zts = /usr/src/${php.tag}/ext/xdebug/xdebug.so
> >> [ENDIF]
> >> 
> >> Monday, February 4, 2008, 11:54:00 AM, you wrote:
> >> 
> >> > Like what stuff? :)
> >> 
> >> > --Jani
> >> 
> >> > On Mon, 2008-02-04 at 11:40 +0100, Marcus Boerger wrote:
> >> >> Hello Jani,
> >> >> 
> >> >>   for the moment probably only ofr me. But I am working on more stuff.
> >> >> 
> >> >> marcus
> >> >> 
> >> >> Monday, February 4, 2008, 10:28:09 AM, you wrote:
> >> >> 
> >> >> > This function was actually just for debugging. I didn't include it in 
> >> >> > by
> >> >> > default since I don't think it has much value to the end users..:)
> >> >> > Did you find some real usage for it?
> >> >> 
> >> >> > --Jani
> >> >> 
> >> >> > On Sun, 2008-02-03 at 14:35 +0000, Marcus Boerger wrote:
> >> >> >> helly         Sun Feb  3 14:35:29 2008 UTC
> >> >> >> 
> >> >> >>   Modified files:              
> >> >> >>     /php-src/ext/standard     basic_functions.c basic_functions.h 
> >> >> >>     /php-src/main     php_ini.c php_ini.h 
> >> >> >>   Log:
> >> >> >>   - Rename dump_config_hash() to get_config_hash() as it doesn't dump
> >> >> >>   
> >> >> >> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.887&r2=1.888&diff_format=u
> >> >> >> Index: php-src/ext/standard/basic_functions.c
> >> >> >> diff -u php-src/ext/standard/basic_functions.c:1.887 
> >> >> >> php-src/ext/standard/basic_functions.c:1.888
> >> >> >> --- php-src/ext/standard/basic_functions.c:1.887      Sat Jan 19 
> >> >> >> 19:23:25 2008
> >> >> >> +++ php-src/ext/standard/basic_functions.c    Sun Feb  3 14:35:29 
> >> >> >> 2008
> >> >> >> @@ -17,7 +17,7 @@
> >> >> >>     
> >> >> >> +----------------------------------------------------------------------+
> >> >> >>   */
> >> >> >>  
> >> >> >> -/* $Id: basic_functions.c,v 1.887 2008/01/19 19:23:25 davidc Exp $ 
> >> >> >> */
> >> >> >> +/* $Id: basic_functions.c,v 1.888 2008/02/03 14:35:29 helly Exp $ */
> >> >> >>  
> >> >> >>  #include "php.h"
> >> >> >>  #include "php_streams.h"
> >> >> >> @@ -943,11 +943,9 @@
> >> >> >>       ZEND_ARG_INFO(0, scanner_mode)
> >> >> >>  ZEND_END_ARG_INFO()
> >> >> >>  
> >> >> >> -#if ZEND_DEBUG
> >> >> >>  static
> >> >> >> -ZEND_BEGIN_ARG_INFO(arginfo_dump_config_hash, 0)
> >> >> >> +ZEND_BEGIN_ARG_INFO(arginfo_get_config_hash, 0)
> >> >> >>  ZEND_END_ARG_INFO()
> >> >> >> -#endif
> >> >> >>  
> >> >> >>  static
> >> >> >>  ZEND_BEGIN_ARG_INFO_EX(arginfo_import_request_variables, 0, 0, 1)
> >> >> >> @@ -3439,9 +3437,7 @@
> >> >> >>       PHP_FE(connection_status,                                      
> >> >> >>                                
> >> >> >> arginfo_connection_status)
> >> >> >>       PHP_FE(ignore_user_abort,                                      
> >> >> >>                                
> >> >> >> arginfo_ignore_user_abort)
> >> >> >>       PHP_FE(parse_ini_file,                                         
> >> >> >>                                
> >> >> >> arginfo_parse_ini_file)
> >> >> >> -#if ZEND_DEBUG
> >> >> >> -     PHP_FE(dump_config_hash,                                       
> >> >> >>                                
> >> >> >> arginfo_dump_config_hash)
> >> >> >> -#endif
> >> >> >> +     PHP_FE(get_config_hash,                                        
> >> >> >>                                
> >> >> >> arginfo_get_config_hash)
> >> >> >>       PHP_FE(is_uploaded_file,                                       
> >> >> >>                                
> >> >> >> arginfo_is_uploaded_file)
> >> >> >>       PHP_FE(move_uploaded_file,                                     
> >> >> >>                                
> >> >> >> arginfo_move_uploaded_file)
> >> >> >>  
> >> >> >> @@ -6340,18 +6336,16 @@
> >> >> >>  }
> >> >> >>  /* }}} */
> >> >> >>  
> >> >> >> -#if ZEND_DEBUG
> >> >> >> -/* {{{ proto void dump_config_hash(void)
> >> >> >> +/* {{{ proto array get_config_hash(void)
> >> >> >>   */
> >> >> >> -PHP_FUNCTION(dump_config_hash)
> >> >> >> +PHP_FUNCTION(get_config_hash)
> >> >> >>  {
> >> >> >> -     HashTable hash = get_configuration_hash();
> >> >> >> +     HashTable *hash = php_ini_get_configuration_hash();
> >> >> >>  
> >> >> >>       array_init(return_value);
> >> >> >> -     zend_hash_apply_with_arguments(&hash, (apply_func_args_t) 
> >> >> >> add_config_entry_cb, 1, return_value
> >> >> >> TSRMLS_CC);
> >> >> >> +     zend_hash_apply_with_arguments(hash, (apply_func_args_t) 
> >> >> >> add_config_entry_cb, 1, return_value
> >> >> >> TSRMLS_CC);
> >> >> >>  }
> >> >> >>  /* }}} */
> >> >> >> -#endif
> >> >> >>  
> >> >> >>  static int copy_request_variable(void *pDest, int num_args, va_list 
> >> >> >> args, zend_hash_key *hash_key) /*
> >> >> {{{ */
> >> >> >>  {
> >> >> >> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.h?r1=1.159&r2=1.160&diff_format=u
> >> >> >> Index: php-src/ext/standard/basic_functions.h
> >> >> >> diff -u php-src/ext/standard/basic_functions.h:1.159 
> >> >> >> php-src/ext/standard/basic_functions.h:1.160
> >> >> >> --- php-src/ext/standard/basic_functions.h:1.159      Mon Dec 31 
> >> >> >> 07:12:15 2007
> >> >> >> +++ php-src/ext/standard/basic_functions.h    Sun Feb  3 14:35:29 
> >> >> >> 2008
> >> >> >> @@ -17,7 +17,7 @@
> >> >> >>     
> >> >> >> +----------------------------------------------------------------------+
> >> >> >>  */
> >> >> >>  
> >> >> >> -/* $Id: basic_functions.h,v 1.159 2007/12/31 07:12:15 sebastian Exp 
> >> >> >> $ */
> >> >> >> +/* $Id: basic_functions.h,v 1.160 2008/02/03 14:35:29 helly Exp $ */
> >> >> >>  
> >> >> >>  #ifndef BASIC_FUNCTIONS_H
> >> >> >>  #define BASIC_FUNCTIONS_H
> >> >> >> @@ -125,9 +125,7 @@
> >> >> >>  
> >> >> >>  /* From the INI parser */
> >> >> >>  PHP_FUNCTION(parse_ini_file);
> >> >> >> -#if ZEND_DEBUG
> >> >> >>  PHP_FUNCTION(dump_config_hash);
> >> >> >> -#endif
> >> >> >>  
> >> >> >>  PHP_FUNCTION(str_rot13);
> >> >> >>  PHP_FUNCTION(stream_get_filters);
> >> >> >> http://cvs.php.net/viewvc.cgi/php-src/main/php_ini.c?r1=1.164&r2=1.165&diff_format=u
> >> >> >> Index: php-src/main/php_ini.c
> >> >> >> diff -u php-src/main/php_ini.c:1.164 php-src/main/php_ini.c:1.165
> >> >> >> --- php-src/main/php_ini.c:1.164      Mon Dec 31 07:12:18 2007
> >> >> >> +++ php-src/main/php_ini.c    Sun Feb  3 14:35:29 2008
> >> >> >> @@ -16,7 +16,7 @@
> >> >> >>     
> >> >> >> +----------------------------------------------------------------------+
> >> >> >>   */
> >> >> >>  
> >> >> >> -/* $Id: php_ini.c,v 1.164 2007/12/31 07:12:18 sebastian Exp $ */
> >> >> >> +/* $Id: php_ini.c,v 1.165 2008/02/03 14:35:29 helly Exp $ */
> >> >> >>  
> >> >> >>  #include "php.h"
> >> >> >>  #include "ext/standard/info.h"
> >> >> >> @@ -836,13 +836,10 @@
> >> >> >>  }
> >> >> >>  /* }}} */
> >> >> >>  
> >> >> >> -#if ZEND_DEBUG
> >> >> >> -#include "php_ini.h"
> >> >> >> -PHPAPI HashTable get_configuration_hash(void)
> >> >> >> +PHPAPI HashTable* php_ini_get_configuration_hash(void) /* {{{ */
> >> >> >>  {
> >> >> >> -     return configuration_hash;
> >> >> >> -}
> >> >> >> -#endif
> >> >> >> +     return &configuration_hash;
> >> >> >> +} /* }}} */
> >> >> >>  
> >> >> >>  /*
> >> >> >>   * Local variables:
> >> >> >> http://cvs.php.net/viewvc.cgi/php-src/main/php_ini.h?r1=1.55&r2=1.56&diff_format=u
> >> >> >> Index: php-src/main/php_ini.h
> >> >> >> diff -u php-src/main/php_ini.h:1.55 php-src/main/php_ini.h:1.56
> >> >> >> --- php-src/main/php_ini.h:1.55       Mon Dec 31 07:12:18 2007
> >> >> >> +++ php-src/main/php_ini.h    Sun Feb  3 14:35:29 2008
> >> >> >> @@ -16,7 +16,7 @@
> >> >> >>     
> >> >> >> +----------------------------------------------------------------------+
> >> >> >>  */
> >> >> >>  
> >> >> >> -/* $Id: php_ini.h,v 1.55 2007/12/31 07:12:18 sebastian Exp $ */
> >> >> >> +/* $Id: php_ini.h,v 1.56 2008/02/03 14:35:29 helly Exp $ */
> >> >> >>  
> >> >> >>  #ifndef PHP_INI_H
> >> >> >>  #define PHP_INI_H
> >> >> >> @@ -36,9 +36,7 @@
> >> >> >>  PHPAPI void php_ini_activate_config(HashTable *source_hash, int 
> >> >> >> modify_type, int stage TSRMLS_DC);
> >> >> >>  PHPAPI void php_ini_activate_per_dir_config(char *path, uint 
> >> >> >> path_len TSRMLS_DC);
> >> >> >>  PHPAPI void php_ini_activate_per_host_config(char *host, uint 
> >> >> >> host_len TSRMLS_DC);
> >> >> >> -#if ZEND_DEBUG
> >> >> >> -PHPAPI HashTable get_configuration_hash(void);
> >> >> >> -#endif
> >> >> >> +PHPAPI HashTable* php_in_get_configuration_hash(void);
> >> >> >>  END_EXTERN_C()
> >> >> >>  
> >> >> >>  #define PHP_INI_USER ZEND_INI_USER
> >> >> >> 
> >> >> > -- 
> >> >> > Patches/Donations: http://pecl.php.net/~jani/
> >> >> 
> >> >> 
> >> >> 
> >> >> 
> >> >> Best regards,
> >> >>  Marcus
> >> >> 
> >> 
> >> 
> >> 
> >> Best regards,
> >>  Marcus
> >> 
> 
> 
> 
> Best regards,
>  Marcus
> 
-- 
Patches/Donations: http://pecl.php.net/~jani/

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to