]> granicus.if.org Git - php/commitdiff
improve api
authorkrakjoe <joe.watkins@live.co.uk>
Wed, 27 Nov 2013 09:55:16 +0000 (09:55 +0000)
committerkrakjoe <joe.watkins@live.co.uk>
Wed, 27 Nov 2013 09:55:16 +0000 (09:55 +0000)
phpdbg_bp.c
phpdbg_break.c
phpdbg_cmd.c
phpdbg_cmd.h

index 61c8f74d0ab54cecdde13b9edc32e22fcf2a6fa8..8221628d7fd9f8a5111e7bd731fe73c9611dadcb 100644 (file)
@@ -66,7 +66,7 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle TSRMLS_DC) /* {{{ */
                phpdbg_notice(
                        "Exporting %ld breakpoints", 
                        zend_hash_num_elements(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP]));
-               
+               /* this only looks like magic, it isn't */      
                for (zend_hash_internal_pointer_reset_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], &position[0]);
                        zend_hash_get_current_data_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], (void**)&table, &position[0]) == SUCCESS;
                        zend_hash_move_forward_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], &position[0])) {
index 1b9b14b82a221f7bdf9423652057d5972b8b779f..a8a5677e8077c8336998c3546d2d0eb6cac40864 100644 (file)
@@ -48,7 +48,7 @@ PHPDBG_BREAK(method) /* {{{ */
 
                phpdbg_default_switch_case();
        }
-
+       
        return SUCCESS;
 } /* }}} */
 
index e9a81c950596a124cba8ca55360bb574dfddbcac..e01645fdcde1a18405651ff78937db63758ca663 100644 (file)
@@ -246,7 +246,7 @@ PHPDBG_API phpdbg_input_t *phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */
                } else cmd = buffered;
 
                /* allocate and sanitize buffer */
-               buffer = (phpdbg_input_t*) emalloc(sizeof(phpdbg_input_t));
+               buffer = (phpdbg_input_t*) ecalloc(1, sizeof(phpdbg_input_t));
                if (!buffer) {
                        return NULL;
                }
@@ -283,25 +283,31 @@ PHPDBG_API phpdbg_input_t *phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */
        return NULL;
 } /* }}} */
 
-PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t **input TSRMLS_DC) /*{{{ */
+PHPDBG_API void phpdbg_destroy_argv(phpdbg_input_t **argv, int argc TSRMLS_DC) /* {{{ */
 {
-       if (*input) {
-               if ((*input)->string) {
-                       efree((*input)->string);
-               }
-
-               if ((*input)->argc > 0) {
+       if (argv) {
+               if (argc) {
                        int arg;
-                       for (arg=0; arg<(*input)->argc; arg++) {
+                       for (arg=0; arg<argc; arg++) {
                                phpdbg_destroy_input(
-                                       &(*input)->argv[arg] TSRMLS_CC);
+                                       &argv[arg] TSRMLS_CC);
                        }
                }
+               efree(argv);
+       }
+       
+} /* }}} */
 
-               if ((*input)->argv) {
-                       efree((*input)->argv);
+PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t **input TSRMLS_DC) /*{{{ */
+{
+       if (*input) {
+               if ((*input)->string) {
+                       efree((*input)->string);
                }
 
+               phpdbg_destroy_argv(
+                       (*input)->argv, (*input)->argc TSRMLS_CC);
+
                efree(*input);
        }
 } /* }}} */
index d72cb5b0bd1741716bc2fea1cd7f795c690f4aaf..fcb96879c53b458071ccfa95ecb5a0f868a2a203 100644 (file)
@@ -112,8 +112,13 @@ typedef struct {
 * Input Management
 */
 PHPDBG_API phpdbg_input_t* phpdbg_read_input(char *buffered TSRMLS_DC);
-PHPDBG_API phpdbg_input_t** phpdbg_read_argv(char *buffer, int *argc TSRMLS_DC);
 PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t** TSRMLS_DC);
+
+/*
+* Argument Management
+*/
+PHPDBG_API phpdbg_input_t** phpdbg_read_argv(char *buffer, int *argc TSRMLS_DC);
+PHPDBG_API void phpdbg_destroy_argv(phpdbg_input_t **argv, int argc TSRMLS_DC);
 #define phpdbg_argv_is(n, s) \
        (memcmp(input->argv[n]->string, s, input->argv[n]->length-1) == SUCCESS)