Hey,

    The attached patch adds support for passing a variable to
    INIT_*CLASS_ENTRY in the name field (instead of just passing a
    constant string).  I've needed this for a function which provides
    API functionality, registering classes with Zend based on the
    information passed to it.

    -Sterling

    Ps: The Midguard folks needed this feature/ran up against this wall
    awhile ago as well.  Its the only reason I was able to find the
    problem without hours of painful debugging ;-)
Index: zend_API.h
===================================================================
RCS file: /repository/Zend/zend_API.h,v
retrieving revision 1.101
diff -u -r1.101 zend_API.h
--- zend_API.h  2001/08/06 02:48:55     1.101
+++ zend_API.h  2001/08/06 15:06:42
@@ -82,7 +82,7 @@
 #define INIT_CLASS_ENTRY(class_container, class_name, functions)       \
        {                                                                              
                                                 \
                class_container.name = strdup(class_name);                             
         \
-               class_container.name_length = sizeof(class_name)-1;                    
 \
+               class_container.name_length = strlen(class_name);                      
+ \
                class_container.builtin_functions = functions;                         
 \
                class_container.handle_function_call = NULL;                           
 \
                class_container.handle_property_get = NULL;                            
         \
@@ -92,7 +92,7 @@
 #define INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, 
handle_fcall, handle_propget, handle_propset) \
        {                                                                              
                                         \
                class_container.name = strdup(class_name);                             
 \
-               class_container.name_length = sizeof(class_name)-1;             \
+               class_container.name_length = strlen(class_name);               \
                class_container.builtin_functions = functions;                  \
                class_container.handle_function_call = handle_fcall;    \
                class_container.handle_property_get = handle_propget;   \
-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to