]> granicus.if.org Git - php/commitdiff
fix argc/argv
authorkrakjoe <joe.watkins@live.co.uk>
Sun, 13 Apr 2014 07:34:16 +0000 (08:34 +0100)
committerkrakjoe <joe.watkins@live.co.uk>
Sun, 13 Apr 2014 07:34:16 +0000 (08:34 +0100)
phpdbg.c
phpdbg_prompt.c

index 37a938f5554fe94773baaa7a1893a5f968fe2c20..89030731515c559c5a85a559033975c74ed99bfa 100644 (file)
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -1120,12 +1120,13 @@ phpdbg_main:
                
        if (phpdbg->startup(phpdbg) == SUCCESS) {
                int i;
+               
                SG(request_info).argc = argc - php_optind + 1;          
                SG(request_info).argv = emalloc(SG(request_info).argc * sizeof(char *));
                for (i = SG(request_info).argc; --i;) {
                        SG(request_info).argv[i] = estrdup(argv[php_optind - 1 + i]);
                }
-               SG(request_info).argv[php_optind - 1] = exec?exec:"";
+               SG(request_info).argv[i] = exec?exec:"";
                
                php_request_startup(TSRMLS_C);
 
index 373260c1d17e397b9c3beda4848a08cbf9004130..85f22ca9b5c7a5ccd20f1c1b6f0136662abd5346 100644 (file)
@@ -191,7 +191,9 @@ static inline int phpdbg_call_register(phpdbg_param_t *stack TSRMLS_DC) /* {{{ *
 void phpdbg_try_file_init(char *init_file, size_t init_file_len, zend_bool free_init TSRMLS_DC) /* {{{ */
 {
        struct stat sb;
-
+       
+       printf("try %s\n", init_file);
+       
        if (init_file && VCWD_STAT(init_file, &sb) != -1) {
                FILE *fp = fopen(init_file, "r");
                if (fp) {
@@ -304,7 +306,7 @@ next_line:
                if (free_init) {
                        free(init_file);
                }
-       }
+       } else printf("failed to open %s\n", init_file);
 } /* }}} */
 
 void phpdbg_init(char *init_file, size_t init_file_len, zend_bool use_default TSRMLS_DC) /* {{{ */
@@ -648,7 +650,8 @@ PHPDBG_COMMAND(run) /* {{{ */
                        char **argv = emalloc(5 * sizeof(char *));
                        int argc = 0;
                        int i;
-                       char *argv_str = strtok(input->string, " ");
+                       char *argv_str = NULL;
+                       printf("param->str: %s\n", param->str);
                        while (argv_str) {
                                if (argc >= 4 && argc == (argc & -argc)) {
                                        argv = erealloc(argv, (argc * 2 + 1) * sizeof(char *));