[PHP-CVS] com php-src: reformat: CREDITS

2013-12-23 Thread Bob Weinand
Commit:7b215b36bc9c478955242c5252af5412b6f1bedf
Author:krakjoe joe.watk...@live.co.uk Mon, 23 Dec 2013 21:54:45 
+
Parents:   2d82e994b637f511fa160d5635318a61f0c06421
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=7b215b36bc9c478955242c5252af5412b6f1bedf

Log:
reformat

Changed paths:
  M  CREDITS


Diff:
diff --git a/CREDITS b/CREDITS
index 3a26c57..036bafe 100644
--- a/CREDITS
+++ b/CREDITS
@@ -1,4 +1,2 @@
 phpdbg
-Felipe Pena
-Joe Watkins
-Bob Weinand
+Felipe Pena, Joe Watkins, Bob Weinand


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



[PHP-CVS] com php-src: credits file for phpdbg: sapi/phpdbg/CREDITS

2013-12-23 Thread Bob Weinand
Commit:617aefbcda56d9ef1fe8410f68bc057815bf5b08
Author:Joe Watkins krak...@php.net Mon, 23 Dec 2013 22:36:30 +
Committer: Bob Weinand bobw...@hotmail.com  Tue, 24 Dec 2013 00:16:47 
+0100
Parents:   571ac343936dadc9673d2a94a8a8f36a606c8bb4
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=617aefbcda56d9ef1fe8410f68bc057815bf5b08

Log:
credits file for phpdbg

Changed paths:
  A  sapi/phpdbg/CREDITS


Diff:
diff --git a/sapi/phpdbg/CREDITS b/sapi/phpdbg/CREDITS
new file mode 100644
index 000..036bafe
--- /dev/null
+++ b/sapi/phpdbg/CREDITS
@@ -0,0 +1,2 @@
+phpdbg
+Felipe Pena, Joe Watkins, Bob Weinand


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



[PHP-CVS] com php-src: better way to detect leave/finish: phpdbg.c phpdbg.h phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:775376b362dfb9e9d0bf29dcd4cd2a2155117398
Author:krakjoe joe.watk...@live.co.uk Mon, 18 Nov 2013 03:18:37 
+
Parents:   8ada4342a47170a38799282919714997d3771c06
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=775376b362dfb9e9d0bf29dcd4cd2a2155117398

Log:
better way to detect leave/finish

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index ec8d267..e542906 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -101,7 +101,7 @@ static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 8, NULL, NULL, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_COND], 8, NULL, 
php_phpdbg_destroy_bp_condition, 0);
-
+   zend_hash_init(PHPDBG_G(seek), 8, NULL, NULL, 0);
return SUCCESS;
 } /* }}} */
 
@@ -112,7 +112,8 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE]);
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_COND]);
-
+   zend_hash_destroy(PHPDBG_G(seek));
+   
 if (PHPDBG_G(exec)) {
 efree(PHPDBG_G(exec));
 PHPDBG_G(exec) = NULL;
diff --git a/phpdbg.h b/phpdbg.h
index 0416b93..a12e03b 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -118,7 +118,7 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
phpdbg_param_t   *lparam;   /* last param */
zend_ulong flags;   /* phpdbg flags */
FILE *oplog;/* opline log */
-   zend_ulong seek;/* seek opline 
*/
+   HashTable seek; /* seek oplines 
*/
 ZEND_END_MODULE_GLOBALS(phpdbg)
 /* }}} */
 
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 7f976bf..a36cb24 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -309,7 +309,11 @@ static PHPDBG_COMMAND(until) /* {{{ */

for (next = self; next  EG(active_op_array)-last; next++) {
if (EG(active_op_array)-opcodes[next].lineno != 
opline-lineno) {
-   PHPDBG_G(seek) = (zend_ulong) 
EG(active_op_array)-opcodes[next];
+   zend_hash_index_update(
+   PHPDBG_G(seek), 
+   (zend_ulong) 
EG(active_op_array)-opcodes[next], 
+   EG(active_op_array)-opcodes[next],
+   sizeof(zend_op), NULL);
break;
}
}
@@ -332,8 +336,15 @@ static PHPDBG_COMMAND(finish) /* {{{ */
zend_op  *opline = EG(active_op_array)-opcodes[self];

for (next = self; next  EG(active_op_array)-last; next++) {
-   if (EG(active_op_array)-opcodes[next].opcode == 
ZEND_RETURN) {
-   PHPDBG_G(seek) = (zend_ulong) 
EG(active_op_array)-opcodes[next];
+   switch (EG(active_op_array)-opcodes[next].opcode) {
+   case ZEND_RETURN:
+   case ZEND_THROW:
+   case ZEND_EXIT:
+   zend_hash_index_update(
+   PHPDBG_G(seek), 
+   (zend_ulong) 
EG(active_op_array)-opcodes[next], 
+   
EG(active_op_array)-opcodes[next],
+   sizeof(zend_op), NULL);
break;
}
}
@@ -356,8 +367,15 @@ static PHPDBG_COMMAND(leave) /* {{{ */
zend_op  *opline = EG(active_op_array)-opcodes[self];

for (next = self; next  EG(active_op_array)-last; next++) {
-   if (EG(active_op_array)-opcodes[next].opcode == 
ZEND_RETURN) {
-   PHPDBG_G(seek) = (zend_ulong) 
EG(active_op_array)-opcodes[next];
+   switch (EG(active_op_array)-opcodes[next].opcode) {
+   case ZEND_RETURN:
+   case ZEND_THROW:
+   case ZEND_EXIT:
+   zend_hash_index_update(
+   PHPDBG_G(seek), 
+   (zend_ulong) 
EG(active_op_array)-opcodes[next], 
+   
EG(active_op_array)-opcodes[next],
+   sizeof(zend_op), NULL);
break;
}
}
@@ -397,8 +415,10 @@ static 

[PHP-CVS] com php-src: class printer: phpdbg_opcode.c phpdbg_print.c phpdbg_prompt.c phpdbg_utils.c test.php

2013-12-21 Thread Bob Weinand
Commit:68cff82d8bd6b046cbac556136b88dd76d6a116b
Author:krakjoe joe.watk...@live.co.uk Wed, 13 Nov 2013 01:35:39 
+
Parents:   43c2748dced2a77b34c09c15e403c6970b74e2b2
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=68cff82d8bd6b046cbac556136b88dd76d6a116b

Log:
class printer

Changed paths:
  M  phpdbg_opcode.c
  M  phpdbg_print.c
  M  phpdbg_prompt.c
  M  phpdbg_utils.c
  M  test.php


Diff:
diff --git a/phpdbg_opcode.c b/phpdbg_opcode.c
index 5796678..39a5169 100644
--- a/phpdbg_opcode.c
+++ b/phpdbg_opcode.c
@@ -191,6 +191,7 @@ const char *phpdbg_decode_opcode(zend_uchar opcode) /* {{{ 
*/
CASE(ZEND_RECV_VARIADIC);
 #endif
CASE(ZEND_OP_DATA);
-   default: return UNKNOWN;
+   default: 
+   return UNKNOWN;
}
 } /* }}} */
diff --git a/phpdbg_print.c b/phpdbg_print.c
index c0d8fb4..f5cbbd3 100644
--- a/phpdbg_print.c
+++ b/phpdbg_print.c
@@ -20,6 +20,7 @@
 #include phpdbg.h
 #include phpdbg_print.h
 #include phpdbg_utils.h
+#include phpdbg_opcode.h
 
 ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
 
@@ -41,7 +42,59 @@ PHPDBG_PRINT(class) /* {{{ */
 
if (expr  expr_len  0L) {
if (zend_lookup_class(expr, strlen(expr), ce TSRMLS_CC) == 
SUCCESS) {
+   phpdbg_notice(
+   %s %s: %s, 
+   ((*ce)-type == ZEND_USER_CLASS) ? 
+   User : Internal,
+   ((*ce)-ce_flags  ZEND_ACC_INTERFACE) ? 
+   Interface :
+   ((*ce)-ce_flags  ZEND_ACC_ABSTRACT) ?
+   Abstract Class :
+   Class, 
+   (*ce)-name);

+   phpdbg_writeln(Methods (%d):, 
zend_hash_num_elements((*ce)-function_table));
+   if (zend_hash_num_elements((*ce)-function_table)) {
+   HashPosition position;
+   zend_function *method;
+   
+   for 
(zend_hash_internal_pointer_reset_ex((*ce)-function_table, position);
+zend_hash_get_current_data_ex((*ce)-function_table, 
(void**) method, position) == SUCCESS;
+zend_hash_move_forward_ex((*ce)-function_table, 
position)) {
+switch (method-type) {
+   case ZEND_USER_FUNCTION: {
+   zend_op_array* op_array = method-op_array;
+   
+if (op_array) {
+zend_op *opline = op_array-opcodes[0];
+zend_uint   opcode = 0,
+end =  op_array-last-1;
+
+ phpdbg_writeln(
+\t%s::%s() in %s:%d-%d, 
+(*ce)-name, method-common.function_name,
+op_array-filename ? op_array-filename : 
unknown,
+op_array-line_start, op_array-line_end);
+
+do {
+char *decode = 
phpdbg_decode_opcode(opline-opcode);
+if (decode != NULL) {
+phpdbg_writeln(
+\t\t%p:%s, opline, decode); 
+} else phpdbg_error(\tFailed to decode 
opline @ %ld, opline);
+
+opline++;
+} while (++opcode  end);
+}  
+   } break;
+   
+   default: {
+   phpdbg_writeln(
+   \tInternal Method %s::%s(), (*ce)-name, 
method-common.function_name);
+   }
+}
+   }
+   }
} else {
phpdbg_error(Cannot find class %s/%lu, expr, expr_len);
}
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index f7cba8c..d2cd8be 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -547,7 +547,7 @@ int phpdbg_interactive(TSRMLS_D) /* {{{ */
 
 phpdbg_interactive_enter:
 phpdbg_write(PROMPT);
-
+
while (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING) 
   fgets(cmd, PHPDBG_MAX_CMD, stdin) != NULL) {
cmd_len = strlen(cmd) - 1;
diff --git a/phpdbg_utils.c b/phpdbg_utils.c
index 27ada70..3c8606c 100644
--- a/phpdbg_utils.c
+++ b/phpdbg_utils.c
@@ -23,6 +23,7 @@
 #include php.h
 #include spprintf.h
 #include phpdbg.h
+#include phpdbg_opcode.h
 #include phpdbg_utils.h
 
 ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
diff --git a/test.php b/test.php
index 457e487..0f240e1 100644
--- a/test.php
+++ b/test.php
@@ 

[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_cmd.c phpdbg_prompt.c phpdbg_utils.c

2013-12-21 Thread Bob Weinand
Commit:64194ef6523ed307ecbf74a39c0cd3e50eb64855
Author:krakjoe joe.watk...@live.co.uk Mon, 9 Dec 2013 09:35:54 
+
Parents:   12d071fa7c94c7edafd56499443a26cd8716cc6b 
b35f6ee7234af7a4872b434875de8d761b09ebe9
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=64194ef6523ed307ecbf74a39c0cd3e50eb64855

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_cmd.c
  MM  phpdbg_prompt.c
  MM  phpdbg_utils.c


Diff:



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



[PHP-CVS] com php-src: fix windows build warning: phpdbg_info.c

2013-12-21 Thread Bob Weinand
Commit:682164ae992c50fc075fad294de040fb60ff6529
Author:krakjoe joe.watk...@live.co.uk Sun, 24 Nov 2013 12:17:51 
+
Parents:   d9c94663c1abed95074b5004fe75aef0ee756bab
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=682164ae992c50fc075fad294de040fb60ff6529

Log:
fix windows build warning

Changed paths:
  M  phpdbg_info.c


Diff:
diff --git a/phpdbg_info.c b/phpdbg_info.c
index 724b30c..d665f92 100644
--- a/phpdbg_info.c
+++ b/phpdbg_info.c
@@ -151,8 +151,7 @@ PHPDBG_INFO(literal) /* {{{ */
 {
if ((EG(in_execution)  EG(active_op_array)) || PHPDBG_G(ops)) {
zend_op_array *ops = EG(active_op_array) ? EG(active_op_array) 
: PHPDBG_G(ops);
-   unsigned int literal = 0;
-   int count = ops-last_literal-1;
+   int literal = 0, count = ops-last_literal-1;
 
if (ops-function_name) {
if (ops-scope) {


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



[PHP-CVS] com php-src: - Fix valgrind reports + CS: phpdbg.c phpdbg_list.c phpdbg_print.c

2013-12-21 Thread Bob Weinand
Commit:89514066787a1201bc4c4474cf78f21225ca412c
Author:Felipe Pena felipe...@gmail.com Mon, 18 Nov 2013 19:55:29 
-0200
Parents:   a1156cae5cd5e334a4225debfdf6141d97dd96ec
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=89514066787a1201bc4c4474cf78f21225ca412c

Log:
- Fix valgrind reports + CS

Changed paths:
  M  phpdbg.c
  M  phpdbg_list.c
  M  phpdbg_print.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index eaa626d..6659075 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -41,6 +41,7 @@ static inline void 
php_phpdbg_globals_ctor(zend_phpdbg_globals *pg) /* {{{ */
 pg-lcmd = NULL;
 pg-flags = PHPDBG_DEFAULT_FLAGS;
 pg-oplog = NULL;
+memset(pg-lparam, 0, sizeof(phpdbg_param_t));
 } /* }}} */
 
 static PHP_MINIT_FUNCTION(phpdbg) /* {{{ */
@@ -94,14 +95,14 @@ static void php_phpdbg_destroy_bp_condition(void *data) /* 
{{{ */
 } /* }}} */
 
 static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
-{  
+{
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_FILE],   8, NULL, 
php_phpdbg_destroy_bp_file, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_SYM], 8, NULL, 
php_phpdbg_destroy_bp_symbol, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 8, NULL, NULL, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_COND], 8, NULL, 
php_phpdbg_destroy_bp_condition, 0);
zend_hash_init(PHPDBG_G(seek), 8, NULL, NULL, 0);
-   
+
return SUCCESS;
 } /* }}} */
 
@@ -113,7 +114,7 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_COND]);
zend_hash_destroy(PHPDBG_G(seek));
-   
+
 if (PHPDBG_G(exec)) {
 efree(PHPDBG_G(exec));
 PHPDBG_G(exec) = NULL;
diff --git a/phpdbg_list.c b/phpdbg_list.c
index dcce374..241983d 100644
--- a/phpdbg_list.c
+++ b/phpdbg_list.c
@@ -153,7 +153,7 @@ void phpdbg_list_file(const char *filename, long count, 
long offset, int highlig
return;
}
 
-   last_pos = mem = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
+   pos = last_pos = mem = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 
0);
end_pos = mem + st.st_size;
 #else
 
@@ -170,7 +170,7 @@ void phpdbg_list_file(const char *filename, long count, 
long offset, int highlig
return;
}
 
-   last_pos = mem = (char*) MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0);
+   pos = last_pos = mem = (char*) MapViewOfFile(map, FILE_MAP_READ, 0, 0, 
0);
if (mem == NULL) {
phpdbg_error(Failed to map file in memory);
CloseHandle(map);
diff --git a/phpdbg_print.c b/phpdbg_print.c
index 606e091..f3821be 100644
--- a/phpdbg_print.c
+++ b/phpdbg_print.c
@@ -37,7 +37,8 @@ PHPDBG_PRINT(opline) /* {{{ */
return SUCCESS;
 } /* }}} */
 
-static inline void phpdbg_print_function_helper(zend_function *method 
TSRMLS_DC) {
+static inline void phpdbg_print_function_helper(zend_function *method 
TSRMLS_DC) /* {{{ */
+{
 switch (method-type) {
 case ZEND_USER_FUNCTION: {
 zend_op_array* op_array = method-op_array;
@@ -85,7 +86,7 @@ static inline void phpdbg_print_function_helper(zend_function 
*method TSRMLS_DC)
 }
 }
  }
-}
+} /* }}} */
 
 PHPDBG_PRINT(exec) /* {{{ */
 {


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



[PHP-CVS] com php-src: correction to aliases: phpdbg_help.h

2013-12-21 Thread Bob Weinand
Commit:e02c26d1f502a28103e1b2367547ed188c5ab4c5
Author:krakjoe joe.watk...@live.co.uk Mon, 18 Nov 2013 14:51:08 
+
Parents:   93c5968e72660d281a3869a0746c0c6009bc2b2b
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e02c26d1f502a28103e1b2367547ed188c5ab4c5

Log:
correction to aliases

Changed paths:
  M  phpdbg_help.h


Diff:
diff --git a/phpdbg_help.h b/phpdbg_help.h
index 400d200..89de11b 100644
--- a/phpdbg_help.h
+++ b/phpdbg_help.h
@@ -68,7 +68,7 @@ static const phpdbg_command_t phpdbg_help_commands[] = {
PHPDBG_COMMAND_D_EX(clear,reset breakpoints to execute without 
interruption,   'c', help_clear,   
NULL, 0),
PHPDBG_COMMAND_D_EX(info, quick access to useful information on 
the console,   'i', help_info,NULL, 0),
PHPDBG_COMMAND_D_EX(back, show debug backtrace information during 
execution,   't', help_back,NULL, 0),
-PHPDBG_COMMAND_D_EX(quiet,be quiet during execution, 
  's', help_quiet,   NULL, 0),
+PHPDBG_COMMAND_D_EX(quiet,be quiet during execution, 
  'Q', help_quiet,   NULL, 0),
PHPDBG_COMMAND_D_EX(list, list code gives you quick access to 
code,'l', help_list,   
 NULL, 0),
PHPDBG_COMMAND_D_EX(oplog,keep clutter off the screen by logging 
oplines,  'O', help_oplog,   NULL, 0),
PHPDBG_COMMAND_D_EX(shell,execute system commands with direct 
shell access,
'-', help_shell,   NULL, 0),


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



[PHP-CVS] com php-src: Export conditional breaks: phpdbg_bp.c

2013-12-21 Thread Bob Weinand
Commit:485966252a200f53704e9156fff5f816798ef465
Author:Bob Weinand bobw...@hotmail.com Tue, 26 Nov 2013 09:21:04 
+0100
Parents:   bc7df607ab2d7771a3c2226b46598645e67e053f
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=485966252a200f53704e9156fff5f816798ef465

Log:
Export conditional breaks

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 40a3a50..3fe4169 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -59,8 +59,8 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
zend_hash_move_forward_ex(table, position)) {
 
zend_llist_position lposition;
-phpdbg_breakfile_t *brake;
-   zend_ulong count = zend_llist_count(brakes);
+   phpdbg_breakfile_t *brake;
+   int count = zend_llist_count(brakes);
 
if ((brake = zend_llist_get_first_ex(brakes, 
lposition))) {
phpdbg_notice(
@@ -134,8 +134,22 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
}
}
 
-   /* export other types here after resolving errors from source command */
+   if (PHPDBG_G(flags)  PHPDBG_HAS_COND_BP) {
+   phpdbg_breakcond_t *brake;
+
+   table = PHPDBG_G(bp)[PHPDBG_BREAK_COND];
+
+   phpdbg_notice(
+   Exporting conditional breakpoints (%d), 
zend_hash_num_elements(table));
+
+   for (zend_hash_internal_pointer_reset_ex(table, position);
+   zend_hash_get_current_data_ex(table, (void**) brake, 
position) == SUCCESS;
+   zend_hash_move_forward_ex(table, position)) {
 
+   fprintf(
+   handle, break on %s\n, Z_STRVAL(brake-code));
+   }
+   }
 } /* }}} */
 
 PHPDBG_API void phpdbg_set_breakpoint_file(const char *path, long line_num 
TSRMLS_DC) /* {{{ */


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



[PHP-CVS] com php-src: fix eval for new input handling: phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:e71766273077cff6bb8836a37e0d199f4564c612
Author:krakjoe joe.watk...@live.co.uk Wed, 20 Nov 2013 14:25:15 
+
Parents:   4f5c7a963c2f653e45ed6d8de390ac228c28138d
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e71766273077cff6bb8836a37e0d199f4564c612

Log:
fix eval for new input handling

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 10fb60a..c69c056 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -514,12 +514,26 @@ static PHPDBG_COMMAND(eval) /* {{{ */
case STR_PARAM: {
zend_bool stepping = (PHPDBG_G(flags)  
PHPDBG_IS_STEPPING);
zval retval;
-
+   char *code = NULL;
+   
PHPDBG_G(flags) = ~ PHPDBG_IS_STEPPING;
 
+   if (input  input-start) {
+   code = (char*) input-start;
+   
+   if (memcmp(
+   code, eval, sizeof(eval)-1) == 
SUCCESS) {
+   code += sizeof(eval)-1;
+   } else code += sizeof(E)-1;
+   
+   while (code  isspace(*code)) {
+   code++;
+   }
+   } else code = param-str;
+   
/* disable stepping while eval() in progress */
PHPDBG_G(flags) |= PHPDBG_IN_EVAL;
-   if (zend_eval_stringl(param-str, param-len,
+   if (zend_eval_stringl(code, strlen(code),
retval, eval()'d code TSRMLS_CC) == SUCCESS) 
{
zend_print_zval_r(
retval, 0 TSRMLS_CC);


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



[PHP-CVS] com php-src: - Fix code: phpdbg_opcode.c

2013-12-21 Thread Bob Weinand
Commit:ac0ecc476c6b5a562b98026acc76390c2597392b
Author:Felipe Pena felipe...@gmail.com Sun, 10 Nov 2013 19:00:58 
-0200
Parents:   52f9c52475bdcdece80e05105ca44779cbcf7607
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ac0ecc476c6b5a562b98026acc76390c2597392b

Log:
- Fix code

Changed paths:
  M  phpdbg_opcode.c


Diff:
diff --git a/phpdbg_opcode.c b/phpdbg_opcode.c
index 60d4075..5796678 100644
--- a/phpdbg_opcode.c
+++ b/phpdbg_opcode.c
@@ -18,11 +18,12 @@
 */
 
 #include zend_vm_opcodes.h
+#include zend_compile.h
 #include phpdbg_opcode.h
 
 const char *phpdbg_decode_opcode(zend_uchar opcode) /* {{{ */
 {
-#define CASE(s) return #s
+#define CASE(s) case s: return #s
switch (opcode) {
CASE(ZEND_NOP);
CASE(ZEND_ADD);


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



[PHP-CVS] com php-src: Small bug fix on error: phpdbg_bp.c phpdbg_bp.h

2013-12-21 Thread Bob Weinand
Commit:24585722b1a9acd87387285a301a6c5e084d21bc
Author:Bob Weinand bobw...@hotmail.com Thu, 28 Nov 2013 22:03:59 
+0100
Parents:   d7f6e884932423662aaf319bced391c91c76cb48
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=24585722b1a9acd87387285a301a6c5e084d21bc

Log:
Small bug fix on error

Changed paths:
  M  phpdbg_bp.c
  M  phpdbg_bp.h


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 22d376e..11f2754 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -319,10 +319,11 @@ PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong 
opline TSRMLS_DC) /* {{{
}
} while (--i);
 
-   if (!branch ||
+   if (i ||
(zend_ulong)(branch-op_array + branch-op_array-last) = 
opline ||
(opline - (zend_ulong)branch-op_array) % sizeof(zend_op)  
0) {
phpdbg_error(No opline could be found at 0x%lx, 
opline);
+   return;
}
 
opline_break.opline = (opline - (zend_ulong)branch-op_array) / 
sizeof(zend_op);
@@ -379,7 +380,7 @@ PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong 
opline TSRMLS_DC) /* {{{
}
 } /* }}} */
 
-PHPDBG_API void phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, 
zend_op_array *op_array TSRMLS_DC) {
+PHPDBG_API int phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, 
zend_op_array *op_array TSRMLS_DC) {
phpdbg_breakline_t opline_break;
if (op_array-last  brake-opline) {
if (brake-class_name == NULL) {
@@ -387,6 +388,8 @@ PHPDBG_API void 
phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, zend_
} else {
phpdbg_error(There are only %d oplines in method 
%s::%s (breaking at opline %d impossible), op_array-last, brake-class_name, 
brake-func_name, brake-opline);
}
+
+   return FAILURE;
}
 
opline_break.id = brake-id;
@@ -396,6 +399,8 @@ PHPDBG_API void 
phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, zend_
PHPDBG_G(flags) |= PHPDBG_HAS_OPLINE_BP;
 
zend_hash_index_update(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 
opline_break.opline, opline_break, sizeof(phpdbg_breakline_t), NULL);
+
+   return SUCCESS;
 }
 
 PHPDBG_API void phpdbg_resolve_op_array_breaks(zend_op_array *op_array 
TSRMLS_DC) {
@@ -416,9 +421,7 @@ PHPDBG_API void 
phpdbg_resolve_op_array_breaks(zend_op_array *op_array TSRMLS_DC
for (zend_hash_internal_pointer_reset_ex(oplines_table, position);
 zend_hash_get_current_data_ex(oplines_table, (void**) brake, 
position) == SUCCESS;
 zend_hash_move_forward_ex(oplines_table, position)) {
-   zend_try {
-   phpdbg_resolve_op_array_break(brake, op_array 
TSRMLS_CC);
-   } zend_end_try();
+   phpdbg_resolve_op_array_break(brake, op_array TSRMLS_CC);
}
 }
 
@@ -447,9 +450,12 @@ PHPDBG_API int 
phpdbg_resolve_opline_break(phpdbg_breakopline_t *new_break TSRML
} else {
phpdbg_error(%s::%s is not an user defined method, no 
oplines exist, new_break-class_name, new_break-func_name);
}
+   return 2;
}
 
-   phpdbg_resolve_op_array_break(new_break, func-op_array TSRMLS_CC);
+   if (phpdbg_resolve_op_array_break(new_break, func-op_array TSRMLS_CC) 
== FAILURE) {
+   return 2;
+   }
 
return SUCCESS;
 }
@@ -467,10 +473,17 @@ PHPDBG_API void phpdbg_set_breakpoint_method_opline(const 
char *class, const cha
new_break.opline = opline;
new_break.id = PHPDBG_G(bp_count)++;
 
-   if (phpdbg_resolve_opline_break(new_break TSRMLS_CC) == FAILURE) {
-   phpdbg_notice(Pending breakpoint #%d at %s::%s:%d, 
new_break.id, new_break.class_name, new_break.func_name, opline);
-   } else {
-   phpdbg_notice(Breakpoint #%d added at %s::%s:%d, 
new_break.id, new_break.class_name, new_break.func_name, opline);
+   switch (phpdbg_resolve_opline_break(new_break TSRMLS_CC)) {
+   case FAILURE:
+   phpdbg_notice(Pending breakpoint #%d at %s::%s:%d, 
new_break.id, new_break.class_name, new_break.func_name, opline);
+   break;
+
+   case SUCCESS:
+   phpdbg_notice(Breakpoint #%d added at %s::%s:%d, 
new_break.id, new_break.class_name, new_break.func_name, opline);
+   break;
+
+   case 2:
+   return;
}
 
if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD_OPLINE], 
new_break.class_name, new_break.class_len, (void **)class_table) == FAILURE) {
@@ -512,10 +525,17 @@ PHPDBG_API void 
phpdbg_set_breakpoint_function_opline(const char *function, int
new_break.opline = opline;
new_break.id = PHPDBG_G(bp_count

[PHP-CVS] com php-src: another tut: tutorials/simples.md

2013-12-21 Thread Bob Weinand
Commit:e0c4f87a897e005f5927baa8a747e6266d052813
Author:krakjoe joe.watk...@live.co.uk Fri, 22 Nov 2013 13:49:35 
+
Parents:   4fd2edbeb42b842d0c7cdb00363c7b09aa89b906
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e0c4f87a897e005f5927baa8a747e6266d052813

Log:
another tut

Changed paths:
  A  tutorials/simples.md


Diff:
diff --git a/tutorials/simples.md b/tutorials/simples.md
new file mode 100644
index 000..d8b53d6
--- /dev/null
+++ b/tutorials/simples.md
@@ -0,0 +1,132 @@
+Simples
+===
+*Everything is simple ...*
+
+It is easy to imagine that debugging a whole web application might be 
difficult, in a console program, in fact this is not the case:
+ 
+A web application is just an instance of the PHP interpreter with some very 
specific super globals set.
+
+With everything in the correct place, your web application has no clue that it 
being served not to a client, but to you, probably in your underwear.
+
+With the facts established, you can use phpdbg to debug anything that is PHP, 
with a bit of cleverness in the right places.
+
+Very Simple
+===
+*A good starting place ...*
+
+``` 
+phpdbg -e/path/to/my/script.php
+```
+
+The command above will result in a phpdbg console that has executed 
*.phpdbginit* (if it exists) and is ready to compile, inspect, step through
+and execute the code contained in */path/to/my/script.php*
+
+The first thing to do upon being presented with the console, is decide what to 
break for ...
+
+Many options exist for choosing (and setting) breakpoints:
+
+```
+phpdbg b phpdbg::isGreat
+phpdbg b phpdbg_is_great
+```
+
+The commands above will be the most common for most developers; that is, 
specifying the entry point of a function or method on which to break execution.
+
+Introspection of code is supported on the console, for anything that is 
compiled, if help is required remembering the name of a particular method then 
issue:
+
+```
+phpdbg compile
+phpdbg print class myClassName
+```
+
+Introspection doesn't only provide you with names, but the addresses of every 
opcode in every statement, which you may use to specify with as much precision 
as 
+is possible where to break execution.
+
+**There is a print command for particular methods, useful if a class is very 
large and your screen is not !**
+
+At this point, break points are set; the next thing to do is issue the run 
command:
+
+```
+phpdbg run
+```
+
+This will cause execution of the context, if a breakpoint is reached, the 
interactive console returns such that more commands can be issued.
+
+When a breakpoint is reached, several options for continuation exist:
+
+ - step through every instruction
+ - run past the end of the stack
+ - run to the end of the stack
+
+*Q: WTF is a stack?*
+
+*A: Generally the current codepath, more precisely: current function, method 
or file*
+
+Just quickly; an explanation of what to and past the end of a stack 
means:
+
+Assuming there is a break set for *my_function_somewhere* in the following 
code:
+
+```
+function my_function_somewhere($input = array()) /* break here on entry to the 
function */
+{  
+   /* ... the stack ... */
+   
+   if (count($input)) 
+   {
+   /* to - */ return $input[1];
+   } 
+   else
+   {
+   /* to - */ return rand(1, 100);
+   }
+}
+
+/* past - */ $result = my_function_somewhere();
+if ($result) 
+{
+   /* and so on */
+   var_dump($result);
+}
+```
+
+The commands *finish* and *leave*, run *past* and *to* the end of the stack 
respecitively.
+
+**Note: the finish command does not automatically break; to break past the end 
of the stack enable stepping before issuing finish, the leave command breaks 
implicitly**
+
+On with execution ...
+=
+*Stepping, slowly, is sometimes the way forward ...*
+
+Should you want to inspect what happens during the execution of the stack, 
enable stepping:
+
+```
+phpdbg step 1
+```
+
+In case it wasn't obvious, the next thing to do is nearly always *next*:
+
+```
+phpdbg next
+```
+
+Which will cause the vm to assume control and continue execution until the 
next break point, or completion.
+
+Stepping through every single instruction is not usually beneficial, issue:
+
+```
+phpdbg step 0
+```
+
+To disable stepping again, and only interrupt execution for breakpoints.
+
+As hard as it gets ...
+==
+*Web Applications*
+
+As mentioned, a web application is only a script executing with some specific 
super globals set; 
+
+**The mocking of any web request just requires that you set the super globals 
of the script accordingly**
+
+We refer to this as bootstrapping, mostly because I have always wanted a 
genuine reason to use that word.
+
+See the example, for help with bootstrapping ...


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



[PHP-CVS] com php-src: ...: README.md

2013-12-21 Thread Bob Weinand
Commit:a6864679a2866e69a3659e29e9b112353764560d
Author:krakjoe joe.watk...@live.co.uk Sun, 10 Nov 2013 23:38:55 
+
Parents:   4f5096af3ceaf5670050353fc8a41d164b8b058b
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=a6864679a2866e69a3659e29e9b112353764560d

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index a15e556..78d811f 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,16 @@ make -j8
 make install-phpdbg
 ```
 
+Command Line Options
+
+
+The following switches are implemented (just like cli SAPI):
+
+ - -n ignore php ini
+ - -c search for php ini in path
+ - -z load zend extension
+ - -d define php ini entry
+
 Screeny
 ===


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



[PHP-CVS] com php-src: - Fix conflict: phpdbg_prompt.c test.php

2013-12-21 Thread Bob Weinand
Commit:33098232dc27c4f22dd38d17268fd59a64b1d000
Author:Felipe Pena felipe...@gmail.com Sun, 17 Nov 2013 14:13:13 
-0200
Parents:   478446b665acb80411b0c7dee417962e88848842 
02e3718ef907c3d6063ea746e5a1fd1047ded7bc
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=33098232dc27c4f22dd38d17268fd59a64b1d000

Log:
- Fix conflict

Changed paths:
  MM  phpdbg_prompt.c
  MM  test.php


Diff:
diff --cc test.php
index fab577b,d11310b..dc1ecdb
--- a/test.php
+++ b/test.php
@@@ -1,5 -1,7 +1,8 @@@
  ?php
 +
+ if (isset($include))
 -  include (sprintf(%s/web-bootstrap.php, dirname(__FILE__))); 
++  include (sprintf(%s/web-bootstrap.php, dirname(__FILE__)));
+ 
  class phpdbg {
  public function isGreat($greeting = null) {
  printf(


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



[PHP-CVS] com php-src: debugging new input stuff: phpdbg_cmd.c phpdbg_cmd.h phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:5af371409cb361dc0ce452212b0b4020a7d36f46
Author:krakjoe joe.watk...@live.co.uk Tue, 19 Nov 2013 20:27:23 
+
Parents:   1a2618b229f03247bb2006a272598d9a7ec66994
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=5af371409cb361dc0ce452212b0b4020a7d36f46

Log:
debugging new input stuff

Changed paths:
  M  phpdbg_cmd.c
  M  phpdbg_cmd.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_cmd.c b/phpdbg_cmd.c
index 227e659..8eb38d7 100644
--- a/phpdbg_cmd.c
+++ b/phpdbg_cmd.c
@@ -137,7 +137,8 @@ static inline phpdbg_input_t** phpdbg_read_argv(char 
*buffer, int *argc TSRMLS_D
phpdbg_input_t *arg = emalloc(sizeof(phpdbg_input_t));\
 if (arg) {\
b[l]=0;\
-   arg-string = estrndup(b, l);\
+   arg-length = l;\
+   arg-string = estrndup(b, arg-length);\
arg-argv=NULL;\
arg-argc=0;\
argv = (phpdbg_input_t**) erealloc(argv, sizeof(phpdbg_input_t*) * 
((*argc)+1));\
@@ -319,6 +320,52 @@ void phpdbg_destroy_input(phpdbg_input_t **input 
TSRMLS_DC) /*{{{ */
}
 } /* }}} */
 
+int phpdbg_do_cmd_ex(const phpdbg_command_t *command, phpdbg_input_t *input 
TSRMLS_DC) /* {{{ */
+{
+   int rc = FAILURE;
+
+   if (input-argc  0) {
+   while (command  command-name  command-handler) {
+   if (((command-name_len == input-argv[0]-length)  
+   (memcmp(command-name, input-argv[0]-string, 
command-name_len) == SUCCESS)) ||
+   (command-alias 
+   (input-argv[0]-length == 1)  
+   (command-alias == *input-argv[0]-string))) {
+   if (command-subs  input-argc  1) {
+   phpdbg_input_t sub;
+   
+   sub.argc = input-argc-1;
+   sub.argv = input-argv[1];
+   
+   return phpdbg_do_cmd_ex(command-subs, 
sub TSRMLS_CC);
+   }
+   
+   phpdbg_debug(
+   found command %s for %s with %d 
arguments, 
+   command-name, input-argv[0]-string, 
input-argc-1);
+   {
+   int arg;
+   for (arg=1; arginput-argc; arg++) {
+   phpdbg_debug(
+   \t#%d: [%s=%d], 
+   arg, 
+   
input-argv[arg]-string,
+   
input-argv[arg]-length);
+   }
+   }
+   break;
+   }
+   command++;
+   }
+   } else {
+   /* this should NEVER happen */
+   phpdbg_error(
+   No function executed !!);
+   }
+   
+   return rc;
+} /* }}} */
+
 int phpdbg_do_cmd(const phpdbg_command_t *command, char *cmd_line, size_t 
cmd_len TSRMLS_DC) /* {{{ */
 {
int rc = FAILURE;
diff --git a/phpdbg_cmd.h b/phpdbg_cmd.h
index a8865ce..47ada44 100644
--- a/phpdbg_cmd.h
+++ b/phpdbg_cmd.h
@@ -88,6 +88,7 @@ struct _phpdbg_command_t {
  * Command Executor
  */
 phpdbg_input_t* phpdbg_read_input(TSRMLS_D);
+int phpdbg_do_cmd_ex(const phpdbg_command_t*, phpdbg_input_t *input TSRMLS_DC);
 int phpdbg_do_cmd(const phpdbg_command_t*, char*, size_t TSRMLS_DC);
 phpdbg_param_type phpdbg_parse_param(const char*, size_t, phpdbg_param_t* 
TSRMLS_DC);
 void phpdbg_clear_param(phpdbg_param_t* TSRMLS_DC);
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index d5b4bda..bb7dc00 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -973,6 +973,8 @@ int phpdbg_interactive(TSRMLS_D) /* {{{ */

if (input  input-length  0L) {
do {
+   phpdbg_do_cmd_ex(phpdbg_prompt_commands, input 
TSRMLS_CC);
+   
switch (ret = phpdbg_do_cmd(phpdbg_prompt_commands, 
input-string, input-length TSRMLS_CC)) {
case FAILURE:
if (!(PHPDBG_G(flags)  
PHPDBG_IS_QUITTING)) {


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:403072e488e1b8e6b6faa70e99801edaee2dc3ad
Author:krakjoe joe.watk...@live.co.uk Sat, 16 Nov 2013 11:12:22 
+
Parents:   19ada893cbe55edc148021951413db87ebccfb44 
0629f32afcaaed5f10aa45feb76deca86f0f6135
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=403072e488e1b8e6b6faa70e99801edaee2dc3ad

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: - WS changes: phpdbg_help.c

2013-12-21 Thread Bob Weinand
Commit:8532076c6465e73e7b437f43601c43a70560bf85
Author:Felipe Pena felipe...@gmail.com Sun, 10 Nov 2013 14:16:52 
-0200
Parents:   c060093acf5f1732938dc06eae0c76d39d375827
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=8532076c6465e73e7b437f43601c43a70560bf85

Log:
- WS changes

Changed paths:
  M  phpdbg_help.c


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index 916764d..978f7ae 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -25,12 +25,13 @@
 
 PHPDBG_HELP(exec) /* {{{ */
 {
-  printf(Will attempt execution, if compilation has not yet taken place, it 
occurs now.\n);
-  printf(The execution context must be set before execution can take 
place\n);
-  return SUCCESS;
+   printf(Will attempt execution, if compilation has not yet taken place, 
it occurs now.\n);
+   printf(The execution context must be set before execution can take 
place\n);
+   return SUCCESS;
 } /* }}} */
 
-PHPDBG_HELP(step) { /* {{{ */
+PHPDBG_HELP(step) /* {{{ */
+{
 printf(You can enable and disable stepping at any phpdbg prompt during 
execution\n);
 printf(For example:\n);
 printf(\tphpdbg stepping 1\n);
@@ -39,68 +40,68 @@ PHPDBG_HELP(step) { /* {{{ */
 return SUCCESS;
 } /* }}} */
 
-PHPDBG_HELP(next) { /* {{{ */
-printf(While stepping through execution, use the next command to step 
back into the vm and execute the next opcode);
-return SUCCESS;
+PHPDBG_HELP(next) /* {{{ */
+{
+   printf(While stepping through execution, use the next command to step 
back into the vm and execute the next opcode);
+   return SUCCESS;
 } /* }}} */
 
 PHPDBG_HELP(compile) /* {{{ */
 {
-  printf(Pre-compilation of the execution context provides the opportunity to 
inspect the opcodes before they are executed\n);
-  printf(The execution context must be set for compilation to succeed\n);
-  printf(If errors occur during compilation they must be resolved before 
execution can take place.\n);
-  printf(You do not need to exit phpdbg to retry compilation\n);
-  return SUCCESS;
+   printf(Pre-compilation of the execution context provides the 
opportunity to inspect the opcodes before they are executed\n);
+   printf(The execution context must be set for compilation to 
succeed\n);
+   printf(If errors occur during compilation they must be resolved before 
execution can take place.\n);
+   printf(You do not need to exit phpdbg to retry compilation\n);
+   return SUCCESS;
 } /* }}} */
 
 PHPDBG_HELP(print) /* {{{ */
 {
-printf(By default, print will show information about the current 
execution environment\n);
-printf(To show specific information pass an expression to print, for 
example:\n);
-printf(\tphpdbg print opcodes[0]\n);
-printf(Will show the opline @ 0\n);
-printf(Available print commands:\n);
-printf(\tNone\n);
-
-return SUCCESS;
+   printf(By default, print will show information about the current 
execution environment\n);
+   printf(To show specific information pass an expression to print, for 
example:\n);
+   printf(\tphpdbg print opcodes[0]\n);
+   printf(Will show the opline @ 0\n);
+   printf(Available print commands:\n);
+   printf(\tNone\n);
+   return SUCCESS;
 } /* }}} */
 
-PHPDBG_HELP(run) /* {{{ */ 
+PHPDBG_HELP(run) /* {{{ */
 {
-printf(Run the code inside the debug vm, you should have break points and 
variables set before running\n);
-printf(The execution context must not be set, but not necessarily 
compiled before execution occurs\n);
-return SUCCESS;
+   printf(Run the code inside the debug vm, you should have break points 
and variables set before running\n);
+   printf(The execution context must not be set, but not necessarily 
compiled before execution occurs\n);
+   return SUCCESS;
 } /* }}} */
 
 PHPDBG_HELP(eval) /* {{{ */
 {
-printf(Access to eval() allows you to change the environment during 
execution, careful though !!);
-return SUCCESS;
+   printf(Access to eval() allows you to change the environment during 
execution, careful though !!);
+   return SUCCESS;
 } /* }}} */
 
 PHPDBG_HELP(break) /* {{{ */
 {
-printf(Setting a breakpoint stops execution at a specific stage, the 
syntax is:\n);
-printf(\tfile:line\n);
-printf([more to come]\n);
-printf(For example:\n);
-printf(\tphpdbg break test.php:1\n);
-printf(Will break execution on line 1 of test.php\n);
-  
-return SUCCESS;
+   printf(Setting a breakpoint stops execution at a specific stage, the 
syntax is:\n);
+   printf(\tfile:line\n);
+   printf([more to come]\n);
+   printf(For example:\n);
+   printf(\tphpdbg break test.php:1\n);
+   printf(Will break execution on line 1 of test.php\n);
+   return SUCCESS;
 } /* }}} */
 
 PHPDBG_HELP(cont) /* {{{ */
 {
-printf(Continues execution after a breakpoint is met\n);
-printf([Warnings about using stepping and break points here]\n);
-

[PHP-CVS] com php-src: update image: tutorials/phpdbg.png

2013-12-21 Thread Bob Weinand
Commit:04149df4895ba821a3988a645d2e13a186e419d8
Author:krakjoe joe.watk...@live.co.uk Thu, 14 Nov 2013 21:18:12 
+
Parents:   4c62cc97e49e70f0740b55e67b6d77494d130664
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=04149df4895ba821a3988a645d2e13a186e419d8

Log:
update image

Changed paths:
  M  tutorials/phpdbg.png


Diff:
diff --git a/tutorials/phpdbg.png b/tutorials/phpdbg.png
index 5260d4d..7c41c89 100644
Binary files a/tutorials/phpdbg.png and b/tutorials/phpdbg.png differ


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:1b41ab2e343467e6373025bdc782e251ea406f3e
Author:krakjoe joe.watk...@live.co.uk Sun, 10 Nov 2013 15:16:54 
+
Parents:   2f9b34d4b639b79a82d75f4ed509bfbc0e72e9de 
a6d573cd895847e42010f55a2e0211a6bd566f1e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=1b41ab2e343467e6373025bdc782e251ea406f3e

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: compress text/tidy up: phpdbg_help.c phpdbg_help.h phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:8588f5cc84b7b69ad7231b2c987e2626a32e59b1
Author:krakjoe joe.watk...@live.co.uk Mon, 18 Nov 2013 13:23:28 
+
Parents:   a1478217ce6f9c64f40c316500aaf56cf938f431
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=8588f5cc84b7b69ad7231b2c987e2626a32e59b1

Log:
compress text/tidy up

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_help.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index 7bd2e95..75b6cb7 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -103,8 +103,8 @@ PHPDBG_HELP(compile) /* {{{ */
 PHPDBG_HELP(print) /* {{{ */
 {
 phpdbg_help_header();
-   phpdbg_writeln(By default, print will show information about the 
current execution environment);
-   phpdbg_writeln(Other printing commands give access to address, file 
and line information);
+   phpdbg_writeln(By default, print will show information about the 
current execution context);
+   phpdbg_writeln(Other printing commands give access to instruction 
information);
phpdbg_writeln(EMPTY);
phpdbg_writeln(Examples:);
phpdbg_writeln(\t%sprint class \\my\\class, PROMPT);
diff --git a/phpdbg_help.h b/phpdbg_help.h
index a54c43a..400d200 100644
--- a/phpdbg_help.h
+++ b/phpdbg_help.h
@@ -54,23 +54,23 @@ PHPDBG_HELP(shell);
  */
 static const phpdbg_command_t phpdbg_help_commands[] = {
PHPDBG_COMMAND_D_EX(exec, the execution context should be a valid 
path,'e', help_exec,NULL, 0),
-   PHPDBG_COMMAND_D_EX(compile,  pre-compilation allows inspection of 
code before execution,  'c', help_compile, NULL, 0),
+   PHPDBG_COMMAND_D_EX(compile,  allow inspection of code before 
execution,   'c', 
help_compile, NULL, 0),
PHPDBG_COMMAND_D_EX(step, step through execution to break at every 
opcode, 's', 
help_step,NULL, 0),
PHPDBG_COMMAND_D_EX(next, continue executing while stepping or 
after breaking, 'n', help_next,NULL, 0),
PHPDBG_COMMAND_D_EX(run,  execute inside the phpdbg vm,   

 'r', help_run, NULL, 0),
-   PHPDBG_COMMAND_D_EX(eval, access to eval() allows you to affect 
the environment during execution,  'E', help_eval,NULL, 0),
+   PHPDBG_COMMAND_D_EX(eval, access to eval() allows affecting the 
environment,   'E', help_eval,
NULL, 0),
PHPDBG_COMMAND_D_EX(until,continue until the current line is 
executed, 
'u', help_until,   NULL, 0),
PHPDBG_COMMAND_D_EX(finish,   continue until the current function has 
returned,'f', help_finish,  NULL, 0),
PHPDBG_COMMAND_D_EX(leave,continue until the current function is 
returning,'L', help_leave,   NULL, 0),
-   PHPDBG_COMMAND_D_EX(print,printing allows inspection of the 
execution environment, 'p', help_print,   NULL, 0),
+   PHPDBG_COMMAND_D_EX(print,print context information or 
instructions,   'p', 
help_print,   NULL, 0),
PHPDBG_COMMAND_D_EX(break,breakpoints allow execution 
interruption,'b', help_break,   NULL, 
0),
-   PHPDBG_COMMAND_D_EX(clean,resetting the environment is useful 
while debugging and recompiling, 'X', help_clean,   NULL, 0),
-   PHPDBG_COMMAND_D_EX(clear,clearing breakpoints allows you to run 
code without interruption,'c', help_clear,   NULL, 0),
+   PHPDBG_COMMAND_D_EX(clean,resetting the environment is useful 
while debugging, 'X', help_clean,  
 NULL, 0),
+   PHPDBG_COMMAND_D_EX(clear,reset breakpoints to execute without 
interruption,   'c', help_clear,   
NULL, 0),
PHPDBG_COMMAND_D_EX(info, quick access to useful information on 
the console,   'i', help_info,NULL, 0),
PHPDBG_COMMAND_D_EX(back, show debug backtrace information during 
execution,   't', help_back,NULL, 0),
 PHPDBG_COMMAND_D_EX(quiet,be quiet during execution, 
  's', help_quiet,   NULL, 0),
-   PHPDBG_COMMAND_D_EX(list, listing code gives you quick access to 
code while executing, 'l', help_list,NULL, 0),
-   PHPDBG_COMMAND_D_EX(oplog,keep clutter off the screen by sending 
oplogs to a file, 'O', help_oplog,   NULL, 0),
+   

[PHP-CVS] com php-src: Fixed file opline num resolving: phpdbg_bp.c

2013-12-21 Thread Bob Weinand
Commit:3ffb4aaf9ba018192c8eadf3c72ddee619ac9165
Author:Bob Weinand bobw...@hotmail.com Tue, 3 Dec 2013 16:10:57 
+0100
Parents:   76f889569f029c9fe15d87a0b80db07e483b0cf1
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3ffb4aaf9ba018192c8eadf3c72ddee619ac9165

Log:
Fixed file opline num resolving

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index a7be7eb..4f6b79e 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -445,8 +445,28 @@ PHPDBG_API int 
phpdbg_resolve_opline_break(phpdbg_breakopline_t *new_break TSRML
zend_function *func;
 
if (new_break-func_name == NULL) {
-   /* no idea yet ...; currently only settable before including of 
file */
-   return FAILURE;
+   if (EG(current_execute_data) == NULL) {
+   if (PHPDBG_G(ops) != NULL  
!memcmp(PHPDBG_G(ops)-filename, new_break-class_name, new_break-class_len)) {
+   if (phpdbg_resolve_op_array_break(new_break, 
PHPDBG_G(ops) TSRMLS_CC) == SUCCESS) {
+   return SUCCESS;
+   } else {
+   return 2;
+   }
+   }
+   return FAILURE;
+   } else {
+   zend_execute_data *execute_data = 
EG(current_execute_data);
+   do {
+   if (execute_data-op_array-function_name == 
NULL  execute_data-op_array-scope == NULL  
!memcmp(execute_data-op_array-filename, new_break-class_name, 
new_break-class_len)) {
+   if 
(phpdbg_resolve_op_array_break(new_break, execute_data-op_array TSRMLS_CC) == 
SUCCESS) {
+   return SUCCESS;
+   } else {
+   return 2;
+   }
+   }
+   } while ((execute_data = 
execute_data-prev_execute_data) != NULL);
+   return FAILURE;
+   }
}
 
if (new_break-class_name != NULL) {
@@ -624,7 +644,7 @@ PHPDBG_API void phpdbg_set_breakpoint_file_opline(const 
char *file, int opline T
return;
}
 
-   PHPDBG_G(flags) |= PHPDBG_HAS_FUNCTION_OPLINE_BP;
+   PHPDBG_G(flags) |= PHPDBG_HAS_FILE_OPLINE_BP;
 
zend_hash_index_update(file_table, new_break.opline, new_break, 
sizeof(phpdbg_breakopline_t), NULL);
 }


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



[PHP-CVS] com php-src: ...: tutorials/show-printing.png

2013-12-21 Thread Bob Weinand
Commit:7928d1f9e2bae63a4c8dae282cac100e78e83daa
Author:krakjoe joe.watk...@live.co.uk Wed, 13 Nov 2013 10:16:09 
+
Parents:   ae683043e2a05cedaddd624279559b20e3fe45ed
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=7928d1f9e2bae63a4c8dae282cac100e78e83daa

Log:
...

Changed paths:
  M  tutorials/show-printing.png


Diff:
diff --git a/tutorials/show-printing.png b/tutorials/show-printing.png
index cc409bc..6ea55f3 100644
Binary files a/tutorials/show-printing.png and b/tutorials/show-printing.png 
differ


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



[PHP-CVS] com php-src: Tiny whitespace fix in makefile (aligning with other Installing messages): Makefile.frag

2013-12-21 Thread Bob Weinand
Commit:baceff6ad4bad3f13426be01db2971294dfe703f
Author:Bob Weinand bobw...@hotmail.com Mon, 9 Dec 2013 19:58:19 
+0100
Parents:   2fa3479df5d63236e79abb55ca932c435dfa5291
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=baceff6ad4bad3f13426be01db2971294dfe703f

Log:
Tiny whitespace fix in makefile (aligning with other Installing messages)

Changed paths:
  M  Makefile.frag


Diff:
diff --git a/Makefile.frag b/Makefile.frag
index 8a9528b..5be6d5b 100644
--- a/Makefile.frag
+++ b/Makefile.frag
@@ -9,7 +9,7 @@ $(BUILD_BINARY): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) 
$(PHP_PHPDBG_OBJS)
$(BUILD_PHPDBG)
 
 install-phpdbg: $(BUILD_BINARY)
-   @echo Installing phpdbg binary:$(INSTALL_ROOT)$(bindir)/
+   @echo Installing phpdbg binary: $(INSTALL_ROOT)$(bindir)/
@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
@$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/log
@$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/run


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



[PHP-CVS] com php-src: change version for release: phpdbg.h

2013-12-21 Thread Bob Weinand
Commit:e7fa292493dbcb251dce2a7463d5f1c80f5232ad
Author:krakjoe joe.watk...@live.co.uk Sat, 23 Nov 2013 18:40:28 
+
Parents:   cafafb0e011983543f03851ba16b2eaf61b95631
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e7fa292493dbcb251dce2a7463d5f1c80f5232ad

Log:
change version for release

Changed paths:
  M  phpdbg.h


Diff:
diff --git a/phpdbg.h b/phpdbg.h
index 8a1b814..f412f50 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -118,7 +118,7 @@
 
 /* {{{ strings */
 #define PHPDBG_ISSUES http://github.com/krakjoe/phpdbg/issues;
-#define PHPDBG_VERSION 0.1.0-dev /* }}} */
+#define PHPDBG_VERSION 0.1.0 /* }}} */
 
 /* {{{ output descriptors */
 #define PHPDBG_STDIN   0


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-21 Thread Bob Weinand
Commit:22d85c6a637f07d6c7866773a6978c9d3906c592
Author:krakjoe joe.watk...@live.co.uk Sun, 10 Nov 2013 16:05:23 
+
Parents:   2f4acda67b9fd7659b8424345789f90061c141a8 
53f4201566c813740e62cf37588b4daa23503f89
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=22d85c6a637f07d6c7866773a6978c9d3906c592

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: fix test: tests/commands/0105_clear.test

2013-12-21 Thread Bob Weinand
Commit:cbaf610ee410e05ee2ec3a83007074f17c5c63ae
Author:krakjoe joe.watk...@live.co.uk Mon, 9 Dec 2013 09:43:26 
+
Parents:   64194ef6523ed307ecbf74a39c0cd3e50eb64855
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=cbaf610ee410e05ee2ec3a83007074f17c5c63ae

Log:
fix test

Changed paths:
  M  tests/commands/0105_clear.test


Diff:
diff --git a/tests/commands/0105_clear.test b/tests/commands/0105_clear.test
index 1ac3c3b..b547b0d 100644
--- a/tests/commands/0105_clear.test
+++ b/tests/commands/0105_clear.test
@@ -5,11 +5,14 @@
 # options: -rr
 #
 #[Clearing Breakpoints]
-#File  0
-#Functions 0
-#Methods   0
-#Oplines   0
-#Conditionals  0
+#File%w%d
+#Functions%w%d
+#Methods%w%d
+#Oplines%w%d
+#File oplines%w%d
+#Function oplines%w%d
+#Method oplines%w%d
+#Conditionals%w%d
 #
 clear
 quit


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



[PHP-CVS] com php-src: Added breaking upon fatal-ish error: phpdbg.c

2013-12-21 Thread Bob Weinand
Commit:20318c49606274c87005b89f5f3a52e484cd760e
Author:Bob Weinand bobw...@hotmail.com Sat, 21 Dec 2013 22:42:11 
+0100
Parents:   ef3e0119b8437c855049ee3a67b0317dce055669
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=20318c49606274c87005b89f5f3a52e484cd760e

Log:
Added breaking upon fatal-ish error

Changed paths:
  M  phpdbg.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index 17193ed..4b75ce2 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -438,6 +438,35 @@ static void php_sapi_phpdbg_log_message(char *message 
TSRMLS_DC) /* {{{ */
*/
if (phpdbg_booted) {
phpdbg_error(%s, message);
+
+   switch (PG(last_error_type)) {
+   case E_ERROR:
+   case E_CORE_ERROR:
+   case E_COMPILE_ERROR:
+   case E_USER_ERROR:
+   case E_PARSE:
+   case E_RECOVERABLE_ERROR:
+   if (!(PHPDBG_G(flags)  PHPDBG_IN_EVAL)) {
+   phpdbg_list_file(
+   
zend_get_executed_filename(TSRMLS_C),
+   3,
+   
zend_get_executed_lineno(TSRMLS_C)-1,
+   
zend_get_executed_lineno(TSRMLS_C)
+   TSRMLS_CC
+   );
+   }
+
+   do {
+   switch (phpdbg_interactive(TSRMLS_C)) {
+   case PHPDBG_LEAVE:
+   case PHPDBG_FINISH:
+   case PHPDBG_UNTIL:
+   case PHPDBG_NEXT:
+   return;
+   }
+   } while (!(PHPDBG_G(flags)  
PHPDBG_IS_QUITTING));
+
+   }
} else fprintf(stdout, %s\n, message);
 }
 /* }}} */


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



[PHP-CVS] com php-src: Merge branch 'master' of github.com:krakjoe/phpdbg: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:b133dbefe02ab717ac7a435ce16cc471fca06827
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 11:34:09 
-0200
Parents:   af90b6d5c737646fa2b1f30d2f85a67fd8d770a7 
4269b29c03a5f4a30c02f79a8cad0550fc09c958
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=b133dbefe02ab717ac7a435ce16cc471fca06827

Log:
Merge branch 'master' of github.com:krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: - Added phpdbg_is_empty function: phpdbg_prompt.c phpdbg_utils.c phpdbg_utils.h

2013-12-20 Thread Bob Weinand
Commit:6658f58d4afcb80ffaeac460564aecb1591ecd93
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 00:50:15 
-0200
Parents:   79ab9a3f74e9ecb3d9acfc4a0050b491bda56185
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6658f58d4afcb80ffaeac460564aecb1591ecd93

Log:
- Added phpdbg_is_empty function

Changed paths:
  M  phpdbg_prompt.c
  M  phpdbg_utils.c
  M  phpdbg_utils.h


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 5fd0712..b71bd3d 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -498,7 +498,7 @@ static PHPDBG_COMMAND(quiet) { /* {{{ */
 
 static PHPDBG_COMMAND(list) /* {{{ */
 {
-   if (phpdbg_is_numeric(expr)) {
+   if (phpdbg_is_empty(expr) || phpdbg_is_numeric(expr)) {
long offset = 0, count = strtol(expr, NULL, 0);
const char *filename = PHPDBG_G(exec);
 
diff --git a/phpdbg_utils.c b/phpdbg_utils.c
index 4991d3d..e3408ed 100644
--- a/phpdbg_utils.c
+++ b/phpdbg_utils.c
@@ -30,3 +30,14 @@ int phpdbg_is_numeric(const char *str) /* {{{ */
}
return 0;
 } /* }}} */
+
+int phpdbg_is_empty(const char *str) /* {{{ */
+{
+   for (; *str; str++) {
+   if (isspace(*str)) {
+   continue;
+   }
+   return 0;
+   }
+   return 1;
+} /* }}} */
diff --git a/phpdbg_utils.h b/phpdbg_utils.h
index 231a1b3..3cb430f 100644
--- a/phpdbg_utils.h
+++ b/phpdbg_utils.h
@@ -20,6 +20,7 @@
 #ifndef PHPDBG_UTILS_H
 #define PHPDBG_UTILS_H
 
-int phpdbg_is_numeric(const char *);
+int phpdbg_is_numeric(const char*);
+int phpdbg_is_empty(const char*);
 
 #endif /* PHPDBG_UTILS_H */


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



[PHP-CVS] com php-src: web-bootstrap example: web-bootstrap.php

2013-12-20 Thread Bob Weinand
Commit:4b2490426f46d360345d353b94c5b4a03c38a92a
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:57:56 
+
Parents:   bb715ac77d6a83eeb9973037a087d32f872ba77a
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=4b2490426f46d360345d353b94c5b4a03c38a92a

Log:
web-bootstrap example

Changed paths:
  A  web-bootstrap.php


Diff:
diff --git a/web-bootstrap.php b/web-bootstrap.php
new file mode 100644
index 000..c5802c1
--- /dev/null
+++ b/web-bootstrap.php
@@ -0,0 +1,46 @@
+?php
+define(PHPDBG_BOOTPATH, /opt/php-zts/htdocs);
+define(PHPDBG_BOOTSTRAP, index.php);
+define(PHPDBG_BOOTSTRAPPED, sprintf(/%s, PHPDBG_BOOTSTRAP));
+
+$_SERVER = array 
+(
+  'HTTP_HOST' = 'localhost',
+  'HTTP_CONNECTION' = 'keep-alive',
+  'HTTP_ACCEPT' = 
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
+  'HTTP_USER_AGENT' = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
+  'HTTP_ACCEPT_ENCODING' = 'gzip,deflate,sdch',
+  'HTTP_ACCEPT_LANGUAGE' = 'en-US,en;q=0.8',
+  'HTTP_COOKIE' = 'tz=Europe%2FLondon; 
__utma=1.347100075.1384196523.1384196523.1384196523.1; __utmc=1; 
__utmz=1.1384196523.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
+  'PATH' = '/usr/local/bin:/usr/bin:/bin',
+  'SERVER_SIGNATURE' = 'addressApache/2.4.6 (Ubuntu) Server at phpdbg.com 
Port 80/address',
+  'SERVER_SOFTWARE' = 'Apache/2.4.6 (Ubuntu)',
+  'SERVER_NAME' = 'localhost',
+  'SERVER_ADDR' = '127.0.0.1',
+  'SERVER_PORT' = '80',
+  'REMOTE_ADDR' = '128.0.0.1',
+  'DOCUMENT_ROOT' = dirname(__FILE__),
+  'REQUEST_SCHEME' = 'http',
+  'CONTEXT_PREFIX' = '',
+  'CONTEXT_DOCUMENT_ROOT' = dirname(__FILE__),
+  'SERVER_ADMIN' = '[no address given]',
+  'SCRIPT_FILENAME' = sprintf(
+'%s/%s', dirname(__FILE__), PHPDBG_BOOTSTRAP
+  ),
+  'REMOTE_PORT' = '47931',
+  'GATEWAY_INTERFACE' = 'CGI/1.1',
+  'SERVER_PROTOCOL' = 'HTTP/1.1',
+  'REQUEST_METHOD' = 'GET',
+  'QUERY_STRING' = '',
+  'REQUEST_URI' = PHPDBG_BOOTSTRAPPED,
+  'SCRIPT_NAME' = PHPDBG_BOOTSTRAPPED,
+  'PHP_SELF' = PHPDBG_BOOTSTRAPPED,
+  'REQUEST_TIME' = time(),
+);
+
+$_GET = array
+(
+request = variables
+);
+
+chdir(PHPDBG_BOOTPATH);


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



[PHP-CVS] com php-src: windows: config.w32

2013-12-20 Thread Bob Weinand
Commit:9e47ce64acb74509a1c396f2b234a1b474028ce4
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 12:11:02 
+
Parents:   6cc7a5784eed6fe24e9fa4982d0c01cc463d8355
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=9e47ce64acb74509a1c396f2b234a1b474028ce4

Log:
windows

Changed paths:
  A  config.w32


Diff:
diff --git a/config.w32 b/config.w32
new file mode 100644
index 000..2359283
--- /dev/null
+++ b/config.w32
@@ -0,0 +1,5 @@
+ARG_ENABLE('phpdbg', 'Build phpdbg', 'yes');
+
+if (PHP_PHPDBG == yes) {
+SAPI('phpdbg', 'phpdbg.c phpdbg_prompt.c phpdbg_help.c phpdbg_print.c 
phpdbg_bp.c phpdbg_opcode.c phpdbg_list.c phpdbg_utils.c', 'phpdbg.exe');
+}


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



[PHP-CVS] com php-src: ...: tutorials/java/src/phpdbg/ui/DebugSocket.java tutorials/java/src/phpdbg/ui/JConsole.java

2013-12-20 Thread Bob Weinand
Commit:9b498765abd28e23f707a1a63dedb78527aab11e
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 10:22:02 
+
Parents:   28854065902b1b3b7c8c83c5b5dd7e486fe0e8b0
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=9b498765abd28e23f707a1a63dedb78527aab11e

Log:
...

Changed paths:
  M  tutorials/java/src/phpdbg/ui/DebugSocket.java
  M  tutorials/java/src/phpdbg/ui/JConsole.java

diff --git a/tutorials/java/src/phpdbg/ui/DebugSocket.java 
b/tutorials/java/src/phpdbg/ui/DebugSocket.java
index 0dfa107..eb46af0 100644
--- a/tutorials/java/src/phpdbg/ui/DebugSocket.java
+++ b/tutorials/java/src/phpdbg/ui/DebugSocket.java
@@ -20,18 +20,26 @@ import phpdbg.ui.JConsole.MessageType;
 public class DebugSocket extends Socket implements Runnable {
 private final Boolean reader;
 private final JConsole main;
-private Boolean quit;
+private final Thread thread;
 
+private volatile Boolean quit;
+private volatile Boolean started;
+
 public DebugSocket(final String host, final Integer port, final JConsole 
main, Boolean reader) throws IOException {
 super(host, port);
 
 this.main = main;
 this.reader = reader;
 this.quit = false;
-
-synchronized(main) {
-if (!main.isConnected()) {
-main.setConnected(true);
+this.started = false;
+this.thread = new Thread(this);
+}
+
+public void start() {
+synchronized(this) {
+if (!started) {
+   started = true;
+   thread.start(); 
 }
 }
 }
@@ -39,19 +47,26 @@ public class DebugSocket extends Socket implements Runnable 
{
 public void quit() {
 synchronized(this) {
 quit = true;
-this.notifyAll(); 
+started = false;
+notifyAll();
 }
 }
 
 @Override public void run() {
 try {
+synchronized(main) {
+if (!main.isConnected()) {
+main.setConnected(true);
+}
+}
+
 synchronized(this) {
 do {
 if (reader) {
 String command;
 OutputStream output = getOutputStream();
 
-this.wait();
+wait();
 
 command = main.getInputField().getText();
 /* send command to stdin socket */
@@ -67,9 +82,8 @@ public class DebugSocket extends Socket implements Runnable {
 /* get data from stdout socket */
 byte[] bytes = new byte[1];
 do {
-/* this is some of the laziest programming I ever 
done */
 if (input.available() == 0) {
-this.wait(400);
+wait(400);
 continue;
 }
 
diff --git a/tutorials/java/src/phpdbg/ui/JConsole.java 
b/tutorials/java/src/phpdbg/ui/JConsole.java
index 08661bc..2958cb9 100644
--- a/tutorials/java/src/phpdbg/ui/JConsole.java
+++ b/tutorials/java/src/phpdbg/ui/JConsole.java
@@ -19,20 +19,6 @@ import javax.swing.JTextField;
  * @author krakjoe
  */
 public class JConsole extends javax.swing.JDialog {
-public enum MessageType {
-INFO (JOptionPane.INFORMATION_MESSAGE),
-WARN (JOptionPane.WARNING_MESSAGE),
-ERROR (JOptionPane.ERROR_MESSAGE);
-
-private final Integer type;
-private MessageType(Integer type) {
-this.type = type;
-}
-public Integer getType() { return this.type; }
-public Boolean equals(Integer other)  { return 
this.type.equals(other); }
-public Boolean equals(MessageType other)  { return 
this.type.equals(other.getType()); }
-}
-
 /**
  * Creates user interface
  * @param parent
@@ -197,38 +183,9 @@ public class JConsole extends javax.swing.JDialog {
 private void openButtonActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_openButtonActionPerformed
 try {
 if (!connected) {
-Integer ports[] = new Integer[2];
-String address = getHost();
-
-if (address != null) {
-ports[0] = stdinCheckBox.isSelected() ? getStdinPort() : 
-1;
-ports[1] = stdoutCheckBox.isSelected() ? getStdoutPort() : 
-1;
-
-if (ports[0] != 0  ports[1] != 0) {
-if (stdinCheckBox.isSelected()) {
-if (ports[0]  0) {
-in = new DebugSocket(
-address, ports[0], this, true);
-

[PHP-CVS] com php-src: ...: phpdbg_help.c phpdbg_print.c

2013-12-20 Thread Bob Weinand
Commit:83852d3bb775fd3555011e2cc1d5fdc9f418469e
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 08:28:03 
+
Parents:   c00abb0e75628d2284f76098e43626266a440d3e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=83852d3bb775fd3555011e2cc1d5fdc9f418469e

Log:
...

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_print.c


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index b887380..21feb07 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -17,8 +17,6 @@
+--+
 */
 
-#include stdio.h
-#include zend.h
 #include phpdbg.h
 #include phpdbg_help.h
 
diff --git a/phpdbg_print.c b/phpdbg_print.c
index c167482..d49cc26 100644
--- a/phpdbg_print.c
+++ b/phpdbg_print.c
@@ -17,8 +17,6 @@
+--+
 */
 
-#include stdio.h
-#include zend.h
 #include phpdbg.h
 #include phpdbg_print.h


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



[PHP-CVS] com php-src: additional list option, class methods: phpdbg_help.c phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:f566a6136bbd4fd4f3afeaeccb666bd7806562b8
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:43:23 
+
Parents:   a29c0e5c96be3d7414e8e541e1d3e7376f12cdb9
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f566a6136bbd4fd4f3afeaeccb666bd7806562b8

Log:
additional list option, class methods

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index d942ebe..b887380 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -141,7 +141,9 @@ PHPDBG_HELP(list) /* {{{ */
printf(\tphpdbg list 2\n);
printf(Will print next 2 lines from the current file\n);
printf(\tphpdbg list func\n);
-   printf(Will print func source code\n);
+   printf(Will print the source of the global function \func\\n);
+   printf(\tphpdbg list .mine\n);
+   printf(Will print the source of the class method \mine\\n);
printf(Note: before listing functions you must have a populated 
function table, try compile !!\n);
return SUCCESS;
 } /* }}} */
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 72d9023..d42e638 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -547,22 +547,40 @@ static PHPDBG_COMMAND(list) /* {{{ */
 
phpdbg_list_file(filename, count, offset TSRMLS_CC);
} else {
+   HashTable *func_table = EG(function_table);
zend_function* fbc;
+const char *func_name = expr;
+size_t func_name_len = expr_len;
 
-   if (!EG(function_table)) {
+/* search active scope if begins with period */
+if (func_name[0] == '.') {
+   if (EG(scope)) {
+   func_name++;
+   func_name_len--;
+   
+   func_table = EG(scope)-function_table;
+   } else {
+   printf(
+   %sNo active class%s\n,
+   PHPDBG_RED_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));
+   return FAILURE;
+   }
+} else if (!EG(function_table)) {
printf(
%sNo function table loaded%s\n,
PHPDBG_RED_LINE(TSRMLS_C), 
PHPDBG_END_LINE(TSRMLS_C));
return SUCCESS;
+   } else {
+   func_table = EG(function_table);
}
-
-   if (zend_hash_find(EG(function_table), expr, expr_len,
+
+   if (zend_hash_find(func_table, func_name, func_name_len,
(void**)fbc) == SUCCESS) {
phpdbg_list_function(fbc TSRMLS_CC);
} else {
printf(
%sFunction %s not found%s\n, 
-   PHPDBG_RED_LINE(TSRMLS_C), expr, 
PHPDBG_END_LINE(TSRMLS_C));
+   PHPDBG_RED_LINE(TSRMLS_C), func_name, 
PHPDBG_END_LINE(TSRMLS_C));
}
}


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



[PHP-CVS] com php-src: more windows: phpdbg_list.c

2013-12-20 Thread Bob Weinand
Commit:3168b7b0574eff976dfb63aac43822db493b721a
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 12:38:04 
+
Parents:   9e47ce64acb74509a1c396f2b234a1b474028ce4
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3168b7b0574eff976dfb63aac43822db493b721a

Log:
more windows

Changed paths:
  M  phpdbg_list.c


Diff:
diff --git a/phpdbg_list.c b/phpdbg_list.c
index fe14b1d..9f2c6a2 100644
--- a/phpdbg_list.c
+++ b/phpdbg_list.c
@@ -20,8 +20,10 @@
 #include stdio.h
 #include string.h
 #include sys/stat.h
-#include sys/mman.h
-#include unistd.h
+#ifndef _WIN32
+#  include sys/mman.h
+#  include unistd.h
+#endif
 #include fcntl.h
 #include phpdbg.h
 #include phpdbg_list.h
@@ -30,14 +32,19 @@ void phpdbg_list_file(const char *filename, long count, 
long offset TSRMLS_DC) /
 {
unsigned char *mem, *pos, *last_pos, *end_pos;
struct stat st;
-   int fd, all_content = (count == 0);
+#ifndef _WIN32
+   int fd;
+#else
+   HANDLE fd, map;
+#endif
+   int all_content = (count == 0);
unsigned int line = 0, displayed = 0;
 
 if (VCWD_STAT(filename, st) == -1) {
printf([Failed to stat file %s]\n, filename);
return;
}
-
+#ifndef _WIN32
if ((fd = VCWD_OPEN(filename, O_RDONLY)) == -1) {
printf([Failed to open file %s to list]\n, filename);
return;
@@ -45,7 +52,29 @@ void phpdbg_list_file(const char *filename, long count, long 
offset TSRMLS_DC) /
 
last_pos = mem = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
end_pos = mem + st.st_size;
+#else
+   fd = CreateFile(filename, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 
NULL);
+   if (fd == INVALID_HANDLE_VALUE) {
+   printf([Failed to open file!]\n);
+   return;
+   }
+
+   map = CreateFileMapping(fd, NULL, PAGE_EXECUTE_READ, 0, 0, 0);
+   if (map == NULL) {
+   printf([Failed to map file!]\n);
+   CloseHandle(fd);
+   return;
+   }
 
+   last_pos = mem = (char*) MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0);
+   if (mem == NULL) {
+   printf([Failed to map file in memory]\n);
+   CloseHandle(map);
+   CloseHandle(fd);
+   return;
+   }
+   end_pos = mem + st.st_size;
+#endif
while (1) {
pos = memchr(last_pos, '\n', end_pos - last_pos);
 
@@ -70,9 +99,14 @@ void phpdbg_list_file(const char *filename, long count, long 
offset TSRMLS_DC) /
}
}
 
+#ifndef _WIN32
munmap(mem, st.st_size);
-out:
close(fd);
+#else
+   UnmapViewOfFile(mem);
+   CloseHandle(map);
+   CloseHandle(fd);
+#endif
 } /* }}} */
 
 void phpdbg_list_function(const zend_function *fbc TSRMLS_DC) /* {{{ */
@@ -88,3 +122,4 @@ void phpdbg_list_function(const zend_function *fbc 
TSRMLS_DC) /* {{{ */
phpdbg_list_file(ops-filename,
ops-line_end - ops-line_start + 1, ops-line_start TSRMLS_CC);
 } /* }}} */
+


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



[PHP-CVS] com php-src: colourfulness: phpdbg.c phpdbg.h phpdbg_bp.c phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:4112330bb5ba4e1a18191c7586a3567638b44a54
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:03:37 
+
Parents:   12926b6aa998c37278cf21b9634c0c23d76fc935
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=4112330bb5ba4e1a18191c7586a3567638b44a54

Log:
colourfulness

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_bp.c
  M  phpdbg_prompt.c

diff --git a/phpdbg.c b/phpdbg.c
index 52998a6..a83e492 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -35,7 +35,7 @@ static inline void 
php_phpdbg_globals_ctor(zend_phpdbg_globals *pg) /* {{{ */
 pg-last = NULL;
 pg-last_params = NULL;
 pg-last_params_len = 0;
-pg-flags = PHPDBG_IS_QUIET;
+pg-flags = PHPDBG_DEFAULT_FLAGS;
 } /* }}} */
 
 static PHP_MINIT_FUNCTION(phpdbg) /* {{{ */
@@ -266,6 +266,7 @@ const opt_struct OPTIONS[] = { /* {{{ */
 {'e', 1, exec},
 {'v', 0, verbose},
 {'s', 0, step},
+{'b', 0, boring colours},
 {'-', 0, NULL}
 }; /* }}} */
 
@@ -297,7 +298,7 @@ int main(int argc, char *argv[]) /* {{{ */
int   ini_entries_len = 0;
char *exec = NULL;
size_t exec_len = 0L;
-   zend_ulong flags = PHPDBG_IS_QUIET;
+   zend_ulong flags = PHPDBG_DEFAULT_FLAGS;
char *php_optarg = NULL;
 int php_optind = 1;
 int opt;
@@ -377,6 +378,10 @@ int main(int argc, char *argv[]) /* {{{ */
 case 's': /* set stepping on */
 flags |= PHPDBG_IS_STEPPING;
 break;
+
+case 'b': /* set colours off */
+flags = ~PHPDBG_IS_COLOURED;
+break;
 }
 }
 
@@ -402,10 +407,6 @@ int main(int argc, char *argv[]) /* {{{ */
 
 phpdbg-ini_entries = ini_entries;
 
-printf([Welcome to phpdbg, the interactive PHP debugger, v%s]\n, 
PHPDBG_VERSION);
-printf(To get help using phpdbg type \help\ and press enter\n);
-printf([Please report bugs to %s]\n, PHPDBG_ISSUES);
-
if (phpdbg-startup(phpdbg) == SUCCESS) {
zend_activate(TSRMLS_C);
 
@@ -430,6 +431,16 @@ int main(int argc, char *argv[]) /* {{{ */
zend_try {
zend_activate_modules(TSRMLS_C);
} zend_end_try();
+   
+   /* print blurb */
+printf(
+%sWelcome to phpdbg, the interactive PHP debugger, v%s%s\n, 
+PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_VERSION, 
PHPDBG_END_LINE(TSRMLS_C));
+printf(
+[To get help using phpdbg type \help\ and press enter\n);
+printf(
+%sPlease report bugs to %s%s\n, 
+PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_ISSUES, 
PHPDBG_END_LINE(TSRMLS_C));
 
 do {
zend_try {
diff --git a/phpdbg.h b/phpdbg.h
index 2a01829..34b2e56 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -66,7 +66,10 @@
 
 #define PHPDBG_IS_STEPPING  0x0001
 #define PHPDBG_IS_QUIET 0x0010
-#define PHPDBG_IS_QUITTING  0x0100 /* }}} */
+#define PHPDBG_IS_QUITTING  0x0100
+#define PHPDBG_IS_COLOURED  0x1000 
+
+#define PHPDBG_DEFAULT_FLAGS(PHPDBG_IS_QUIET|PHPDBG_IS_COLOURED) /* }}} */
 
 /* {{{ strings */
 #define PHPDBG_ISSUES http://github.com/krakjoe/phpdbg/issues;
@@ -88,4 +91,14 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
zend_ulong flags;   /* phpdbg flags */
 ZEND_END_MODULE_GLOBALS(phpdbg)
 
+/* {{{ colourful helpers */
+#define PHPDBG_RED_LINE(TSRMLS_D) \
+((PHPDBG_G(flags)  PHPDBG_IS_COLOURED) ? \033[1;31m[ : [)
+#define PHPDBG_BOLD_LINE(TSRMLS_D)   \
+((PHPDBG_G(flags)  PHPDBG_IS_COLOURED) ? \033[1;64m[ : [)
+#define PHPDBG_END_LINE(TSRMLS_D) \
+ ((PHPDBG_G(flags)  PHPDBG_IS_COLOURED) ? ]\033[0m : ])  
+#define PHPDBG_PROMPT_LINE(TSRMLS_D)  \
+((PHPDBG_G(flags)  PHPDBG_IS_COLOURED) ? \033[1;64mphpdbg\033[0m  : 
phpdbg ) /* }}} */
+
 #endif /* PHPDBG_H */
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index fef5775..8ce2edb 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -68,7 +68,10 @@ void phpdbg_set_breakpoint_file(const char *path, long 
line_num TSRMLS_DC) /* {{
zend_llist_add_element(break_files_ptr, new_break);
 
printf(
-   [Breakpoint #%d added at %s:%ld]\n, new_break.id, 
new_break.filename, new_break.line);
+   %sBreakpoint #%d added at %s:%ld%s\n, 
+   PHPDBG_BOLD_LINE(TSRMLS_C), 
+   new_break.id, new_break.filename, new_break.line,
+   PHPDBG_END_LINE(TSRMLS_C));
 } /* }}} */
 
 void phpdbg_set_breakpoint_symbol(const char *name TSRMLS_DC) /* {{{ */
@@ -86,9 +89,15 @@ void phpdbg_set_breakpoint_symbol(const char *name 
TSRMLS_DC) /* {{{ */
zend_hash_update(PHPDBG_G(bp)[PHPDBG_BREAK_SYM], 
new_break.symbol,
name_len, new_break, sizeof(phpdbg_breaksymbol_t), 
NULL);
 
-   printf([Breakpoint #%d added at %s]\n, new_break.id, 
new_break.symbol);
+   printf(
+   

[PHP-CVS] com php-src: blurb/version/issues string: phpdbg.c phpdbg.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:d7e09f95646f74f47e2ff15f1ef9b78da2592dec
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:04:54 
+
Parents:   fa3056c8332f6bc423b85cbf7312fb40a9f6023f
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=d7e09f95646f74f47e2ff15f1ef9b78da2592dec

Log:
blurb/version/issues string

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index 3cc4ba8..ca38078 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -379,6 +379,10 @@ int main(int argc, char *argv[]) /* {{{ */
ini_entries_len += sizeof(phpdbg_ini_hardcoded) - 2;
 
 phpdbg-ini_entries = ini_entries;
+
+printf([Welcome to phpdbg, the interactive PHP debugger, v%s]\n, 
PHPDBG_VERSION);
+printf(To get help using phpdbg type \help\ and press enter\n);
+printf([Please report bugs to %s]\n, PHPDBG_ISSUES);
 
if (phpdbg-startup(phpdbg) == SUCCESS) {
zend_activate(TSRMLS_C);
diff --git a/phpdbg.h b/phpdbg.h
index 908c1cc..446b067 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -63,6 +63,10 @@
 #define PHPDBG_IS_QUIET 0x0010
 #define PHPDBG_IS_QUITTING  0x0100 /* }}} */
 
+/* {{{ strings */
+#define PHPDBG_ISSUES http://github.com/krakjoe/phpdbg/issues;
+#define PHPDBG_VERSION 0.0.0 /* }}} */
+
 typedef struct _phpdbg_command_t phpdbg_command_t;
 
 ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index df0f21b..fb6ba7c 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -453,7 +453,7 @@ static PHPDBG_COMMAND(clear) /* {{{ */
 
 static PHPDBG_COMMAND(help) /* {{{ */
 {
-   printf([Welcome to phpdbg, the interactive PHP debugger.]\n);
+   printf([Welcome to phpdbg, the interactive PHP debugger, v%s]\n, 
PHPDBG_VERSION);
 
if (!expr_len) {
const phpdbg_command_t *prompt_command = phpdbg_prompt_commands;
@@ -477,7 +477,7 @@ static PHPDBG_COMMAND(help) /* {{{ */
printf(failed to find help command: %s\n, expr);
}
}
-   printf([Please report bugs to 
https://github.com/krakjoe/phpdbg/issues]\n);
+   printf([Please report bugs to %s]\n, PHPDBG_ISSUES);
 
return SUCCESS;
 } /* }}} */


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



[PHP-CVS] com php-src: ...: README.md

2013-12-20 Thread Bob Weinand
Commit:a29c0e5c96be3d7414e8e541e1d3e7376f12cdb9
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:31:29 
+
Parents:   f4523640609690faf2495022be15af50c06efdd3
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=a29c0e5c96be3d7414e8e541e1d3e7376f12cdb9

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index f9ae877..f6b6704 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ Features
 Planned
 ===
 
- - Mocking API for Server/Request Environments
+ - Pass JIT Super Globals to Userland (Mocking, Testing etc)
  - Improve Everything :)
  
 Installation


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



[PHP-CVS] com php-src: ...: README.md

2013-12-20 Thread Bob Weinand
Commit:fd0aeb5b536bf2af11107b2b895387955175729a
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:05:24 
+
Parents:   78418cc38c822cc915f23d6d3ffcd185daf29418
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=fd0aeb5b536bf2af11107b2b895387955175729a

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index be28150..bd06569 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,7 @@ The following switches changes the default behaviour of 
phpdbg:
  - -v disables quietness
  - -s enabled stepping
  - -e sets execution context
+ - -b boring - disables use of colour on the console
 
 Screeny
 ===


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



[PHP-CVS] com php-src: ...: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:277b10a5c059437754452b6de7e42aa6bde64e13
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 13:21:55 
+
Parents:   fe7a3ef5781cf92c7dc190c649a90452400782f1
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=277b10a5c059437754452b6de7e42aa6bde64e13

Log:
...

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 3040b80..6bfc16a 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -615,7 +615,11 @@ static const phpdbg_command_t phpdbg_prompt_commands[] = {
 int phpdbg_do_cmd(const phpdbg_command_t *command, char *cmd_line, size_t 
cmd_len TSRMLS_DC) /* {{{ */
 {
char *params = NULL;
+#ifndef _WIN32 
const char *cmd = strtok_r(cmd_line,  , params);
+#else
+   const char *cmd = strtok_s(cmd_line,  , params);
+#endif
size_t expr_len = cmd != NULL ? strlen(cmd) : 0;
 
while (command  command-name) {


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



[PHP-CVS] com php-src: more help: phpdbg_help.c phpdbg_help.h

2013-12-20 Thread Bob Weinand
Commit:3097c36f3042fe3f49d80eed810197036f94ab66
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 03:02:42 
+
Parents:   ed690e1899fa1d9234961a9b1e077c5d6912dc74
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3097c36f3042fe3f49d80eed810197036f94ab66

Log:
more help

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_help.h


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index eb59826..d942ebe 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -142,5 +142,6 @@ PHPDBG_HELP(list) /* {{{ */
printf(Will print next 2 lines from the current file\n);
printf(\tphpdbg list func\n);
printf(Will print func source code\n);
+   printf(Note: before listing functions you must have a populated 
function table, try compile !!\n);
return SUCCESS;
 } /* }}} */
diff --git a/phpdbg_help.h b/phpdbg_help.h
index ba79747..9c89f3d 100644
--- a/phpdbg_help.h
+++ b/phpdbg_help.h
@@ -64,7 +64,7 @@ static const phpdbg_command_t phpdbg_help_commands[] = {
PHPDBG_HELP_D(clear,clearing breakpoints allows you to run code 
without interruption),
PHPDBG_HELP_D(back, show debug backtrace information during 
execution),
 PHPDBG_HELP_D(quiet,be quiet during execution),
-   PHPDBG_HELP_D(list, list specified line or function),
+   PHPDBG_HELP_D(list, listing code gives you quick access to code 
while executing),
{NULL, 0, 0}
 };


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



[PHP-CVS] com php-src: readline: README.md

2013-12-20 Thread Bob Weinand
Commit:bf8a9c141fcad21738156349a9c2b2900ee2908a
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 04:22:33 
+
Parents:   33f0502f1978fc89fede8b5dd7a8ced79f95d115
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=bf8a9c141fcad21738156349a9c2b2900ee2908a

Log:
readline

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index ba13c0d..1b03abe 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ Features
  - SAPI Agnostic - Easily Integrated
  - PHP Configuration File Support
  - JIT Super Globals - Set Your Own !!
+ - Optional readline Support - Comfortable Terminal Operation
  - Easy Operation - See Help :)
 
 Planned
@@ -39,6 +40,8 @@ make -j8
 make install-phpdbg
 ```
 
+*Note: php must be configured with the switch --with-readline for phpdbg to 
support history, autocompletion, tab-listing etc*
+
 Command Line Options
 


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



[PHP-CVS] com php-src: always unset unclean_shutdown: phpdbg.c

2013-12-20 Thread Bob Weinand
Commit:f822764129e148bcca00a354b9ad68eea598b834
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 02:42:34 
+
Parents:   734fe5508a96868a3e6c03c323f5fb436dc91aa0
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f822764129e148bcca00a354b9ad68eea598b834

Log:
always unset unclean_shutdown

Changed paths:
  M  phpdbg.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index 6ae0347..f04d694 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -1046,9 +1046,10 @@ phpdbg_interact:
/* set streams */
if (streams[0]  streams[1]) {
PHPDBG_G(flags) = 
~PHPDBG_IS_QUITTING;
-   
-   CG(unclean_shutdown) = 0;
}
+   
+   /* this must be forced */
+   CG(unclean_shutdown) = 0;
}
 #endif
if (PHPDBG_G(flags)  PHPDBG_IS_QUITTING) {
@@ -1057,6 +1058,9 @@ phpdbg_interact:
} zend_end_try();
} while(!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING));

+   /* this must be forced */
+   CG(unclean_shutdown) = 0;
+   
 phpdbg_out:
 #ifndef _WIN32
if (PHPDBG_G(flags)  PHPDBG_IS_DISCONNECTED) {


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_list.c phpdbg_list.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:8c91727484c6ed6af80fbe13f9076958450fe19b
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:35:07 
+
Parents:   c7b51537a03734a3e0a8fbb9100840cd64a66d37 
6aad2ee42c355934190a46f55b7f6633f9bea407
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=8c91727484c6ed6af80fbe13f9076958450fe19b

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_list.c
  MM  phpdbg_list.h
  MM  phpdbg_prompt.c


Diff:
diff --cc phpdbg_list.c
index f4209e1,d5e07d4..3bfa214
--- a/phpdbg_list.c
+++ b/phpdbg_list.c
@@@ -74,3 -73,17 +74,17 @@@ void phpdbg_list_file(const char *filen
  out:
close(fd);
  } /* }}} */
+ 
 -void phpdbg_list_function(const zend_function *fbc) /* {{{ */
++void phpdbg_list_function(const zend_function *fbc TSRMLS_DC) /* {{{ */
+ {
+   const zend_op_array *ops;
+ 
+   if (fbc-type != ZEND_USER_FUNCTION) {
+   return;
+   }
+ 
+   ops = (zend_op_array*)fbc;
+ 
+   phpdbg_list_file(ops-filename,
 -  ops-line_end - ops-line_start + 1, ops-line_start);
++  ops-line_end - ops-line_start + 1, ops-line_start TSRMLS_CC);
+ } /* }}} */
diff --cc phpdbg_list.h
index 883f991,95cc06e..2a25875
--- a/phpdbg_list.h
+++ b/phpdbg_list.h
@@@ -20,6 -20,9 +20,7 @@@
  #ifndef PHPDBG_LIST_H
  #define PHPDBG_LIST_H
  
 -#include zend_compile.h
 -
 -void phpdbg_list_file(const char*, long, long);
 -void phpdbg_list_function(const zend_function*);
++void phpdbg_list_function(const zend_function* TSRMLS_DC);
 +void phpdbg_list_file(const char*, long, long TSRMLS_DC);
  
  #endif /* PHPDBG_LIST_H */
diff --cc phpdbg_prompt.c
index c30d155,f7ec941..11cc914
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@@ -497,18 -498,32 +498,32 @@@ static PHPDBG_COMMAND(quiet) { /* {{{ *
  
  static PHPDBG_COMMAND(list) /* {{{ */
  {
-   long offset = 0, count = strtol(expr, NULL, 0);
-   const char *filename = PHPDBG_G(exec);
- 
-   if (zend_is_executing(TSRMLS_C)) {
-   filename = zend_get_executed_filename(TSRMLS_C);
-   offset = zend_get_executed_lineno(TSRMLS_C);
-   } else if (!filename) {
-   printf([No file to list]\n);
-   return SUCCESS;
-   }
+   if (phpdbg_is_numeric(expr)) {
+   long offset = 0, count = strtol(expr, NULL, 0);
+   const char *filename = PHPDBG_G(exec);
+ 
+   if (zend_is_executing(TSRMLS_C)) {
+   filename = zend_get_executed_filename(TSRMLS_C);
+   offset = zend_get_executed_lineno(TSRMLS_C);
+   } else if (!filename) {
+   printf([No file to list]\n);
+   return SUCCESS;
+   }
  
-   phpdbg_list_file(filename, count, offset TSRMLS_CC);
 -  phpdbg_list_file(filename, count, offset);
++  phpdbg_list_file(filename, count, offset TSRMLS_CC);
+   } else {
+   zend_function* fbc;
+ 
+   if (!EG(function_table)) {
+   printf([No function table loaded]\n);
+   return SUCCESS;
+   }
+ 
+   if (zend_hash_find(EG(function_table), expr, strlen(expr)+1,
+   (void**)fbc) == SUCCESS) {
 -  phpdbg_list_function(fbc);
++  phpdbg_list_function(fbc TSRMLS_CC);
+   }
+   }
  
return SUCCESS;
  } /* }}} */


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



[PHP-CVS] com php-src: Several fixes and cleanups on opline num support: phpdbg.c phpdbg.h phpdbg_bp.c phpdbg_bp.h

2013-12-20 Thread Bob Weinand
Commit:25f2d4eca166260bf5e47cbb274669c5d43a4e3c
Author:Bob Weinand bobw...@hotmail.com Sun, 1 Dec 2013 15:58:59 
+0100
Parents:   2e7c695c05a9de133bc9c0660ede968ce2e2dc5e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=25f2d4eca166260bf5e47cbb274669c5d43a4e3c

Log:
Several fixes and cleanups on opline num support

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_bp.c
  M  phpdbg_bp.h

diff --git a/phpdbg.c b/phpdbg.c
index 322d544..52efd43 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -135,6 +135,7 @@ static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_SYM], 8, NULL, 
php_phpdbg_destroy_bp_symbol, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_FUNCTION_OPLINE], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD_OPLINE], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
+   zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_FILE_OPLINE], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 8, NULL, NULL, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE], 8, NULL, 
php_phpdbg_destroy_bp_opcode, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
@@ -150,6 +151,9 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
 {
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_FILE]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_SYM]);
+   zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_FUNCTION_OPLINE]);
+   zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD_OPLINE]);
+   zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_FILE_OPLINE]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
@@ -241,6 +245,9 @@ static PHP_FUNCTION(phpdbg_clear)
 {
zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_FILE]);
zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_SYM]);
+   zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_FUNCTION_OPLINE]);
+   zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD_OPLINE]);
+   zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_FILE_OPLINE]);
zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE]);
zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
zend_hash_clean(PHPDBG_G(bp)[PHPDBG_BREAK_COND]);
diff --git a/phpdbg.h b/phpdbg.h
index 628f38a..cd71cfd 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -88,37 +88,41 @@
 #define PHPDBG_BREAK_OPCODE  5
 #define PHPDBG_BREAK_FUNCTION_OPLINE 6
 #define PHPDBG_BREAK_METHOD_OPLINE   7
-#define PHPDBG_BREAK_TABLES  8/* }}} */
+#define PHPDBG_BREAK_FILE_OPLINE 8
+#define PHPDBG_BREAK_TABLES  9 /* }}} */
 
 /* {{{ flags */
-#define PHPDBG_HAS_FILE_BP  (11)
-#define PHPDBG_HAS_SYM_BP   (12)
-#define PHPDBG_HAS_OPLINE_BP(13)
-#define PHPDBG_HAS_METHOD_BP(14)
-#define PHPDBG_HAS_COND_BP  (15)
-#define PHPDBG_HAS_OPCODE_BP(16)
-#define PHPDBG_BP_MASK  
(PHPDBG_HAS_FILE_BP|PHPDBG_HAS_SYM_BP|PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_OPLINE_BP|PHPDBG_HAS_COND_BP|PHPDBG_HAS_OPCODE_BP)
-
-#define PHPDBG_IN_COND_BP   (17)
-#define PHPDBG_IN_EVAL  (18)
-
-#define PHPDBG_IS_STEPPING  (19)
-#define PHPDBG_IS_QUIET (110)
-#define PHPDBG_IS_QUITTING  (111)
-#define PHPDBG_IS_COLOURED  (112)
-#define PHPDBG_IS_CLEANING  (113)
-
-#define PHPDBG_IN_UNTIL (114)
-#define PHPDBG_IN_FINISH(115)
-#define PHPDBG_IN_LEAVE (116)
-#define PHPDBG_SEEK_MASK
(PHPDBG_IN_UNTIL|PHPDBG_IN_FINISH|PHPDBG_IN_LEAVE)
-
-#define PHPDBG_IS_REGISTERED(117)
-#define PHPDBG_IS_STEPONEVAL(118)
-#define PHPDBG_IS_INITIALIZING  (119)
-#define PHPDBG_IS_SIGNALED  (120)
-#define PHPDBG_IS_INTERACTIVE   (121)
-#define PHPDBG_IS_BP_ENABLED(122)
+#define PHPDBG_HAS_FILE_BP(11)
+#define PHPDBG_HAS_SYM_BP (12)
+#define PHPDBG_HAS_OPLINE_BP  (13)
+#define PHPDBG_HAS_METHOD_BP  (14)
+#define PHPDBG_HAS_COND_BP(15)
+#define PHPDBG_HAS_OPCODE_BP  (16)
+#define PHPDBG_HAS_FUNCTION_OPLINE_BP (17)
+#define PHPDBG_HAS_METHOD_OPLINE_BP   (18)
+#define PHPDBG_HAS_FILE_OPLINE_BP (19)
+#define PHPDBG_BP_MASK
(PHPDBG_HAS_FILE_BP|PHPDBG_HAS_SYM_BP|PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_OPLINE_BP|PHPDBG_HAS_COND_BP|PHPDBG_HAS_OPCODE_BP|PHPDBG_HAS_FUNCTION_OPLINE_BP|PHPDBG_HAS_METHOD_OPLINE_BP|PHPDBG_HAS_FILE_OPLINE_BP)
+
+#define PHPDBG_IN_COND_BP (18)
+#define PHPDBG_IN_EVAL(19)
+
+#define PHPDBG_IS_STEPPING(110)
+#define PHPDBG_IS_QUIET   (111)
+#define PHPDBG_IS_QUITTING(112)
+#define PHPDBG_IS_COLOURED(113)
+#define PHPDBG_IS_CLEANING(114)
+
+#define PHPDBG_IN_UNTIL   (115)
+#define PHPDBG_IN_FINISH  (116)
+#define

[PHP-CVS] com php-src: ...: phpdbg.init.d

2013-12-20 Thread Bob Weinand
Commit:01ed1f436c4d306c316fc43e3f6b67d28b948027
Author:krakjoe joe.watk...@live.co.uk Sun, 1 Dec 2013 13:12:51 
+
Parents:   800ec7836b3a095869368fb60c81fbd7cf158337
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=01ed1f436c4d306c316fc43e3f6b67d28b948027

Log:
...

Changed paths:
  M  phpdbg.init.d


Diff:
diff --git a/phpdbg.init.d b/phpdbg.init.d
index 4b69260..1175044 100755
--- a/phpdbg.init.d
+++ b/phpdbg.init.d
@@ -10,10 +10,10 @@ PIDFILE=/var/run/phpdbg.pid
 STDIN=4000
 STDOUT=8000
 
-# Either set path to phpdbg here or rely on phpdbg in PATH#
+# Either set path to phpdbg here or rely on phpdbg in ENV/PATH #
 
-if [ x$PHPDBG == x ]; then
-   PHPDBG=$(which phpdbg)
+if [ x${PHPDBG} == x ]; then
+   PHPDBG=$(which phpdbg 2/dev/null)
 fi
 
 # Options to pass to phpdbg upon boot  
   #
@@ -26,9 +26,36 @@ LOGFILE=/var/log/phpdbg.log
 . /etc/rc.d/init.d/functions
 RETVAL=1
 
+insanity()
+{
+   if [ x${PHPDBG} == x ]; then
+   PHPDBG=$(which phpdbg 2/dev/null)
+   if [ $? != 0 ]; then
+   echo -n $Fatal: cannot find phpdbg ${PHPDBG}
+   echo_failure
+   echo
+   return 1
+   fi
+   else
+   if [ ! -x ${PHPDBG} ]; then
+   echo -n $Fatal: cannot execute phpdbg ${PHPDBG}
+   echo_failure
+   echo
+   return 1
+   fi
+   fi
+   
+   return 0
+}
 
 start()
 {
+   insanity
+
+   if [ $? -eq 1 ]; then
+   return $RETVAL
+   fi
+
 echo -n $Starting: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
 nohup ${PHPDBG} -l${STDIN}/${STDOUT} ${OPTIONS} 2${LOGFILE} 
1/dev/null /dev/null 
 PID=$!
@@ -43,8 +70,15 @@ start()
 [ $RETVAL = 0 ]  touch ${LOCKFILE}
return $RETVAL
 }
+
 stop()
 {
+   insanity
+
+   if [ $? -eq 1 ]; then
+   return $RETVAL
+   fi
+   
 if [ -f ${LOCKFILE} ]  [ -f ${PIDFILE} ]
 then
 echo -n $Stopping: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 


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



[PHP-CVS] com php-src: ...: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:b9c1c872f6fcf99b0ba8e3f26a21814e475bd788
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:50:24 
+
Parents:   79ab9a3f74e9ecb3d9acfc4a0050b491bda56185
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=b9c1c872f6fcf99b0ba8e3f26a21814e475bd788

Log:
...

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 5fd0712..7d8ed35 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -513,13 +513,13 @@ static PHPDBG_COMMAND(list) /* {{{ */
phpdbg_list_file(filename, count, offset TSRMLS_CC);
} else {
zend_function* fbc;
-
+
if (!EG(function_table)) {
printf([No function table loaded]\n);
return SUCCESS;
}
 
-   if (zend_hash_find(EG(function_table), expr, strlen(expr)+1,
+   if (zend_hash_find(EG(function_table), expr, expr_len,
(void**)fbc) == SUCCESS) {
phpdbg_list_function(fbc TSRMLS_CC);
}


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



[PHP-CVS] com php-src: ...: phpdbg.png phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:78418cc38c822cc915f23d6d3ffcd185daf29418
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:04:32 
+
Parents:   4112330bb5ba4e1a18191c7586a3567638b44a54
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=78418cc38c822cc915f23d6d3ffcd185daf29418

Log:
...

Changed paths:
  M  phpdbg.png
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg.png b/phpdbg.png
index 403652b..829bbba 100644
Binary files a/phpdbg.png and b/phpdbg.png differ
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 40db309..72d9023 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -491,7 +491,7 @@ static PHPDBG_COMMAND(help) /* {{{ */
printf(To get help regarding a specific command type \help 
command\\n);
 
printf(
-   %sCommands:%s\n, 
+   %sCommands%s\n, 
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));

while (prompt_command  prompt_command-name) {


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



[PHP-CVS] com php-src: printer commands: config.m4 phpdbg_print.c phpdbg_print.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:c00abb0e75628d2284f76098e43626266a440d3e
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 08:26:11 
+
Parents:   ff4c0c9397d7435ab8462fedd3e89fe2c9e3c4d4
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=c00abb0e75628d2284f76098e43626266a440d3e

Log:
printer commands

Changed paths:
  M  config.m4
  A  phpdbg_print.c
  A  phpdbg_print.h
  M  phpdbg_prompt.c


Diff:
diff --git a/config.m4 b/config.m4
index df12708..92f626e 100644
--- a/config.m4
+++ b/config.m4
@@ -9,7 +9,7 @@ if test $PHP_PHPDBG != no; then
   AC_DEFINE(HAVE_PHPDBG, 1, [ ])
 
   PHP_PHPDBG_CFLAGS=-I$abc_srcdir
-  PHP_PHPDBG_FILES=phpdbg.c phpdbg_prompt.c phpdbg_help.c phpdbg_bp.c 
phpdbg_opcode.c phpdbg_list.c phpdbg_utils.c
+  PHP_PHPDBG_FILES=phpdbg.c phpdbg_prompt.c phpdbg_help.c phpdbg_print.c 
phpdbg_bp.c phpdbg_opcode.c phpdbg_list.c phpdbg_utils.c
 
   PHP_SUBST(PHP_PHPDBG_CFLAGS)
   PHP_SUBST(PHP_PHPDBG_FILES)
diff --git a/phpdbg_print.c b/phpdbg_print.c
new file mode 100644
index 000..c167482
--- /dev/null
+++ b/phpdbg_print.c
@@ -0,0 +1,29 @@
+/*
+   +--+
+   | PHP Version 5|
+   +--+
+   | Copyright (c) 1997-2013 The PHP Group|
+   +--+
+   | This source file is subject to version 3.01 of the PHP license,  |
+   | that is bundled with this package in the file LICENSE, and is|
+   | available through the world-wide-web at the following url:   |
+   | http://www.php.net/license/3_01.txt  |
+   | If you did not receive a copy of the PHP license and are unable to   |
+   | obtain it through the world-wide-web, please send a note to  |
+   | lice...@php.net so we can mail you a copy immediately.   |
+   +--+
+   | Authors: Felipe Pena fel...@php.net|
+   | Authors: Joe Watkins joe.watk...@live.co.uk|
+   +--+
+*/
+
+#include stdio.h
+#include zend.h
+#include phpdbg.h
+#include phpdbg_print.h
+
+PHPDBG_PRINT(default) /* {{{ */
+{
+   printf(in default printer\n);
+   return SUCCESS;
+} /* }}} */
diff --git a/phpdbg_print.h b/phpdbg_print.h
new file mode 100644
index 000..825316a
--- /dev/null
+++ b/phpdbg_print.h
@@ -0,0 +1,47 @@
+/*
+   +--+
+   | PHP Version 5|
+   +--+
+   | Copyright (c) 1997-2013 The PHP Group|
+   +--+
+   | This source file is subject to version 3.01 of the PHP license,  |
+   | that is bundled with this package in the file LICENSE, and is|
+   | available through the world-wide-web at the following url:   |
+   | http://www.php.net/license/3_01.txt  |
+   | If you did not receive a copy of the PHP license and are unable to   |
+   | obtain it through the world-wide-web, please send a note to  |
+   | lice...@php.net so we can mail you a copy immediately.   |
+   +--+
+   | Authors: Felipe Pena fel...@php.net|
+   | Authors: Joe Watkins joe.watk...@live.co.uk|
+   +--+
+*/
+
+#ifndef PHPDBG_PRINT_H
+#define PHPDBG_PRINT_H
+
+#include TSRM.h
+#include phpdbg_prompt.h
+
+/**
+ * Command Declarators
+ */
+#define PHPDBG_PRINT_D(name, tip) \
+   {PHPDBG_STRL(#name), tip, sizeof(tip)-1, phpdbg_do_print_##name}
+#define PHPDBG_PRINT(name) \
+   int phpdbg_do_print_##name(const char *expr, size_t expr_len TSRMLS_DC)
+
+/**
+ * Printer Forward Declarations
+ */
+PHPDBG_PRINT(default);
+
+/**
+ * Commands
+ */
+static const phpdbg_command_t phpdbg_print_commands[] = {
+   PHPDBG_PRINT_D(default, the default print command),
+   {NULL, 0, 0}
+};
+
+#endif /* PHPDBG_PRINT_H */
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index d42e638..dd225d6 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -23,6 +23,7 @@
 #include zend_compile.h
 #include phpdbg.h
 #include phpdbg_help.h
+#include phpdbg_print.h
 #include phpdbg_bp.h
 #include phpdbg_opcode.h
 #include phpdbg_list.h
@@ -228,16 +229,22 @@ static PHPDBG_COMMAND(back) /* {{{ */
 
 static PHPDBG_COMMAND(print) /* {{{ */
 {
-   if (expr_len) {
-   printf(%s\n, 

[PHP-CVS] com php-src: ...: web-bootstrap.php

2013-12-20 Thread Bob Weinand
Commit:6c5831aa09a85b069dfc0c9360547f960fb701e2
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 07:08:00 
+
Parents:   25475ff95e1f1f30df22bc0d920692f92c199a2f
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6c5831aa09a85b069dfc0c9360547f960fb701e2

Log:
...

Changed paths:
  M  web-bootstrap.php


Diff:
diff --git a/web-bootstrap.php b/web-bootstrap.php
index fdb40f9..e6bea6b 100644
--- a/web-bootstrap.php
+++ b/web-bootstrap.php
@@ -31,14 +31,14 @@ $_SERVER = array
   'SERVER_NAME' = 'localhost',
   'SERVER_ADDR' = '127.0.0.1',
   'SERVER_PORT' = '80',
-  'REMOTE_ADDR' = '128.0.0.1',
-  'DOCUMENT_ROOT' = dirname(__FILE__),
+  'REMOTE_ADDR' = '127.0.0.1',
+  'DOCUMENT_ROOT' = PHPDBG_BOOTPATH,
   'REQUEST_SCHEME' = 'http',
   'CONTEXT_PREFIX' = '',
-  'CONTEXT_DOCUMENT_ROOT' = dirname(__FILE__),
+  'CONTEXT_DOCUMENT_ROOT' = PHPDBG_BOOTPATH,
   'SERVER_ADMIN' = '[no address given]',
   'SCRIPT_FILENAME' = sprintf(
-'%s/%s', dirname(__FILE__), PHPDBG_BOOTSTRAP
+'%s/%s', PHPDBG_BOOTPATH, PHPDBG_BOOTSTRAP
   ),
   'REMOTE_PORT' = '47931',
   'GATEWAY_INTERFACE' = 'CGI/1.1',


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



[PHP-CVS] com php-src: update version: phpdbg.h

2013-12-20 Thread Bob Weinand
Commit:723b721fb9a703c4a67cf9afa322745ff797feb3
Author:krakjoe joe.watk...@live.co.uk Sun, 1 Dec 2013 10:23:37 
+
Parents:   083cce91624f676cf9d16537cc2050b6cfffb372
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=723b721fb9a703c4a67cf9afa322745ff797feb3

Log:
update version

Changed paths:
  M  phpdbg.h


Diff:
diff --git a/phpdbg.h b/phpdbg.h
index 0ab9e60..0102892 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -137,7 +137,7 @@
 
 /* {{{ strings */
 #define PHPDBG_ISSUES http://github.com/krakjoe/phpdbg/issues;
-#define PHPDBG_VERSION 0.2.0
+#define PHPDBG_VERSION 0.3.0-dev
 #define PHPDBG_INIT_FILENAME .phpdbginit
 /* }}} */


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



[PHP-CVS] com php-src: - Removed name member to opline breakpoints: phpdbg.c phpdbg_bp.c phpdbg_bp.h phpdbg_prompt.c test.php

2013-12-20 Thread Bob Weinand
Commit:fdf26eaa0f7daaecfb05699e6012d140d1cdbaa8
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 11:07:35 
-0200
Parents:   fe7a3ef5781cf92c7dc190c649a90452400782f1
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=fdf26eaa0f7daaecfb05699e6012d140d1cdbaa8

Log:
- Removed name member to opline breakpoints

Changed paths:
  M  phpdbg.c
  M  phpdbg_bp.c
  M  phpdbg_bp.h
  M  phpdbg_prompt.c
  M  test.php

diff --git a/phpdbg.c b/phpdbg.c
index a83e492..bd756ee 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -58,11 +58,6 @@ static void php_phpdbg_destroy_bp_symbol(void *brake) /* {{{ 
*/
efree((char*)((phpdbg_breaksymbol_t*)brake)-symbol);
 } /* }}} */
 
-static void php_phpdbg_destroy_bp_opline(void *brake) /* {{{ */
-{
-   free((char*)((phpdbg_breakline_t*)brake)-name);
-} /* }}} */
-
 static void php_phpdbg_destroy_bp_methods(void *brake) /* {{{ */
 {
 zend_hash_destroy((HashTable*)brake);
@@ -72,9 +67,9 @@ static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
 {
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_FILE],   8, NULL, 
php_phpdbg_destroy_bp_file, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_SYM], 8, NULL, 
php_phpdbg_destroy_bp_symbol, 0);
-zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 8, NULL, 
php_phpdbg_destroy_bp_opline, 0);
+zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 8, NULL, NULL, 0);
 zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
-
+
return SUCCESS;
 } /* }}} */
 
@@ -84,7 +79,7 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_SYM]);
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE]);
 zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
-
+
 if (PHPDBG_G(exec)) {
 efree(PHPDBG_G(exec));
 }
@@ -97,12 +92,12 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
 } /* }}} */
 
 /* {{{ proto void phpdbg_break(void)
-instructs phpdbg to insert a breakpoint at the next opcode */ 
+instructs phpdbg to insert a breakpoint at the next opcode */
 static PHP_FUNCTION(phpdbg_break)
 {
 if (EG(current_execute_data)  EG(active_op_array)) {
 zend_ulong opline_num = (EG(current_execute_data)-opline - 
EG(active_op_array)-opcodes);
-
+
 phpdbg_set_breakpoint_opline_ex(
 EG(active_op_array)-opcodes[opline_num+1] TSRMLS_CC);
 }
@@ -206,7 +201,7 @@ static void php_sapi_phpdbg_register_vars(zval 
*track_vars_array TSRMLS_DC) /* {
 if (sapi_module.input_filter(PARSE_SERVER, SCRIPT_NAME, 
PHPDBG_G(exec), PHPDBG_G(exec_len), len TSRMLS_CC)) {
php_register_variable(SCRIPT_NAME, PHPDBG_G(exec), 
track_vars_array TSRMLS_CC);
 }
-
+
 if (sapi_module.input_filter(PARSE_SERVER, SCRIPT_FILENAME, 
PHPDBG_G(exec), PHPDBG_G(exec_len), len TSRMLS_CC)) {
php_register_variable(SCRIPT_FILENAME, PHPDBG_G(exec), 
track_vars_array TSRMLS_CC);
 }
@@ -214,7 +209,7 @@ static void php_sapi_phpdbg_register_vars(zval 
*track_vars_array TSRMLS_DC) /* {
php_register_variable(PATH_TRANSLATED, PHPDBG_G(exec), 
track_vars_array TSRMLS_CC);
 }
 }
-
+
 /* any old docroot will doo */
 len = 0U;
 if (sapi_module.input_filter(PARSE_SERVER, DOCUMENT_ROOT, docroot, len, 
len TSRMLS_CC)) {
@@ -302,7 +297,7 @@ int main(int argc, char *argv[]) /* {{{ */
char *php_optarg = NULL;
 int php_optind = 1;
 int opt;
-
+
 #ifdef ZTS
void ***tsrm_ls;
 #endif
@@ -319,7 +314,7 @@ int main(int argc, char *argv[]) /* {{{ */
 
tsrm_ls = ts_resource(0);
 #endif
-
+
 while ((opt = php_getopt(argc, argv, OPTIONS, php_optarg, php_optind, 0, 
2)) != -1) {
 switch (opt) {
 case 'n':
@@ -363,7 +358,7 @@ int main(int argc, char *argv[]) /* {{{ */
 case 'z':
 zend_load_extension(php_optarg);
 break;
-
+
 case 'e': /* set execution context */
 exec_len = strlen(php_optarg);
 if (exec_len) {
@@ -374,11 +369,11 @@ int main(int argc, char *argv[]) /* {{{ */
 case 'v': /* set quietness off */
 flags = ~PHPDBG_IS_QUIET;
 break;
-
+
 case 's': /* set stepping on */
 flags |= PHPDBG_IS_STEPPING;
 break;
-
+
 case 'b': /* set colours off */
 flags = ~PHPDBG_IS_COLOURED;
 break;
@@ -394,7 +389,7 @@ int main(int argc, char *argv[]) /* {{{ */
 phpdbg-executable_location = argv[0];
 phpdbg-phpinfo_as_text = 1;
 phpdbg-php_ini_ignore = 0;
-
+
 if (ini_entries) {
ini_entries = realloc(ini_entries, ini_entries_len + 
sizeof(phpdbg_ini_hardcoded));
memmove(ini_entries + sizeof(phpdbg_ini_hardcoded) - 2, 
ini_entries, ini_entries_len + 1);
@@ -404,9 

[PHP-CVS] com php-src: ...: .gitignore tutorials/java/build/built-jar.properties tutorials/java/build/classes/.netbeans_automatic_build tutorials/java/build/classes/.netbeans_update_resources tutorial

2013-12-20 Thread Bob Weinand
Commit:3495e7827432a999af87cde91e773107694ac10a
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 09:38:00 
+
Parents:   216e3668d60429b32b4e01570af3377f00d6dfbb
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3495e7827432a999af87cde91e773107694ac10a

Log:
...

Changed paths:
  M  .gitignore
  M  tutorials/java/build/built-jar.properties
  D  tutorials/java/build/classes/.netbeans_automatic_build
  D  tutorials/java/build/classes/.netbeans_update_resources
  M  tutorials/java/build/classes/phpdbg/ui/CommandHistory.class
  M  tutorials/java/build/classes/phpdbg/ui/DebugSocket.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$1.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$2.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$3.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$4.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class
  M  tutorials/java/build/classes/phpdbg/ui/JConsole.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole.form
  M  tutorials/java/dist/phpdbg-ui.jar

diff --git a/.gitignore b/.gitignore
index a9e84f8..297efcb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
 .libs/
-phpdbg
+./phpdbg
 *.lo
 *.o
-
+build
diff --git a/tutorials/java/build/built-jar.properties 
b/tutorials/java/build/built-jar.properties
index e642ca0..0a4931e 100644
--- a/tutorials/java/build/built-jar.properties
+++ b/tutorials/java/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Fri, 29 Nov 2013 09:01:15 +
+#Fri, 29 Nov 2013 09:36:09 +
 
 
 /usr/src/phpdbg/tutorials/java=
diff --git a/tutorials/java/build/classes/.netbeans_automatic_build 
b/tutorials/java/build/classes/.netbeans_automatic_build
deleted file mode 100644
index e69de29..000
diff --git a/tutorials/java/build/classes/.netbeans_update_resources 
b/tutorials/java/build/classes/.netbeans_update_resources
deleted file mode 100644
index e69de29..000
diff --git a/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class 
b/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class
index 2e9bf45..c7683af 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class and 
b/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class 
b/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class
index af241d4..bd41313 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class and 
b/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class
index 6d8f361..4a79425 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class
index 26f4b99..5803529 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class
index e42eba1..5adbfa8 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class
index f592992..4ef4d31 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class
index 3447931..407f622 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class
index 5fc8bd6..b9a864f 100644
Binary files 
a/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole.class
index 9c6715b..39129fe 100644
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole.class and 
b/tutorials/java/build/classes/phpdbg/ui/JConsole.class differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole.form 
b/tutorials/java/build/classes/phpdbg/ui/JConsole.form
deleted file mode 100644
index 4d43235..000
--- 

[PHP-CVS] com php-src: I give up: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:2e7c695c05a9de133bc9c0660ede968ce2e2dc5e
Author:Bob Weinand bobw...@hotmail.com Fri, 29 Nov 2013 11:38:28 
+0100
Parents:   24585722b1a9acd87387285a301a6c5e084d21bc
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=2e7c695c05a9de133bc9c0660ede968ce2e2dc5e

Log:
I give up

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 11f2754..d22233a 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -266,7 +266,7 @@ PHPDBG_API void phpdbg_set_breakpoint_method(const char* 
class_name, const char*
 
 PHPDBG_API void phpdbg_save_oplines(zend_op_array *op_array TSRMLS_DC) {
phpdbg_btree **branch = PHPDBG_G(opline_btree);
-   int i = sizeof(zend_ulong) * 8 - 1;
+   int i = sizeof(void *) * 8 - 1;
 
do {
if (*branch == NULL) {
@@ -276,11 +276,12 @@ PHPDBG_API void phpdbg_save_oplines(zend_op_array 
*op_array TSRMLS_DC) {
} while (i--);
 
if (*branch == NULL) {
-   phpdbg_btree *memory = *branch = emalloc(i * 
sizeof(phpdbg_btree));
-   while (i--) {
+   phpdbg_btree *memory = *branch = emalloc((i + 2) * 
sizeof(phpdbg_btree));
+   do {
+   (*branch)-branches[!(((zend_ulong)op_array-opcodes  
i) % 2)] = NULL;
branch = 
(*branch)-branches[((zend_ulong)op_array-opcodes  i) % 2];
*branch = ++memory;
-   }
+   } while (i--);
}
 
(*branch)-op_array = op_array;
@@ -288,24 +289,32 @@ PHPDBG_API void phpdbg_save_oplines(zend_op_array 
*op_array TSRMLS_DC) {
 
 PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline TSRMLS_DC) /* 
{{{ */
 {
+   if (PHPDBG_G(opline_btree) == NULL) {
+   phpdbg_error(No oplines initialized yet);
+   return;
+   }
+
if (!zend_hash_index_exists(PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], 
opline)) {
phpdbg_breakline_t new_break;
phpdbg_breakopline_t opline_break;
-   int i = sizeof(zend_ulong) * 8 - 1, last_superior_i = -1;
+   int i = sizeof(void *) * 8 - 1, last_superior_i = -1;
phpdbg_btree *branch = PHPDBG_G(opline_btree);
HashTable *insert = PHPDBG_G(bp)[PHPDBG_BREAK_FUNCTION_OPLINE];
HashTable func_breaks, *func_table;
 
do {
if ((opline  i) % 2 == 0  !branch-branches[0]) {
-   if (last_superior_i != -1) {
-   i = sizeof(zend_ulong) * 8 - 1;
-   do {
-   branch = 
branch-branches[(opline  i) % 2 == 1  branch-branches[1]];
-   } while (i--  last_superior_i);
-   do {
-   branch = 
branch-branches[!!branch-branches[1]];
-   } while (i--);
+   if (last_superior_i == -1) {
+   goto error;
+   }
+   branch = PHPDBG_G(opline_btree);
+   i = sizeof(void *) * 8 - 1;
+   do {
+   branch = branch-branches[(opline  i) 
% 2 == 1  branch-branches[1]];
+   } while (i--  last_superior_i);
+   branch = branch-branches[0];
+   while (i--) {
+   branch = 
branch-branches[branch-branches[1] != NULL];
}
break;
}
@@ -317,11 +326,11 @@ PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong 
opline TSRMLS_DC) /* {{{
} else {
branch = branch-branches[0];
}
-   } while (--i);
+   } while (i--);
 
-   if (i ||
-   (zend_ulong)(branch-op_array + branch-op_array-last) = 
opline ||
-   (opline - (zend_ulong)branch-op_array) % sizeof(zend_op)  
0) {
+   if ((zend_ulong)(branch-op_array-opcodes + 
branch-op_array-last) = opline ||
+   (opline - (zend_ulong)branch-op_array-opcodes) % 
sizeof(zend_op)  0) {
+error:
phpdbg_error(No opline could be found at 0x%lx, 
opline);
return;
}
@@ -421,7 +430,14 @@ PHPDBG_API void 
phpdbg_resolve_op_array_breaks(zend_op_array *op_array TSRMLS_DC
for (zend_hash_internal_pointer_reset_ex(oplines_table, position);
 zend_hash_get_current_data_ex(oplines_table, (void**) brake, 
position) == SUCCESS;
 zend_hash_move_forward_ex(oplines_table, position

[PHP-CVS] com php-src: ...: README.md

2013-12-20 Thread Bob Weinand
Commit:97d4052bb85915016838f5fe5ed78c43ad7cf665
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 03:14:56 
+
Parents:   08973a6bf5009dd14b2004259d0dd260726cd414
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=97d4052bb85915016838f5fe5ed78c43ad7cf665

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index 580538f..ba13c0d 100644
--- a/README.md
+++ b/README.md
@@ -3,23 +3,26 @@ The interactive PHP debugger
 
 Implemented as a SAPI module, phpdbg can excerpt complete control over the 
environment without impacting the functionality or performance of your code.
 
-phpdbg aims to be a lightweight, easy to use debugging platform for PHP5.5+
+phpdbg aims to be a lightweight, powerful, easy to use debugging platform for 
PHP5.5+
 
 Features
 
 
- - step through debugging
- - break at method/function entry, file:line or address
- - showing debug backtraces
- - easy manipulation of the environment with built-in eval()
- - userland API
- - sapi agnositicism, easy integration
+ - Stepthrough Debugging
+ - Flexible Breakpoints (Class Method, Function, File:Line, internally Opline)
+ - Easy Access to PHP with built-in eval()
+ - Easy Access to Currently Executing Code
+ - Userland API
+ - SAPI Agnostic - Easily Integrated
+ - PHP Configuration File Support
+ - JIT Super Globals - Set Your Own !!
+ - Easy Operation - See Help :)
 
 Planned
 ===
 
- - mocking server environments/requests
- - improve everything
+ - Mocking API for Server/Request Environments
+ - Improve Everything :)
  
 Installation
 


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



[PHP-CVS] com php-src: - Fix function: phpdbg_utils.c

2013-12-20 Thread Bob Weinand
Commit:6aad2ee42c355934190a46f55b7f6633f9bea407
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 00:28:52 
-0200
Parents:   629b96295e1770afb94ed5f515a8f22fc3a11330
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6aad2ee42c355934190a46f55b7f6633f9bea407

Log:
- Fix function

Changed paths:
  M  phpdbg_utils.c


Diff:
diff --git a/phpdbg_utils.c b/phpdbg_utils.c
index 4b0c4a0..4991d3d 100644
--- a/phpdbg_utils.c
+++ b/phpdbg_utils.c
@@ -28,4 +28,5 @@ int phpdbg_is_numeric(const char *str) /* {{{ */
}
return isdigit(*str);
}
+   return 0;
 } /* }}} */


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



[PHP-CVS] com php-src: update image with colours :): tutorials/java-example.png

2013-12-20 Thread Bob Weinand
Commit:28854065902b1b3b7c8c83c5b5dd7e486fe0e8b0
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 09:46:20 
+
Parents:   921c73aeda37997e3e2f9c40369c219759d3540d
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=28854065902b1b3b7c8c83c5b5dd7e486fe0e8b0

Log:
update image with colours :)

Changed paths:
  M  tutorials/java-example.png


Diff:
diff --git a/tutorials/java-example.png b/tutorials/java-example.png
index 571b768..bb4a96a 100644
Binary files a/tutorials/java-example.png and b/tutorials/java-example.png 
differ


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



[PHP-CVS] com php-src: fix layout: tutorials/java/dist/phpdbg-ui.jar tutorials/java/src/phpdbg/ui/JConsole.form tutorials/java/src/phpdbg/ui/JConsole.java

2013-12-20 Thread Bob Weinand
Commit:921c73aeda37997e3e2f9c40369c219759d3540d
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 09:44:25 
+
Parents:   167f6e0c25ab1667131e58e248ac15c4c506462b
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=921c73aeda37997e3e2f9c40369c219759d3540d

Log:
fix layout

Changed paths:
  M  tutorials/java/dist/phpdbg-ui.jar
  M  tutorials/java/src/phpdbg/ui/JConsole.form
  M  tutorials/java/src/phpdbg/ui/JConsole.java


Diff:
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index 725dad5..ca6b714 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/src/phpdbg/ui/JConsole.form 
b/tutorials/java/src/phpdbg/ui/JConsole.form
index 4d43235..69ab577 100644
--- a/tutorials/java/src/phpdbg/ui/JConsole.form
+++ b/tutorials/java/src/phpdbg/ui/JConsole.form
@@ -124,6 +124,14 @@
   Layout 
class=org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout/
   SubComponents
 Component class=phpdbg.ui.JTerminalPane name=output
+  Properties
+Property name=font type=java.awt.Font 
editor=org.netbeans.beaninfo.editors.FontEditor
+  Font name=DialogInput size=12 style=0/
+/Property
+Property name=componentPopupMenu 
type=javax.swing.JPopupMenu 
editor=org.netbeans.modules.form.ComponentChooserEditor
+  ComponentRef name=stdoutPopupMenu/
+/Property
+  /Properties
 /Component
   /SubComponents
 /Container
diff --git a/tutorials/java/src/phpdbg/ui/JConsole.java 
b/tutorials/java/src/phpdbg/ui/JConsole.java
index 0406e3c..08661bc 100644
--- a/tutorials/java/src/phpdbg/ui/JConsole.java
+++ b/tutorials/java/src/phpdbg/ui/JConsole.java
@@ -89,6 +89,8 @@ public class JConsole extends javax.swing.JDialog {
 });
 mainSplit.setLeftComponent(input);
 
+output.setFont(new java.awt.Font(DialogInput, 0, 12)); // NOI18N
+output.setComponentPopupMenu(stdoutPopupMenu);
 outputScrollPane.setViewportView(output);
 
 mainSplit.setRightComponent(outputScrollPane);


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



[PHP-CVS] com php-src: add ANSI colour support to output pane: tutorials/java/build/built-jar.properties tutorials/java/build/classes/DBGThread.class tutorials/java/build/classes/Main$1.class tutorial

2013-12-20 Thread Bob Weinand
Commit:883f34f4870627eac2706c71b4880e4960bc5953
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 08:57:29 
+
Parents:   f822764129e148bcca00a354b9ad68eea598b834
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=883f34f4870627eac2706c71b4880e4960bc5953

Log:
add ANSI colour support to output pane

Changed paths:
  M  tutorials/java/build/built-jar.properties
  D  tutorials/java/build/classes/DBGThread.class
  D  tutorials/java/build/classes/Main$1.class
  D  tutorials/java/build/classes/Main$2.class
  D  tutorials/java/build/classes/Main$3$1.class
  D  tutorials/java/build/classes/Main$3.class
  D  tutorials/java/build/classes/Main$4.class
  D  tutorials/java/build/classes/Main.class
  M  tutorials/java/dist/phpdbg-ui.jar
  M  tutorials/java/nbproject/project.properties
  D  tutorials/java/src/DBGThread.java
  D  tutorials/java/src/History.java
  D  tutorials/java/src/Main.form
  D  tutorials/java/src/Main.java

diff --git a/tutorials/java/build/built-jar.properties 
b/tutorials/java/build/built-jar.properties
index 79923e5..3a123e3 100644
--- a/tutorials/java/build/built-jar.properties
+++ b/tutorials/java/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Thu, 28 Nov 2013 22:53:51 +
+#Fri, 29 Nov 2013 08:22:06 +
 
 
-/home/joe/NetBeansProjects/phpdbg-ui=
+/usr/src/phpdbg/tutorials/java=
diff --git a/tutorials/java/build/classes/DBGThread.class 
b/tutorials/java/build/classes/DBGThread.class
deleted file mode 100644
index 4bf0a8f..000
Binary files a/tutorials/java/build/classes/DBGThread.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$1.class 
b/tutorials/java/build/classes/Main$1.class
deleted file mode 100644
index 8e19c10..000
Binary files a/tutorials/java/build/classes/Main$1.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$2.class 
b/tutorials/java/build/classes/Main$2.class
deleted file mode 100644
index df1dd09..000
Binary files a/tutorials/java/build/classes/Main$2.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$3$1.class 
b/tutorials/java/build/classes/Main$3$1.class
deleted file mode 100644
index 6d285e6..000
Binary files a/tutorials/java/build/classes/Main$3$1.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$3.class 
b/tutorials/java/build/classes/Main$3.class
deleted file mode 100644
index 4004150..000
Binary files a/tutorials/java/build/classes/Main$3.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$4.class 
b/tutorials/java/build/classes/Main$4.class
deleted file mode 100644
index 0008d12..000
Binary files a/tutorials/java/build/classes/Main$4.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main.class 
b/tutorials/java/build/classes/Main.class
deleted file mode 100644
index 2d965ed..000
Binary files a/tutorials/java/build/classes/Main.class and /dev/null differ
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index fc4e9d1..c4dbea3 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/nbproject/project.properties 
b/tutorials/java/nbproject/project.properties
index c1f3c54..00f726c 100644
--- a/tutorials/java/nbproject/project.properties
+++ b/tutorials/java/nbproject/project.properties
@@ -55,7 +55,7 @@ javadoc.splitindex=true
 javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=
-main.class=Main
+main.class=phpdbg.ui.Main
 manifest.file=manifest.mf
 meta.inf.dir=${src.dir}/META-INF
 mkdist.disabled=false
diff --git a/tutorials/java/src/DBGThread.java 
b/tutorials/java/src/DBGThread.java
deleted file mode 100644
index 73e2dc4..000
--- a/tutorials/java/src/DBGThread.java
+++ /dev/null
@@ -1,90 +0,0 @@
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.Socket;
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/**
- * Manage input and output data
- * @author krakjoe
- */
-public class DBGThread extends Socket implements Runnable {
-private final Boolean reader;
-private final Main main;
-private Boolean quit;
-
-public DBGThread(final String host, final Integer port, final Main main, 
Boolean reader) throws IOException {
-super(host, port);
-
-this.main = main;
-this.reader = reader;
-this.quit = false;
-
-main.setConnected(true);
-}
-
-public void quit() {
-synchronized(this) {
-quit = true;
-this.notifyAll(); 
-}
-}
-
-@Override public void run() {
-try {
-synchronized(this) {
-do {
-if (reader) {
-String command;
- 

[PHP-CVS] com php-src: fix windows build build shared on windows: config.w32 phpdbg.h phpdbg_set.c

2013-12-20 Thread Bob Weinand
Commit:bc7df607ab2d7771a3c2226b46598645e67e053f
Author:krakjoe joe.watk...@live.co.uk Tue, 26 Nov 2013 07:53:08 
+
Parents:   2942caff29fc685a153cb8bf5f73f8a98ea6e2b1
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=bc7df607ab2d7771a3c2226b46598645e67e053f

Log:
fix windows build
build shared on windows

Changed paths:
  M  config.w32
  M  phpdbg.h
  M  phpdbg_set.c


Diff:
diff --git a/config.w32 b/config.w32
index 89778a3..25458d5 100644
--- a/config.w32
+++ b/config.w32
@@ -1,7 +1,19 @@
 ARG_ENABLE('phpdbg', 'Build phpdbg', 'yes');
+ARG_ENABLE('phpdbgs', 'Build phpdbg shared', 'no');
+
+PHPDBG_SOURCES='phpdbg.c phpdbg_prompt.c phpdbg_cmd.c phpdbg_info.c 
phpdbg_help.c phpdbg_break.c phpdbg_print.c phpdbg_bp.c phpdbg_opcode.c 
phpdbg_list.c phpdbg_utils.c phpdbg_set.c';
+PHPDBG_DLL='php' + PHP_VERSION + 'phpdbg.dll';
+PHPDBG_EXE='phpdbg.exe';
 
 if (PHP_PHPDBG == yes) {
-SAPI('phpdbg', 'phpdbg.c phpdbg_prompt.c phpdbg_cmd.c phpdbg_info.c 
phpdbg_help.c phpdbg_break.c phpdbg_print.c phpdbg_bp.c phpdbg_opcode.c 
phpdbg_list.c phpdbg_utils.c phpdbg_set.c', 'phpdbg.exe');
+   /* build phpdbg binary */
+SAPI('phpdbg', PHPDBG_SOURCES, PHPDBG_EXE);
 ADD_FLAG(LIBS_PHPDBG, ws2_32.lib user32.lib);
 }
 
+if (PHP_PHPDBGS == yes) {
+   SAPI('phpdbgs', PHPDBG_SOURCES, PHPDBG_DLL, '/D PHP_PHPDBG_EXPORTS /I 
win32');
+   ADD_FLAG(LIBS_PHPDBGS, ws2_32.lib user32.lib);
+}
+
+
diff --git a/phpdbg.h b/phpdbg.h
index 6962cdb..7046ec3 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -44,6 +44,10 @@
 #if defined(_WIN32)  !defined(__MINGW32__)
 # include windows.h
 # include config.w32.h
+# undef  strcasecmp
+# undef  strncasecmp
+# define strcasecmp _stricmp 
+# define strncasecmp _strnicmp 
 #else
 # include php_config.h
 #endif
diff --git a/phpdbg_set.c b/phpdbg_set.c
index f326560..a0f5e74 100644
--- a/phpdbg_set.c
+++ b/phpdbg_set.c
@@ -53,7 +53,7 @@ PHPDBG_SET(break) /* {{{ */
if (strncasecmp(param-str, PHPDBG_STRL(on)) == 0) {
PHPDBG_G(flags) |= PHPDBG_IS_BP_ENABLED;
} else if (strncasecmp(param-str, PHPDBG_STRL(off)) 
== 0) {
-   PHPDBG_G(flags) ^= PHPDBG_IS_BP_ENABLED;
+   PHPDBG_G(flags) = ~PHPDBG_IS_BP_ENABLED;
}
break;


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:4269b29c03a5f4a30c02f79a8cad0550fc09c958
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 13:23:54 
+
Parents:   277b10a5c059437754452b6de7e42aa6bde64e13 
fdf26eaa0f7daaecfb05699e6012d140d1cdbaa8
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=4269b29c03a5f4a30c02f79a8cad0550fc09c958

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: - Not needed strlen() here: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:f704fdea57d32cc8fa4bd98a208d9c8428bc05e4
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 00:54:22 
-0200
Parents:   6658f58d4afcb80ffaeac460564aecb1591ecd93
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f704fdea57d32cc8fa4bd98a208d9c8428bc05e4

Log:
- Not needed strlen() here

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index b71bd3d..4f5c6e0 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -519,7 +519,7 @@ static PHPDBG_COMMAND(list) /* {{{ */
return SUCCESS;
}
 
-   if (zend_hash_find(EG(function_table), expr, strlen(expr)+1,
+   if (zend_hash_find(EG(function_table), expr, expr_len,
(void**)fbc) == SUCCESS) {
phpdbg_list_function(fbc TSRMLS_CC);
}


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



[PHP-CVS] com php-src: ...: web-bootstrap.php

2013-12-20 Thread Bob Weinand
Commit:ff4c0c9397d7435ab8462fedd3e89fe2c9e3c4d4
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 07:09:07 
+
Parents:   6c5831aa09a85b069dfc0c9360547f960fb701e2
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ff4c0c9397d7435ab8462fedd3e89fe2c9e3c4d4

Log:
...

Changed paths:
  M  web-bootstrap.php


Diff:
diff --git a/web-bootstrap.php b/web-bootstrap.php
index e6bea6b..d50e1ea 100644
--- a/web-bootstrap.php
+++ b/web-bootstrap.php
@@ -8,9 +8,13 @@
  * break ...
  * run
  */
-define(PHPDBG_BOOTPATH, /opt/php-zts/htdocs);
-define(PHPDBG_BOOTSTRAP, index.php);
-define(PHPDBG_BOOTSTRAPPED, sprintf(/%s, PHPDBG_BOOTSTRAP));
+if (!defined('PHPDBG_BOOTSTRAPPED')) 
+{
+/* define these once */
+define(PHPDBG_BOOTPATH, /opt/php-zts/htdocs);
+define(PHPDBG_BOOTSTRAP, index.php);
+define(PHPDBG_BOOTSTRAPPED, sprintf(/%s, PHPDBG_BOOTSTRAP)); 
+}
 
 /*
  * Superglobals are JIT, phpdbg will not over-write whatever you set during 
bootstrap


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



[PHP-CVS] com php-src: ...: tutorials/java/dist/phpdbg-ui.jar

2013-12-20 Thread Bob Weinand
Commit:e1af08c4e795009d8a4b80a3d2842e72dfa053cb
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 10:22:20 
+
Parents:   9b498765abd28e23f707a1a63dedb78527aab11e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e1af08c4e795009d8a4b80a3d2842e72dfa053cb

Log:
...

Changed paths:
  M  tutorials/java/dist/phpdbg-ui.jar


Diff:
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index ca6b714..9df8806 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:79ab9a3f74e9ecb3d9acfc4a0050b491bda56185
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:35:29 
+
Parents:   8c91727484c6ed6af80fbe13f9076958450fe19b 
bd432b995e30ad13f725c367960f5dc4f8776d81
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=79ab9a3f74e9ecb3d9acfc4a0050b491bda56185

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: ...: tutorials/java/build/built-jar.properties tutorials/java/dist/phpdbg-ui.jar tutorials/java/src/phpdbg/ui/DBGThread.java tutorials/java/src/phpdbg/ui/History.java tutorials/

2013-12-20 Thread Bob Weinand
Commit:5f0a0f12e1e317d6ac2e053cea71925aedd3009c
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 09:16:07 
+
Parents:   883f34f4870627eac2706c71b4880e4960bc5953
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=5f0a0f12e1e317d6ac2e053cea71925aedd3009c

Log:
...

Changed paths:
  M  tutorials/java/build/built-jar.properties
  M  tutorials/java/dist/phpdbg-ui.jar
  A  tutorials/java/src/phpdbg/ui/DBGThread.java
  A  tutorials/java/src/phpdbg/ui/History.java
  A  tutorials/java/src/phpdbg/ui/JTerminalPane.java
  A  tutorials/java/src/phpdbg/ui/Main.form
  A  tutorials/java/src/phpdbg/ui/Main.java

diff --git a/tutorials/java/build/built-jar.properties 
b/tutorials/java/build/built-jar.properties
index 3a123e3..e642ca0 100644
--- a/tutorials/java/build/built-jar.properties
+++ b/tutorials/java/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Fri, 29 Nov 2013 08:22:06 +
+#Fri, 29 Nov 2013 09:01:15 +
 
 
 /usr/src/phpdbg/tutorials/java=
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index c4dbea3..a2c3c75 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/src/phpdbg/ui/DBGThread.java 
b/tutorials/java/src/phpdbg/ui/DBGThread.java
new file mode 100644
index 000..ee77825
--- /dev/null
+++ b/tutorials/java/src/phpdbg/ui/DBGThread.java
@@ -0,0 +1,99 @@
+package phpdbg.ui;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * Manage input and output data
+ * @author krakjoe
+ */
+public class DBGThread extends Socket implements Runnable {
+private final Boolean reader;
+private final Main main;
+private Boolean quit;
+
+public DBGThread(final String host, final Integer port, final Main main, 
Boolean reader) throws IOException {
+super(host, port);
+
+this.main = main;
+this.reader = reader;
+this.quit = false;
+
+synchronized(main) {
+if (!main.isConnected()) {
+main.setConnected(true);
+}
+}
+}
+
+public void quit() {
+synchronized(this) {
+quit = true;
+this.notifyAll(); 
+}
+}
+
+@Override public void run() {
+try {
+synchronized(this) {
+do {
+if (reader) {
+String command;
+OutputStream output = getOutputStream();
+
+this.wait();
+
+command = main.getInputField().getText();
+/* send command to stdin socket */
+if (command != null) {
+output.write(
+   command.getBytes());
+output.write(\n.getBytes());
+output.flush();
+}
+main.getInputField().setText(null);
+} else {
+InputStream input = getInputStream();
+/* get data from stdout socket */
+byte[] bytes = new byte[1];
+do {
+/* this is some of the laziest programming I ever 
done */
+if (input.available() == 0) {
+this.wait(400);
+continue;
+}
+
+if (input.read(bytes, 0, 1)  -1) {
+main.getOutputField()
+.appendANSI(new String(bytes));
+}
+} while (!quit);
+}
+} while(!quit);
+}
+} catch (IOException | InterruptedException ex) {
+if (!quit) {
+main.messageBox(ex.getMessage());
+}
+} finally {
+try {
+close();
+} catch (IOException ex) { /* naughty me */ } finally {
+   synchronized(main) {
+   if (main.isConnected()) {
+   main.setConnected(false);
+   }
+   } 
+}
+}
+}
+}
diff --git a/tutorials/java/src/phpdbg/ui/History.java 
b/tutorials/java/src/phpdbg/ui/History.java
new file mode 100644
index 000..2950087
--- /dev/null
+++ b/tutorials/java/src/phpdbg/ui/History.java
@@ -0,0 +1,49 @@
+package phpdbg.ui;
+
+
+import java.util.ArrayList;
+
+/*
+ * To 

[PHP-CVS] com php-src: more command line options: phpdbg.c phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:6c317b771e5e342497a39e5610c8fe49cfd628a0
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 04:53:04 
+
Parents:   bf8a9c141fcad21738156349a9c2b2900ee2908a
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6c317b771e5e342497a39e5610c8fe49cfd628a0

Log:
more command line options

Changed paths:
  M  phpdbg.c
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index ca38078..52998a6 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -262,6 +262,10 @@ const opt_struct OPTIONS[] = { /* {{{ */
 {'d', 1, define ini entry on command line},
 {'n', 0, no php.ini},
 {'z', 1, load zend_extension},
+/* phpdbg options */
+{'e', 1, exec},
+{'v', 0, verbose},
+{'s', 0, step},
 {'-', 0, NULL}
 }; /* }}} */
 
@@ -291,6 +295,9 @@ int main(int argc, char *argv[]) /* {{{ */
sapi_module_struct *phpdbg = phpdbg_sapi_module;
char *ini_entries = NULL;
int   ini_entries_len = 0;
+   char *exec = NULL;
+   size_t exec_len = 0L;
+   zend_ulong flags = PHPDBG_IS_QUIET;
char *php_optarg = NULL;
 int php_optind = 1;
 int opt;
@@ -311,7 +318,7 @@ int main(int argc, char *argv[]) /* {{{ */
 
tsrm_ls = ts_resource(0);
 #endif
-
+
 while ((opt = php_getopt(argc, argv, OPTIONS, php_optarg, php_optind, 0, 
2)) != -1) {
 switch (opt) {
 case 'n':
@@ -355,6 +362,21 @@ int main(int argc, char *argv[]) /* {{{ */
 case 'z':
 zend_load_extension(php_optarg);
 break;
+
+case 'e': /* set execution context */
+exec_len = strlen(php_optarg);
+if (exec_len) {
+exec = strdup(php_optarg);
+}
+break;
+
+case 'v': /* set quietness off */
+flags = ~PHPDBG_IS_QUIET;
+break;
+
+case 's': /* set stepping on */
+flags |= PHPDBG_IS_STEPPING;
+break;
 }
 }
 
@@ -395,6 +417,16 @@ int main(int argc, char *argv[]) /* {{{ */
 
PG(modules_activated) = 0;
 
+if (exec) { /* set execution context */
+PHPDBG_G(exec) = estrndup(exec, exec_len);
+PHPDBG_G(exec_len) = exec_len;
+
+free(exec);
+}
+
+/* set flags from command line */
+PHPDBG_G(flags) = flags;
+
zend_try {
zend_activate_modules(TSRMLS_C);
} zend_end_try();
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index e438072..d255a9d 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -604,7 +604,7 @@ phpdbg_interactive_enter:
 #ifdef HAVE_LIBREADLINE
 add_history(cmd);
 #endif
-
+
switch (phpdbg_do_cmd(phpdbg_prompt_commands, cmd, cmd_len 
TSRMLS_CC)) {
case FAILURE:
if (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING)) {


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



[PHP-CVS] com php-src: fix: phpdbg_list.c phpdbg_list.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:c7b51537a03734a3e0a8fbb9100840cd64a66d37
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:29:56 
+
Parents:   d7e09f95646f74f47e2ff15f1ef9b78da2592dec
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=c7b51537a03734a3e0a8fbb9100840cd64a66d37

Log:
fix

Changed paths:
  M  phpdbg_list.c
  M  phpdbg_list.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_list.c b/phpdbg_list.c
index d460315..f4209e1 100644
--- a/phpdbg_list.c
+++ b/phpdbg_list.c
@@ -23,25 +23,26 @@
 #include sys/mman.h
 #include unistd.h
 #include fcntl.h
+#include phpdbg.h
 #include phpdbg_list.h
 
-void phpdbg_list_file(const char *filename, long count, long offset) /* {{{ */
+void phpdbg_list_file(const char *filename, long count, long offset TSRMLS_DC) 
/* {{{ */
 {
unsigned char *mem, *pos, *last_pos, *end_pos;
struct stat st;
int fd, all_content = (count == 0);
unsigned int line = 0, displayed = 0;
 
-   if ((fd = open(filename, O_RDONLY)) == -1) {
-   printf([Failed to open file %s to list]\n, filename);
-   return;
-   }
-
-   if (fstat(fd, st) == -1) {
+if (VCWD_STAT(filename, st) == -1) {
printf([Failed to stat file %s]\n, filename);
goto out;
}
 
+   if ((fd = VCWD_OPEN(filename, O_RDONLY)) == -1) {
+   printf([Failed to open file %s to list]\n, filename);
+   return;
+   }
+
last_pos = mem = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
end_pos = mem + st.st_size;
 
diff --git a/phpdbg_list.h b/phpdbg_list.h
index 4531a65..883f991 100644
--- a/phpdbg_list.h
+++ b/phpdbg_list.h
@@ -20,6 +20,6 @@
 #ifndef PHPDBG_LIST_H
 #define PHPDBG_LIST_H
 
-void phpdbg_list_file(const char*, long, long);
+void phpdbg_list_file(const char*, long, long TSRMLS_DC);
 
 #endif /* PHPDBG_LIST_H */
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index fb6ba7c..c30d155 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -508,7 +508,7 @@ static PHPDBG_COMMAND(list) /* {{{ */
return SUCCESS;
}
 
-   phpdbg_list_file(filename, count, offset);
+   phpdbg_list_file(filename, count, offset TSRMLS_CC);
 
return SUCCESS;
 } /* }}} */


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



[PHP-CVS] com php-src: updates to helpers: phpdbg_help.c phpdbg_print.c phpdbg_print.h phpdbg_prompt.c phpdbg_prompt.h

2013-12-20 Thread Bob Weinand
Commit:1d373be4fbaaf9878c4acb1afb21647651dbbbc4
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 09:26:26 
+
Parents:   83852d3bb775fd3555011e2cc1d5fdc9f418469e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=1d373be4fbaaf9878c4acb1afb21647651dbbbc4

Log:
updates to helpers

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_print.c
  M  phpdbg_print.h
  M  phpdbg_prompt.c
  M  phpdbg_prompt.h


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index 21feb07..1a78c69 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -19,6 +19,9 @@
 
 #include phpdbg.h
 #include phpdbg_help.h
+#include phpdbg_print.h
+
+ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
 
 PHPDBG_HELP(exec) /* {{{ */
 {
@@ -31,7 +34,7 @@ PHPDBG_HELP(step) /* {{{ */
 {
 printf(You can enable and disable stepping at any phpdbg prompt during 
execution\n);
 printf(For example:\n);
-printf(\tphpdbg stepping 1\n);
+printf(\t%sstepping 1\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
 printf(Will enable stepping\n);
 printf(While stepping is enabled you are presented with a prompt after 
the execution of each opcode\n);
 return SUCCESS;
@@ -56,11 +59,16 @@ PHPDBG_HELP(compile) /* {{{ */
 PHPDBG_HELP(print) /* {{{ */
 {
printf(By default, print will show information about the current 
execution environment\n);
-   printf(To show specific information pass an expression to print, for 
example:\n);
-   printf(\tphpdbg print opcodes[0]\n);
-   printf(Will show the opline @ 0\n);
-   printf(Available print commands:\n);
-   printf(\tNone\n);
+   printf(Specific printers loaded are show below:\n);
+   printf(%sCommands%s\n, PHPDBG_BOLD_LINE(TSRMLS_C), 
PHPDBG_END_LINE(TSRMLS_C));
+   {
+   phpdbg_command_t *print_command = phpdbg_print_commands;
+   
+   while (print_command  print_command-name) {
+   printf(\t%s\t%s\n, print_command-name, 
print_command-tip);
+   ++print_command;
+   }
+   }
return SUCCESS;
 } /* }}} */
 
@@ -86,13 +94,13 @@ PHPDBG_HELP(break) /* {{{ */
printf(\t\\my\\class::method\n);
printf(\t0x16\n);
printf(For example:\n);
-   printf(\tphpdbg break test.php:1\n);
+   printf(\t%sbreak test.php:1\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will break execution on line 1 of test.php\n);
-   printf(\tphpdbg break my_function\n);
+   printf(\t%sbreak my_function\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will break execution on entry to my_function\n);
-   printf(\tphpdbg break \\my\\class::method\n);
+   printf(\t%sbreak \\my\\class::method\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will break execution on entry to \\my\\class::method\n);
-   printf(\tphpdbg break 0x7ff68f570e08\n);
+   printf(\t%sbreak 0x7ff68f570e08\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will break at the opline with the address provided (addresses 
are shown during execution)\n);
printf(It is important to note, an address is only valid for the 
current compiled representation of the script\n);
printf(If you have to clean the environment and recompile then your 
opline break points will be invalid\n);
@@ -117,9 +125,9 @@ PHPDBG_HELP(quiet) /* {{{ */
 {
 printf(Setting quietness on will stop the OPLINE output during 
execution\n);
 printf(For example:\n);
-printf(\tphpdbg quiet 1\n);
+printf(\t%squiet 1\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
 printf(Will silence OPLINE output, while\n);
-printf(\tphpdbg quiet 0\n);
+printf(\t%squiet 0\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
 printf(Will enable OPLINE output again\n);
 return SUCCESS;
 } /* }}} */
@@ -128,7 +136,7 @@ PHPDBG_HELP(back) /* {{{ */
 {
printf(The backtrace is gathered with the default debug_backtrace 
functionality.\n);
printf(You can set the limit on the trace, for example:\n);
-   printf(\tphpdbg back 5\n);
+   printf(\t%sback 5\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will limit the number of frames to 5, the default is no 
limit\n);
return SUCCESS;
 } /* }}} */
@@ -136,11 +144,11 @@ PHPDBG_HELP(back) /* {{{ */
 PHPDBG_HELP(list) /* {{{ */
 {
printf(The list command displays N line from current context file.\n);
-   printf(\tphpdbg list 2\n);
+   printf(\t%slist 2\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will print next 2 lines from the current file\n);
-   printf(\tphpdbg list func\n);
+   printf(\t%slist func\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will print the source of the global function \func\\n);
-   printf(\tphpdbg list .mine\n);
+   printf(\t%slist .mine\n, PHPDBG_PROMPT_LINE(TSRMLS_C));
printf(Will print the source of the class method \mine\\n);
printf(Note: before listing functions you must have a populated 
function table, try compile !!\n);
return SUCCESS;
diff --git 

[PHP-CVS] com php-src: ...: phpdbg_prompt.c phpdbg_prompt.h

2013-12-20 Thread Bob Weinand
Commit:7f743e1fca1773a8e5deaac079386c9a8b731601
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 09:52:59 
+
Parents:   1d373be4fbaaf9878c4acb1afb21647651dbbbc4
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=7f743e1fca1773a8e5deaac079386c9a8b731601

Log:
...

Changed paths:
  M  phpdbg_prompt.c
  M  phpdbg_prompt.h


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 5fae155..a3eaacb 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -47,9 +47,8 @@ static PHPDBG_COMMAND(exec) /* {{{ */
printf(
%sDestroying compiled opcodes%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));
-   destroy_op_array(PHPDBG_G(ops) TSRMLS_CC);
-   efree(PHPDBG_G(ops));
-   PHPDBG_G(ops) = NULL;
+   
+   phpdbg_clean(0 TSRMLS_CC);
}
 
PHPDBG_G(exec) = estrndup(expr, PHPDBG_G(exec_len) = expr_len);
@@ -99,9 +98,7 @@ static PHPDBG_COMMAND(compile) /* {{{ */
printf(
%sDestroying previously compiled opcodes%s\n, 
PHPDBG_BOLD_LINE(TSRMLS_C), 
PHPDBG_END_LINE(TSRMLS_C));
-   destroy_op_array(PHPDBG_G(ops) TSRMLS_CC);
-   efree(PHPDBG_G(ops));
-   PHPDBG_G(ops)=NULL;
+   phpdbg_clean(0 TSRMLS_CC);
}
}
 
@@ -184,6 +181,7 @@ static PHPDBG_COMMAND(eval) /* {{{ */
retval, eval()'d code TSRMLS_CC) == SUCCESS) {
zend_print_zval_r(
retval, 0 TSRMLS_CC);
+   zval_dtor(retval);
printf(\n);
}
 
@@ -439,18 +437,7 @@ static PHPDBG_COMMAND(clean) /* {{{ */
 printf([\tConstants: %d]\n, 
zend_hash_num_elements(EG(zend_constants)));
 printf([\tIncluded: %d]\n, 
zend_hash_num_elements(EG(included_files)));
 
-/* this is implicitly required */
-if (PHPDBG_G(ops)) {
-destroy_op_array(
-PHPDBG_G(ops) TSRMLS_CC);
-efree(PHPDBG_G(ops));
-PHPDBG_G(ops) = NULL;
-}
-
-zend_hash_reverse_apply(EG(function_table), (apply_func_t) 
clean_non_persistent_function_full TSRMLS_CC);
-zend_hash_reverse_apply(EG(class_table), (apply_func_t) 
clean_non_persistent_class_full TSRMLS_CC);
-zend_hash_reverse_apply(EG(zend_constants), (apply_func_t) 
clean_non_persistent_constant_full TSRMLS_CC);
-zend_hash_clean(EG(included_files));
+phpdbg_clean(1 TSRMLS_CC);
 
 printf([Clean Environment:]\n);
 printf([\tClasses: %d]\n, zend_hash_num_elements(EG(class_table)));
@@ -702,13 +689,38 @@ phpdbg_interactive_enter:
 void phpdbg_print_opline(zend_execute_data *execute_data, zend_bool 
ignore_flags TSRMLS_DC) /* {{{ */
 {
 /* force out a line while stepping so the user knows what is happening */
-if (ignore_flags || (!(PHPDBG_G(flags)  PHPDBG_IS_QUIET) || 
(PHPDBG_G(flags)  PHPDBG_IS_STEPPING))) {
+if (ignore_flags || 
+(!(PHPDBG_G(flags)  PHPDBG_IS_QUIET) || 
+(PHPDBG_G(flags)  PHPDBG_IS_STEPPING))) {
+
 zend_op *opline = execute_data-opline;
 
 printf(
 %sOPLINE: %p:%s%s\n, 
 PHPDBG_BOLD_LINE(TSRMLS_C),
-opline, phpdbg_decode_opcode(opline-opcode), 
PHPDBG_END_LINE(TSRMLS_C));
+opline, 
+phpdbg_decode_opcode(opline-opcode), 
+PHPDBG_END_LINE(TSRMLS_C));
+}
+} /* }}} */
+
+void phpdbg_clean(zend_bool full TSRMLS_DC) /* {{{ */
+{
+zend_objects_store_call_destructors(EG(objects_store) TSRMLS_CC);
+ 
+/* this is implicitly required */
+if (PHPDBG_G(ops)) {
+destroy_op_array(
+PHPDBG_G(ops) TSRMLS_CC);
+efree(PHPDBG_G(ops));
+PHPDBG_G(ops) = NULL;
+}
+
+if (full) {
+zend_hash_reverse_apply(EG(function_table), (apply_func_t) 
clean_non_persistent_function_full TSRMLS_CC);
+zend_hash_reverse_apply(EG(class_table), (apply_func_t) 
clean_non_persistent_class_full TSRMLS_CC);
+zend_hash_reverse_apply(EG(zend_constants), (apply_func_t) 
clean_non_persistent_constant_full TSRMLS_CC);
+zend_hash_clean(EG(included_files));
 }
 } /* }}} */
 
diff --git a/phpdbg_prompt.h b/phpdbg_prompt.h
index f9fd39d..2a4fa4b 100644
--- a/phpdbg_prompt.h
+++ b/phpdbg_prompt.h
@@ -61,5 +61,6 @@ int phpdbg_do_cmd(const phpdbg_command_t *command, char 
*cmd_line, size_t cmd_le
 int phpdbg_interactive(TSRMLS_D);
 void phpdbg_execute_ex(zend_execute_data *execute_data TSRMLS_DC);
 void phpdbg_print_opline(zend_execute_data *execute_data, zend_bool 
ignore_flags TSRMLS_DC);
+void phpdbg_clean(zend_bool full TSRMLS_DC);
 
 #endif /* PHPDBG_PROMPT_H */


--
PHP CVS Mailing List (http://www.php.net/)

[PHP-CVS] com php-src: update java example: tutorials/java-example.png tutorials/java/dist/phpdbg-ui.jar tutorials/java/src/DBGThread.java tutorials/java/src/History.java tutorials/java/src/Main.form

2013-12-20 Thread Bob Weinand
Commit:734fe5508a96868a3e6c03c323f5fb436dc91aa0
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 01:48:21 
+
Parents:   8a63a99d2ea348d653742b2729fd995fb74fe796
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=734fe5508a96868a3e6c03c323f5fb436dc91aa0

Log:
update java example

Changed paths:
  M  tutorials/java-example.png
  M  tutorials/java/dist/phpdbg-ui.jar
  M  tutorials/java/src/DBGThread.java
  A  tutorials/java/src/History.java
  M  tutorials/java/src/Main.form
  M  tutorials/java/src/Main.java

diff --git a/tutorials/java-example.png b/tutorials/java-example.png
index 618882d..571b768 100644
Binary files a/tutorials/java-example.png and b/tutorials/java-example.png 
differ
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index 24dd4b9..fc4e9d1 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/src/DBGThread.java 
b/tutorials/java/src/DBGThread.java
index 9f00faa..73e2dc4 100644
--- a/tutorials/java/src/DBGThread.java
+++ b/tutorials/java/src/DBGThread.java
@@ -3,11 +3,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.Socket;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
 
 /*
  * To change this license header, choose License Headers in Project Properties.
@@ -16,80 +11,52 @@ import javax.swing.JTextField;
  */
 
 /**
- * In a RUSH !!!
- * @author joe
+ * Manage input and output data
+ * @author krakjoe
  */
 public class DBGThread extends Socket implements Runnable {
-private final String host;
-private final Integer port;
 private final Boolean reader;
-private final JTextField field;
-private final JTextArea area;
-private final JScrollPane pane;
-private InputStream input;
-private OutputStream output;
-private String buffer;
+private final Main main;
 private Boolean quit;
 
-public DBGThread(final String host, final Integer port, final JTextField 
field) throws IOException {
+public DBGThread(final String host, final Integer port, final Main main, 
Boolean reader) throws IOException {
 super(host, port);
 
-this.host = host;
-this.port = port;
-this.reader = true;
-this.field = field;
-this.area = null;
-this.pane = null;
+this.main = main;
+this.reader = reader;
 this.quit = false;
-this.buffer = null;
-}
-
-public DBGThread(final String host, final Integer port, final JTextArea 
area, JScrollPane pane) throws IOException {
-super(host, port);
 
-this.host = host;
-this.port = port;
-this.reader = false;
-this.field = null;
-this.area = area;
-this.pane = pane;
-this.quit = false;
-this.buffer = null;
-}
-
-public Boolean isReader() {
-return this.reader;
+main.setConnected(true);
 }
 
 public void quit() {
 synchronized(this) {
-this.quit = true;
+quit = true;
 this.notifyAll(); 
 }
 }
 
-@Override
-public void run() {
+@Override public void run() {
 try {
-if (this.reader) {
-output = this.getOutputStream();
-} else input = this.getInputStream();
-
 synchronized(this) {
 do {
-if (this.reader) {
+if (reader) {
+String command;
+OutputStream output = getOutputStream();
+
 this.wait();
 
+command = main.getInputField().getText();
 /* send command to stdin socket */
-if (this.field.getText() != null) {
+if (command != null) {
 output.write(
-   this.field.getText().getBytes());
+   command.getBytes());
 output.write(\n.getBytes());
 output.flush();
 }
-this.field.setText(null);
-
+main.getInputField().setText(null);
 } else {
+InputStream input = getInputStream();
 /* get data from stdout socket */
 byte[] bytes = new byte[1];
 do {
@@ -100,16 +67,24 @@ public class DBGThread extends Socket implements Runnable {
 }
 
 if 

[PHP-CVS] com php-src: - Implemented break N where N is the line number on the current file: phpdbg_prompt.c phpdbg_utils.c phpdbg_utils.h

2013-12-20 Thread Bob Weinand
Commit:ffad3fa2119346e6735dda266f705fae68c1109c
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 10:58:19 
-0200
Parents:   7f743e1fca1773a8e5deaac079386c9a8b731601
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ffad3fa2119346e6735dda266f705fae68c1109c

Log:
- Implemented break N where N is the line number on the current file

Changed paths:
  M  phpdbg_prompt.c
  M  phpdbg_utils.c
  M  phpdbg_utils.h

diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index a3eaacb..3040b80 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -37,7 +37,7 @@ static PHPDBG_COMMAND(exec) /* {{{ */
 {
if (PHPDBG_G(exec)) {
printf(
-   %sUnsetting old execution context: %s%s\n, 
+   %sUnsetting old execution context: %s%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_G(exec), 
PHPDBG_END_LINE(TSRMLS_C));
efree(PHPDBG_G(exec));
PHPDBG_G(exec) = NULL;
@@ -47,14 +47,14 @@ static PHPDBG_COMMAND(exec) /* {{{ */
printf(
%sDestroying compiled opcodes%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));
-   
+
phpdbg_clean(0 TSRMLS_CC);
}
 
PHPDBG_G(exec) = estrndup(expr, PHPDBG_G(exec_len) = expr_len);
 
printf(
-   %sSet execution context: %s%s\n, 
+   %sSet execution context: %s%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_G(exec), 
PHPDBG_END_LINE(TSRMLS_C));
 
return SUCCESS;
@@ -73,17 +73,17 @@ static inline int phpdbg_compile(TSRMLS_D) /* {{{ */
fh, ZEND_INCLUDE TSRMLS_CC);
zend_destroy_file_handle(fh TSRMLS_CC);
printf(
-   %sSuccess%s\n, 
+   %sSuccess%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));
return SUCCESS;
 } else {
 printf(
-%sCould not open file %s%s\n, 
+%sCould not open file %s%s\n,
 PHPDBG_RED_LINE(TSRMLS_C), PHPDBG_G(exec), 
PHPDBG_END_LINE(TSRMLS_C));
 }
} else {
printf(
-   %sCannot compile while in execution%s\n, 
+   %sCannot compile while in execution%s\n,
PHPDBG_RED_LINE(TSRMLS_C), PHPDBG_END_LINE(TSRMLS_C));
}
 
@@ -96,7 +96,7 @@ static PHPDBG_COMMAND(compile) /* {{{ */
if (!EG(in_execution)) {
if (PHPDBG_G(ops)) {
printf(
-   %sDestroying previously compiled opcodes%s\n, 
+   %sDestroying previously compiled opcodes%s\n,
PHPDBG_BOLD_LINE(TSRMLS_C), 
PHPDBG_END_LINE(TSRMLS_C));
phpdbg_clean(0 TSRMLS_CC);
}
@@ -120,11 +120,11 @@ static PHPDBG_COMMAND(step) /* {{{ */
}
 
printf(
-   %sStepping %s%s\n, 
-   PHPDBG_BOLD_LINE(TSRMLS_C), 
-   (PHPDBG_G(flags)  PHPDBG_IS_STEPPING) ? on : off, 
+   %sStepping %s%s\n,
+   PHPDBG_BOLD_LINE(TSRMLS_C),
+   (PHPDBG_G(flags)  PHPDBG_IS_STEPPING) ? on : off,
PHPDBG_END_LINE(TSRMLS_C));
-   
+
return SUCCESS;
 } /* }}} */
 
@@ -230,7 +230,7 @@ static PHPDBG_COMMAND(print) /* {{{ */
if (expr_len  0L) {
if (phpdbg_do_cmd(phpdbg_print_commands, (char*)expr, expr_len 
TSRMLS_CC) == FAILURE) {
printf(
-   %sFailed to find print command: %s/%lu%s\n, 
+   %sFailed to find print command: %s/%lu%s\n,
PHPDBG_RED_LINE(TSRMLS_C), expr, expr_len, 
PHPDBG_END_LINE(TSRMLS_C));
}
return SUCCESS;
@@ -382,22 +382,34 @@ static PHPDBG_COMMAND(break) /* {{{ */
}
}
} else {
-   if (expr_len  2  expr[0] == '0'  expr[1] == 'x') {
-   phpdbg_set_breakpoint_opline(expr TSRMLS_CC);
-   } else {
-   char name[200];
-   size_t name_len = strlen(expr);
-
-   if (name_len) {
-   name_len = MIN(name_len, 200);
-   memcpy(name, expr, name_len);
-   name[name_len] = 0;
+   if (phpdbg_is_addr(expr)) {
+   phpdbg_set_breakpoint_opline(expr TSRMLS_CC);
+   } else if (phpdbg_is_numeric(expr)) {
+   const char *filename = 
zend_get_executed_filename(TSRMLS_C);
+   long line_num = strtol(expr, NULL, 0);
+
+   if (!filename) {
+   printf(%sNo file context found%s\n,
+   PHPDBG_RED_LINE(TSRMLS_C), 
PHPDBG_END_LINE(TSRMLS_C));

[PHP-CVS] com php-src: ...: README.md

2013-12-20 Thread Bob Weinand
Commit:f4523640609690faf2495022be15af50c06efdd3
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:29:54 
+
Parents:   fd0aeb5b536bf2af11107b2b895387955175729a
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f4523640609690faf2495022be15af50c06efdd3

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index bd06569..f9ae877 100644
--- a/README.md
+++ b/README.md
@@ -52,7 +52,7 @@ The following switchess are implemented (just like cli SAPI):
  - -z load zend extension
  - -d define php ini entry
  
-The following switches changes the default behaviour of phpdbg:
+The following switches change the default behaviour of phpdbg:
 
  - -v disables quietness
  - -s enabled stepping


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



[PHP-CVS] com php-src: ...: web-bootstrap.php

2013-12-20 Thread Bob Weinand
Commit:25475ff95e1f1f30df22bc0d920692f92c199a2f
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 07:01:28 
+
Parents:   4b2490426f46d360345d353b94c5b4a03c38a92a
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=25475ff95e1f1f30df22bc0d920692f92c199a2f

Log:
...

Changed paths:
  M  web-bootstrap.php


Diff:
diff --git a/web-bootstrap.php b/web-bootstrap.php
index c5802c1..fdb40f9 100644
--- a/web-bootstrap.php
+++ b/web-bootstrap.php
@@ -1,8 +1,21 @@
 ?php
+/**
+ * The following file shows how to bootstrap phpdbg so that you can mock 
specific server environments
+ * 
+ * eval include(web-bootstrap.php)
+ * exec index.php
+ * compile
+ * break ...
+ * run
+ */
 define(PHPDBG_BOOTPATH, /opt/php-zts/htdocs);
 define(PHPDBG_BOOTSTRAP, index.php);
 define(PHPDBG_BOOTSTRAPPED, sprintf(/%s, PHPDBG_BOOTSTRAP));
 
+/*
+ * Superglobals are JIT, phpdbg will not over-write whatever you set during 
bootstrap
+ */
+
 $_SERVER = array 
 (
   'HTTP_HOST' = 'localhost',


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



[PHP-CVS] com php-src: - Update list cmd description: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:bd432b995e30ad13f725c367960f5dc4f8776d81
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 00:34:10 
-0200
Parents:   6aad2ee42c355934190a46f55b7f6633f9bea407
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=bd432b995e30ad13f725c367960f5dc4f8776d81

Log:
- Update list cmd description

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index f7ec941..d87fd2b 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -538,7 +538,7 @@ static const phpdbg_command_t phpdbg_prompt_commands[] = {
PHPDBG_COMMAND_D(print, print something),
PHPDBG_COMMAND_D(break, set breakpoint),
PHPDBG_COMMAND_D(back,  show backtrace),
-   PHPDBG_COMMAND_D(list,  list specified line),
+   PHPDBG_COMMAND_D(list,  list specified line or function),
PHPDBG_COMMAND_D(clean, clean the execution environment),
PHPDBG_COMMAND_D(clear, clear breakpoints),
PHPDBG_COMMAND_D(help,  show help menu),


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



[PHP-CVS] com php-src: ...: phpdbg_list.c

2013-12-20 Thread Bob Weinand
Commit:32acf4736bc0d59a3d41d52244ace2ba62d7c958
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:52:43 
+
Parents:   69a8403175d9af79c5880779b11e2dfa06ed641c
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=32acf4736bc0d59a3d41d52244ace2ba62d7c958

Log:
...

Changed paths:
  M  phpdbg_list.c


Diff:
diff --git a/phpdbg_list.c b/phpdbg_list.c
index 3bfa214..fe14b1d 100644
--- a/phpdbg_list.c
+++ b/phpdbg_list.c
@@ -35,7 +35,7 @@ void phpdbg_list_file(const char *filename, long count, long 
offset TSRMLS_DC) /
 
 if (VCWD_STAT(filename, st) == -1) {
printf([Failed to stat file %s]\n, filename);
-   goto out;
+   return;
}
 
if ((fd = VCWD_OPEN(filename, O_RDONLY)) == -1) {


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



[PHP-CVS] com php-src: readline support #6: phpdbg.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:33f0502f1978fc89fede8b5dd7a8ced79f95d115
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 04:20:14 
+
Parents:   97d4052bb85915016838f5fe5ed78c43ad7cf665
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=33f0502f1978fc89fede8b5dd7a8ced79f95d115

Log:
readline support #6

Bugs:
https://bugs.php.net/6

Changed paths:
  M  phpdbg.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg.h b/phpdbg.h
index 446b067..2a01829 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -37,6 +37,11 @@
 # include TSRM.h
 #endif
 
+#ifdef HAVE_LIBREADLINE
+#   include readline/readline.h
+#   include readline/history.h
+#endif
+
 #ifdef ZTS
 # define PHPDBG_G(v) TSRMG(phpdbg_globals_id, zend_phpdbg_globals *, v)
 #else
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 1042477..e438072 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -307,7 +307,7 @@ static PHPDBG_COMMAND(break) /* {{{ */
char *line_pos = NULL;
 char *func_pos = NULL;
 
-if (!expr_len) {
+if (expr_len = 0L) {
 printf(
 [No expression found]\n);
 return FAILURE;
@@ -456,7 +456,11 @@ static PHPDBG_COMMAND(help) /* {{{ */
 {
printf([Welcome to phpdbg, the interactive PHP debugger, v%s]\n, 
PHPDBG_VERSION);
 
-   if (!expr_len) {
+   if (expr_len  0L) {
+   if (phpdbg_do_cmd(phpdbg_help_commands, (char*)expr, expr_len 
TSRMLS_CC) == FAILURE) {
+   printf(failed to find help command: %s/%d\n, expr, 
expr_len);
+   }
+   } else {
const phpdbg_command_t *prompt_command = phpdbg_prompt_commands;
const phpdbg_command_t *help_command = phpdbg_help_commands;
 
@@ -473,11 +477,8 @@ static PHPDBG_COMMAND(help) /* {{{ */
printf(\t%s\t%s\n, help_command-name, 
help_command-tip);
++help_command;
}
-   } else {
-   if (phpdbg_do_cmd(phpdbg_help_commands, (char*)expr, expr_len 
TSRMLS_CC) == FAILURE) {
-   printf(failed to find help command: %s\n, expr);
-   }
}
+   
printf([Please report bugs to %s]\n, PHPDBG_ISSUES);
 
return SUCCESS;
@@ -571,19 +572,39 @@ int phpdbg_do_cmd(const phpdbg_command_t *command, char 
*cmd_line, size_t cmd_le
 
 int phpdbg_interactive(TSRMLS_D) /* {{{ */
 {
-   char cmd[PHPDBG_MAX_CMD];
-
-   printf(phpdbg );
-
+size_t cmd_len;
+
+#ifndef HAVE_LIBREADLINE
+char cmd[PHPDBG_MAX_CMD];
+
+phpdbg_interactive_enter:
+printf(phpdbg );
+   
while (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING) 
   fgets(cmd, PHPDBG_MAX_CMD, stdin) != NULL) {
-   size_t cmd_len = strlen(cmd) - 1;
+   cmd_len = strlen(cmd) - 1;
+#else
+char *cmd = NULL;
 
-   if (cmd[cmd_len] == '\n') {
-   cmd[cmd_len] = 0;
-   }
+phpdbg_interactive_enter:
+while (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING)) {
+cmd = readline(phpdbg );
+
+cmd_len = strlen(cmd);
+#endif
+
+   /* trim space from end of input */
+   while (isspace(cmd[cmd_len-1]))
+   cmd_len--;
+   
+   /* ensure string is null terminated */
+   cmd[cmd_len] = '\0';
 
-   if (cmd_len) {
+   if (cmd  cmd_len  0L) {
+#ifdef HAVE_LIBREADLINE
+add_history(cmd);
+#endif
+
switch (phpdbg_do_cmd(phpdbg_prompt_commands, cmd, cmd_len 
TSRMLS_CC)) {
case FAILURE:
if (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING)) {
@@ -598,8 +619,6 @@ int phpdbg_interactive(TSRMLS_D) /* {{{ */
}
return PHPDBG_NEXT;
}
-
-
}
} else if (PHPDBG_G(last)) {
PHPDBG_G(last)-handler(
@@ -607,9 +626,8 @@ int phpdbg_interactive(TSRMLS_D) /* {{{ */
}
 
if (!(PHPDBG_G(flags)  PHPDBG_IS_QUITTING)) {
-   printf(phpdbg );
+goto phpdbg_interactive_enter;
}
-
}
 
return SUCCESS;


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



[PHP-CVS] com php-src: ...: phpdbg.png

2013-12-20 Thread Bob Weinand
Commit:08973a6bf5009dd14b2004259d0dd260726cd414
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 03:04:12 
+
Parents:   3097c36f3042fe3f49d80eed810197036f94ab66
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=08973a6bf5009dd14b2004259d0dd260726cd414

Log:
...

Changed paths:
  M  phpdbg.png


Diff:
diff --git a/phpdbg.png b/phpdbg.png
index 85f9815..403652b 100644
Binary files a/phpdbg.png and b/phpdbg.png differ


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



[PHP-CVS] com php-src: ws: phpdbg.init.d tutorials/java/dist/phpdbg-ui.jar

2013-12-20 Thread Bob Weinand
Commit:f6efce9f137a94a76cbf271aefcf530584e4e10d
Author:krakjoe joe.watk...@live.co.uk Sun, 1 Dec 2013 13:17:54 
+
Parents:   01ed1f436c4d306c316fc43e3f6b67d28b948027
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f6efce9f137a94a76cbf271aefcf530584e4e10d

Log:
ws

Changed paths:
  M  phpdbg.init.d
  M  tutorials/java/dist/phpdbg-ui.jar


Diff:
diff --git a/phpdbg.init.d b/phpdbg.init.d
index 1175044..cc18957 100755
--- a/phpdbg.init.d
+++ b/phpdbg.init.d
@@ -50,73 +50,73 @@ insanity()
 
 start()
 {
-   insanity
+   insanity
 
-   if [ $? -eq 1 ]; then
-   return $RETVAL
-   fi
+   if [ $? -eq 1 ]; then
+   return $RETVAL
+   fi
 
-echo -n $Starting: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
-nohup ${PHPDBG} -l${STDIN}/${STDOUT} ${OPTIONS} 2${LOGFILE} 
1/dev/null /dev/null 
-PID=$!
-RETVAL=$?
-if [ $RETVAL -eq 0 ]; then
-echo $PID  $PIDFILE
-echo_success
-else
-echo_failure
-fi
-echo
-[ $RETVAL = 0 ]  touch ${LOCKFILE}
-   return $RETVAL
+   echo -n $Starting: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
+   nohup ${PHPDBG} -l${STDIN}/${STDOUT} ${OPTIONS} 2${LOGFILE} 
1/dev/null /dev/null 
+   PID=$!
+   RETVAL=$?
+   if [ $RETVAL -eq 0 ]; then
+   echo $PID  $PIDFILE
+   echo_success
+   else
+   echo_failure
+   fi
+   echo
+   [ $RETVAL = 0 ]  touch ${LOCKFILE}
+   return $RETVAL
 }
 
 stop()
 {
-   insanity
+   insanity
 
-   if [ $? -eq 1 ]; then
-   return $RETVAL
+   if [ $? -eq 1 ]; then
+   return $RETVAL
+   fi
+
+   if [ -f ${LOCKFILE} ]  [ -f ${PIDFILE} ]
+   then
+   echo -n $Stopping: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
+   kill -s TERM $(cat $PIDFILE)
+   RETVAL=$?
+   if [ $RETVAL -eq 0 ]; then
+   echo_success
+   else
+   echo_failure
fi
-   
-if [ -f ${LOCKFILE} ]  [ -f ${PIDFILE} ]
-then
-echo -n $Stopping: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
-kill -s TERM $(cat $PIDFILE)
-RETVAL=$?
-if [ $RETVAL -eq 0 ]; then
-echo_success
-else
-echo_failure
-fi
-echo
-[ $RETVAL = 0 ]  rm -f ${LOCKFILE} ${PIDFILE}
-else
-echo -n $Error: phpdbg not running
-echo_failure
-echo
-[ $RETVAL = 1 ]
-fi
-return $RETVAL
+   echo
+   [ $RETVAL = 0 ]  rm -f ${LOCKFILE} ${PIDFILE}
+   else
+   echo -n $Error: phpdbg not running
+   echo_failure
+   echo
+   [ $RETVAL = 1 ]
+   fi
+   return $RETVAL
 }
 ##
 case $1 in
-start)
-start
-;;
-stop)
-stop
-;;
-status)
-status $PHPDBG
-;;
-restart)
-$0 stop
-$0 start
-;;
-*)
-echo usage: $0 start|stop|restart|status
-;;
+   start)
+   start
+   ;;
+   stop)
+   stop
+   ;;
+   status)
+   status $PHPDBG
+   ;;
+   restart)
+   $0 stop
+   $0 start
+   ;;
+   *)
+   echo usage: $0 start|stop|restart|status
+   ;;
 esac
 ###
 exit $RETVAL
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index 7850d33..bf98166 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ


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



[PHP-CVS] com php-src: windows: phpdbg.h

2013-12-20 Thread Bob Weinand
Commit:6cc7a5784eed6fe24e9fa4982d0c01cc463d8355
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 12:10:53 
+
Parents:   7f743e1fca1773a8e5deaac079386c9a8b731601
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6cc7a5784eed6fe24e9fa4982d0c01cc463d8355

Log:
windows

Changed paths:
  M  phpdbg.h


Diff:
diff --git a/phpdbg.h b/phpdbg.h
index 34b2e56..83b93fe 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -30,7 +30,17 @@
 #include zend_ini_scanner.h
 #include zend_stream.h
 #include SAPI.h
-#include php_config.h
+#include fcntl.h
+#include sys/types.h
+#if defined(_WIN32)  !defined(__MINGW32__)
+# include windows.h
+# include config.w32.h
+#else
+# include php_config.h
+#endif
+#ifndef O_BINARY
+#  define O_BINARY 0
+#endif
 #include php_main.h
 
 #ifdef ZTS


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



[PHP-CVS] com php-src: - Added check for malformed class::method syntax: phpdbg_utils.c

2013-12-20 Thread Bob Weinand
Commit:2e14649c92fa441eb940093d68cd54ec2919b174
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 11:39:02 
-0200
Parents:   b133dbefe02ab717ac7a435ce16cc471fca06827
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=2e14649c92fa441eb940093d68cd54ec2919b174

Log:
- Added check for malformed class::method syntax

Changed paths:
  M  phpdbg_utils.c


Diff:
diff --git a/phpdbg_utils.c b/phpdbg_utils.c
index cb864c0..b509900 100644
--- a/phpdbg_utils.c
+++ b/phpdbg_utils.c
@@ -54,7 +54,7 @@ int phpdbg_is_class_method(const char *str, size_t len, char 
**class, char **met
const char *sep = strstr(str, ::);
size_t class_len, method_len;
 
-   if (!sep) {
+   if (!sep || sep == str || sep+2 == str+len-1) {
return 0;
}


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



[PHP-CVS] com php-src: - Improved breakpoint code: phpdbg_bp.c phpdbg_bp.h phpdbg_prompt.c phpdbg_utils.c phpdbg_utils.h

2013-12-20 Thread Bob Weinand
Commit:af90b6d5c737646fa2b1f30d2f85a67fd8d770a7
Author:Felipe Pena felipe...@gmail.com Tue, 12 Nov 2013 11:33:51 
-0200
Parents:   fdf26eaa0f7daaecfb05699e6012d140d1cdbaa8
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=af90b6d5c737646fa2b1f30d2f85a67fd8d770a7

Log:
- Improved breakpoint code

Changed paths:
  M  phpdbg_bp.c
  M  phpdbg_bp.h
  M  phpdbg_prompt.c
  M  phpdbg_utils.c
  M  phpdbg_utils.h


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index aa7c630..43f5fa7 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -101,16 +101,15 @@ void phpdbg_set_breakpoint_symbol(const char *name 
TSRMLS_DC) /* {{{ */
}
 } /* }}} */
 
-void phpdbg_set_breakpoint_method(const char* class_name,
-  size_t class_len,
-  const char* func_name,
-  size_t func_len TSRMLS_DC) /* {{{ */
+void phpdbg_set_breakpoint_method(const char* class_name, const char* 
func_name TSRMLS_DC) /* {{{ */
 {
 HashTable class_breaks, *class_table;
+size_t class_len = strlen(class_name);
+size_t func_len = strlen(func_name);
 
-if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name, 
class_len, (void**)class_table) != SUCCESS) {
-zend_hash_init(
-class_breaks, 8, NULL, phpdbg_class_breaks_dtor, 0);
+if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name,
+   class_len, (void**)class_table) != SUCCESS) {
+zend_hash_init(class_breaks, 8, NULL, phpdbg_class_breaks_dtor, 0);
 zend_hash_update(
 PHPDBG_G(bp)[PHPDBG_BREAK_METHOD],
 class_name, class_len,
@@ -128,7 +127,9 @@ void phpdbg_set_breakpoint_method(const char* class_name,
 new_break.func_len = func_len;
 new_break.id = PHPDBG_G(bp_count)++;
 
-zend_hash_update(class_table, func_name, func_len, new_break, 
sizeof(phpdbg_breakmethod_t), NULL);
+zend_hash_update(class_table, func_name, func_len,
+   new_break, sizeof(phpdbg_breakmethod_t), NULL);
+
 printf(
 %sBreakpoint #%d added at %s::%s%s\n,
 PHPDBG_BOLD_LINE(TSRMLS_C),
diff --git a/phpdbg_bp.h b/phpdbg_bp.h
index 7636d8b..61d5004 100644
--- a/phpdbg_bp.h
+++ b/phpdbg_bp.h
@@ -62,7 +62,7 @@ typedef struct _phpdbg_breakline_t {
 
 void phpdbg_set_breakpoint_file(const char*, long TSRMLS_DC);
 void phpdbg_set_breakpoint_symbol(const char* TSRMLS_DC);
-void phpdbg_set_breakpoint_method(const char*, size_t, const char*, size_t 
TSRMLS_DC);
+void phpdbg_set_breakpoint_method(const char*, const char* TSRMLS_DC);
 void phpdbg_set_breakpoint_opline(zend_ulong TSRMLS_DC);
 void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t TSRMLS_DC);
 
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 54be3aa..f12567c 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -329,8 +329,7 @@ static PHPDBG_COMMAND(print) /* {{{ */
 
 static PHPDBG_COMMAND(break) /* {{{ */
 {
-   char *line_pos = NULL;
-char *func_pos = NULL;
+   char *line_pos;
 
 if (expr_len = 0L) {
 printf(
@@ -338,10 +337,17 @@ static PHPDBG_COMMAND(break) /* {{{ */
 return FAILURE;
 }
 
-line_pos  = strchr(expr, ':');
+line_pos = strchr(expr, ':');
 
if (line_pos) {
-   if (!(func_pos=strchr(line_pos+1, ':'))) {
+   char *class;
+   char *func;
+
+   /* break class::method */
+   if (phpdbg_is_class_method(expr, expr_len, class, func)) {
+   phpdbg_set_breakpoint_method(class, func TSRMLS_CC);
+   } else {
+   /* break file:line */
char path[MAXPATHLEN], resolved_name[MAXPATHLEN];
long line_num = strtol(line_pos+1, NULL, 0);
 
@@ -350,43 +356,26 @@ static PHPDBG_COMMAND(break) /* {{{ */
path[line_pos - expr] = 0;
 
if (expand_filepath(path, resolved_name TSRMLS_CC) == 
NULL) {
-   printf(%sFailed to expand path %s%s\n, 
PHPDBG_RED_LINE(TSRMLS_C), path, PHPDBG_END_LINE(TSRMLS_C));
+   printf(%sFailed to expand path %s%s\n,
+   PHPDBG_RED_LINE(TSRMLS_C), 
path, PHPDBG_END_LINE(TSRMLS_C));
return FAILURE;
}
 
phpdbg_set_breakpoint_file(resolved_name, line_num 
TSRMLS_CC);
} else {
-   printf(%sNo line specified in expression %s%s\n, 
PHPDBG_RED_LINE(TSRMLS_C), expr, PHPDBG_END_LINE(TSRMLS_C));
-   return FAILURE;
-   }
-   } else {
-   char *class;
-   char *func;
-
-   size_t func_len = strlen(func_pos+1),
-  class_len = (line_pos - expr);
-
-   if (func_len) {
-

[PHP-CVS] com php-src: init.d for redhat and derivatives: phpdbg.init.d

2013-12-20 Thread Bob Weinand
Commit:800ec7836b3a095869368fb60c81fbd7cf158337
Author:krakjoe joe.watk...@live.co.uk Sun, 1 Dec 2013 12:48:43 
+
Parents:   723b721fb9a703c4a67cf9afa322745ff797feb3
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=800ec7836b3a095869368fb60c81fbd7cf158337

Log:
init.d for redhat and derivatives

Changed paths:
  A  phpdbg.init.d


Diff:
diff --git a/phpdbg.init.d b/phpdbg.init.d
new file mode 100755
index 000..4b69260
--- /dev/null
+++ b/phpdbg.init.d
@@ -0,0 +1,88 @@
+
+# File: /etc/init.d/phpdbg #
+# Author:   krakjoe#
+# Purpose:  Daemonize phpdbg automatically on boot #
+# chkconfig:234507 09  #
+# description:Starts, stops and restarts phpdbg daemon #
+
+LOCKFILE=/var/lock/subsys/phpdbg
+PIDFILE=/var/run/phpdbg.pid
+STDIN=4000
+STDOUT=8000
+
+# Either set path to phpdbg here or rely on phpdbg in PATH#
+
+if [ x$PHPDBG == x ]; then
+   PHPDBG=$(which phpdbg)
+fi
+
+# Options to pass to phpdbg upon boot  
   #
+
+OPTIONS=
+LOGFILE=/var/log/phpdbg.log
+
+# STOP EDITING STOP EDITING STOP EDITING STOP EDITING  #
+
+. /etc/rc.d/init.d/functions
+RETVAL=1
+
+
+start()
+{
+echo -n $Starting: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
+nohup ${PHPDBG} -l${STDIN}/${STDOUT} ${OPTIONS} 2${LOGFILE} 
1/dev/null /dev/null 
+PID=$!
+RETVAL=$?
+if [ $RETVAL -eq 0 ]; then
+echo $PID  $PIDFILE
+echo_success
+else
+echo_failure
+fi
+echo
+[ $RETVAL = 0 ]  touch ${LOCKFILE}
+   return $RETVAL
+}
+stop()
+{
+if [ -f ${LOCKFILE} ]  [ -f ${PIDFILE} ]
+then
+echo -n $Stopping: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} 
+kill -s TERM $(cat $PIDFILE)
+RETVAL=$?
+if [ $RETVAL -eq 0 ]; then
+echo_success
+else
+echo_failure
+fi
+echo
+[ $RETVAL = 0 ]  rm -f ${LOCKFILE} ${PIDFILE}
+else
+echo -n $Error: phpdbg not running
+echo_failure
+echo
+[ $RETVAL = 1 ]
+fi
+return $RETVAL
+}
+##
+case $1 in
+start)
+start
+;;
+stop)
+stop
+;;
+status)
+status $PHPDBG
+;;
+restart)
+$0 stop
+$0 start
+;;
+*)
+echo usage: $0 start|stop|restart|status
+;;
+esac
+###
+exit $RETVAL


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:69a8403175d9af79c5880779b11e2dfa06ed641c
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:50:44 
+
Parents:   b9c1c872f6fcf99b0ba8e3f26a21814e475bd788 
6658f58d4afcb80ffaeac460564aecb1591ecd93
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=69a8403175d9af79c5880779b11e2dfa06ed641c

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_prompt.c


Diff:



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



[PHP-CVS] com php-src: ...: phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:ed690e1899fa1d9234961a9b1e077c5d6912dc74
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 02:59:10 
+
Parents:   94c32c7256cfef2415733acba4fac677e673f97b
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ed690e1899fa1d9234961a9b1e077c5d6912dc74

Log:
...

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index 44625a9..1042477 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -522,6 +522,8 @@ static PHPDBG_COMMAND(list) /* {{{ */
if (zend_hash_find(EG(function_table), expr, expr_len,
(void**)fbc) == SUCCESS) {
phpdbg_list_function(fbc TSRMLS_CC);
+   } else {
+   printf([Function %s not found]\n, expr);
}
}


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



[PHP-CVS] com php-src: remove windows support for remote console, never gonna happen: phpdbg.c

2013-12-20 Thread Bob Weinand
Commit:371ccf8ab97f8f2d9b1226884f75f571c43fc17b
Author:krakjoe joe.watk...@live.co.uk Thu, 28 Nov 2013 22:06:27 
+
Parents:   55f210c83b91643051bd0f8c73aba5fac106e383
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=371ccf8ab97f8f2d9b1226884f75f571c43fc17b

Log:
remove windows support for remote console, never gonna happen

Changed paths:
  M  phpdbg.c


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index 48d618d..6ae0347 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -27,17 +27,15 @@
 #include phpdbg_utils.h
 #include phpdbg_set.h
 
+/* {{{ remote console headers */
 #ifndef _WIN32
-#include sys/socket.h
-#include sys/select.h
-#include sys/time.h
-#include sys/types.h
-#include unistd.h
-#include arpa/inet.h
-#else
-#include Winsock2.h
-#define SHUT_RDWR SD_BOTH
-#endif
+#  include sys/socket.h
+#  include sys/select.h
+#  include sys/time.h
+#  include sys/types.h
+#  include unistd.h
+#  include arpa/inet.h
+#endif /* }}} */
 
 ZEND_DECLARE_MODULE_GLOBALS(phpdbg);
 
@@ -489,7 +487,9 @@ const opt_struct OPTIONS[] = { /* {{{ */
{'O', 1, opline log},
{'r', 0, run},
{'E', 0, step-through-eval},
+#ifndef _WIN32
{'l', 1, listen},
+#endif
{'-', 0, NULL}
 }; /* }}} */
 
@@ -548,6 +548,7 @@ static inline void phpdbg_sigint_handler(int signo) /* {{{ 
*/
}
 } /* }}} */
 
+#ifndef _WIN32
 int phpdbg_open_socket(short port) /* {{{ */
 {
int fd = socket(AF_INET, SOCK_STREAM, 0);
@@ -557,17 +558,9 @@ int phpdbg_open_socket(short port) /* {{{ */
return -1;

default: {
-#ifndef _WIN32
-   int boolean = 1;
-#else
-   const char *boolean = 1;
-#endif
+   int reuse = 1;
 
-#ifndef _WIN32
-   switch (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, 
boolean, sizeof(boolean))) {
-#else
-   switch (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, 
boolean, sizeof(boolean))) {
-#endif
+   switch (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, 
(char*) reuse, sizeof(reuse))) {
case -1:
close(fd);
return -2;
@@ -604,7 +597,6 @@ int phpdbg_open_socket(short port) /* {{{ */
 
 static inline void phpdbg_close_sockets(int (*socket)[2], FILE *streams[2]) /* 
{{{ */
 {  
-#ifndef _WIN32
if ((*socket)[0]) {
shutdown((*socket)[0], SHUT_RDWR);
close((*socket)[0]);
@@ -622,7 +614,6 @@ static inline void phpdbg_close_sockets(int (*socket)[2], 
FILE *streams[2]) /* {
if (streams[1]) {
fclose(streams[1]);
}
-#endif
 } /* }}} */
 
 /* don't inline this, want to debug it easily, will inline when done */
@@ -691,14 +682,15 @@ int phpdbg_open_sockets(int port[2], int (*listen)[2], 
int (*socket)[2], FILE* s
 
dup2((*socket)[0], fileno(stdin));
dup2((*socket)[1], fileno(stdout));
-
+   
setbuf(stdout, NULL);
 
streams[0] = fdopen((*socket)[0], r);
streams[1] = fdopen((*socket)[1], w);
-
+   
return SUCCESS;
 } /* }}} */
+#endif
 
 int main(int argc, char **argv) /* {{{ */
 {
@@ -722,15 +714,18 @@ int main(int argc, char **argv) /* {{{ */
int run = 0;
int step = 0;
char *bp_tmp_file;
+#ifndef _WIN32
int listen[2];
int server[2];
int socket[2];
FILE* streams[2] = {NULL, NULL};
+#endif
 
 #ifdef ZTS
void ***tsrm_ls;
 #endif
-   
+
+#ifndef _WIN32
socket[0] = -1;
socket[1] = -1;
listen[0] = -1;
@@ -739,13 +734,9 @@ int main(int argc, char **argv) /* {{{ */
server[1] = -1;
streams[0] = NULL;
streams[1] = NULL;
+#endif
 
 #ifdef PHP_WIN32
-   {
-   WSADATA WSAData;
-
-   WSAStartup (0x0101, WSAData);
-   }
_fmode = _O_BINARY; /* sets default for file streams to 
binary */
setmode(_fileno(stdin), O_BINARY);  /* make the stdio mode be binary */
setmode(_fileno(stdout), O_BINARY); /* make the stdio mode be binary */
@@ -877,7 +868,8 @@ phpdbg_main:
case 'q': /* hide banner */
show_banner = 0;
break;
-   
+
+#ifndef _WIN32
/* if you pass a listen port, we will accept input on 
listen port */
/* and write output to listen port * 2 */

@@ -885,9 +877,12 @@ phpdbg_main:
listen[0] = atoi(php_optarg);
listen[1] = (listen[0] * 2);
break;
+#endif
+
}
}
 
+#ifndef _WIN32
/* setup remote server if necessary */
if (!cleaning 
(listen[0]  0  listen[1]  0)) 

[PHP-CVS] com php-src: ...: README.md

2013-12-20 Thread Bob Weinand
Commit:bb715ac77d6a83eeb9973037a087d32f872ba77a
Author:krakjoe joe.watk...@live.co.uk Tue, 12 Nov 2013 06:47:33 
+
Parents:   f566a6136bbd4fd4f3afeaeccb666bd7806562b8
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=bb715ac77d6a83eeb9973037a087d32f872ba77a

Log:
...

Changed paths:
  M  README.md


Diff:
diff --git a/README.md b/README.md
index f6b6704..e9f7fbe 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,6 @@ Features
 Planned
 ===
 
- - Pass JIT Super Globals to Userland (Mocking, Testing etc)
  - Improve Everything :)
  
 Installation


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



[PHP-CVS] com php-src: ...: tutorials/java/build/built-jar.properties tutorials/java/build/classes/phpdbg/ui/CommandHistory.class tutorials/java/build/classes/phpdbg/ui/DebugSocket.class tutorials/jav

2013-12-20 Thread Bob Weinand
Commit:167f6e0c25ab1667131e58e248ac15c4c506462b
Author:krakjoe joe.watk...@live.co.uk Fri, 29 Nov 2013 09:38:07 
+
Parents:   3495e7827432a999af87cde91e773107694ac10a
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=167f6e0c25ab1667131e58e248ac15c4c506462b

Log:
...

Changed paths:
  D  tutorials/java/build/built-jar.properties
  D  tutorials/java/build/classes/phpdbg/ui/CommandHistory.class
  D  tutorials/java/build/classes/phpdbg/ui/DebugSocket.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$1.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$2.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$3.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$4.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class
  D  tutorials/java/build/classes/phpdbg/ui/JConsole.class
  D  tutorials/java/build/classes/phpdbg/ui/JTerminalPane.class


Diff:
diff --git a/tutorials/java/build/built-jar.properties 
b/tutorials/java/build/built-jar.properties
deleted file mode 100644
index 0a4931e..000
--- a/tutorials/java/build/built-jar.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri, 29 Nov 2013 09:36:09 +
-
-
-/usr/src/phpdbg/tutorials/java=
diff --git a/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class 
b/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class
deleted file mode 100644
index c7683af..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/CommandHistory.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class 
b/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class
deleted file mode 100644
index bd41313..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/DebugSocket.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class
deleted file mode 100644
index 4a79425..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$1.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class
deleted file mode 100644
index 5803529..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$2.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class
deleted file mode 100644
index 5adbfa8..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$3.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class
deleted file mode 100644
index 4ef4d31..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$4$1.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class
deleted file mode 100644
index 407f622..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole$4.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class
deleted file mode 100644
index b9a864f..000
Binary files 
a/tutorials/java/build/classes/phpdbg/ui/JConsole$MessageType.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JConsole.class 
b/tutorials/java/build/classes/phpdbg/ui/JConsole.class
deleted file mode 100644
index 39129fe..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JConsole.class and 
/dev/null differ
diff --git a/tutorials/java/build/classes/phpdbg/ui/JTerminalPane.class 
b/tutorials/java/build/classes/phpdbg/ui/JTerminalPane.class
deleted file mode 100644
index 1808ef6..000
Binary files a/tutorials/java/build/classes/phpdbg/ui/JTerminalPane.class and 
/dev/null differ


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



[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg.c phpdbg.h phpdbg_bp.c phpdbg_help.c phpdbg_set.c phpdbg_set.h

2013-12-20 Thread Bob Weinand
Commit:02ae3f8de1799d5ae4a6fa2cc86a34acb4767e9c
Author:Bob Weinand bobw...@hotmail.com Mon, 25 Nov 2013 23:45:55 
+0100
Parents:   4e6a8eeffa4cdec4b75303788e676468fdf6129e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=02ae3f8de1799d5ae4a6fa2cc86a34acb4767e9c

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_bp.c
  M  phpdbg_help.c
  M  phpdbg_set.c
  M  phpdbg_set.h

diff --git a/phpdbg.c b/phpdbg.c
index 9215e43..275d91a 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -78,7 +78,7 @@ static PHP_MINIT_FUNCTION(phpdbg) /* {{{ */
REGISTER_LONG_CONSTANT(PHPDBG_COLOR_PROMPT, PHPDBG_COLOR_PROMPT, 
CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(PHPDBG_COLOR_NOTICE, PHPDBG_COLOR_NOTICE, 
CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(PHPDBG_COLOR_ERROR, PHPDBG_COLOR_ERROR, 
CONST_CS|CONST_PERSISTENT);
-   
+
return SUCCESS;
 } /* }}} */
 
@@ -162,6 +162,7 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
if (PHPDBG_G(prompt)[0]) {
free(PHPDBG_G(prompt)[0]);
}
+   
if (PHPDBG_G(prompt)[1]) {
free(PHPDBG_G(prompt)[1]);
}
@@ -249,32 +250,32 @@ static PHP_FUNCTION(phpdbg_color)
long element;
char *color;
zend_uint color_len;
-   
+
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ls, element, 
color, color_len) == FAILURE) {
return;
}
-   
+
switch (element) {
case PHPDBG_COLOR_NOTICE:
case PHPDBG_COLOR_ERROR:
case PHPDBG_COLOR_PROMPT:
phpdbg_set_color_ex(element, color, color_len 
TSRMLS_CC);
break;
-   
+
default: zend_error(E_ERROR, phpdbg detected an incorrect 
color constant);
}
 } /* }}} */
 
 /* {{{ proto void phpdbg_prompt(string prompt) */
-static PHP_FUNCTION(phpdbg_prompt) 
+static PHP_FUNCTION(phpdbg_prompt)
 {
char *prompt;
zend_uint prompt_len;
-   
+
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, prompt, 
prompt_len) == FAILURE) {
return;
}
-   
+
phpdbg_set_prompt(prompt TSRMLS_CC);
 } /* }}} */
 
@@ -565,19 +566,21 @@ int main(int argc, char **argv) /* {{{ */
setmode(_fileno(stderr), O_BINARY); /* make the stdio mode be binary */
 #endif
 
+phpdbg_main:
 #ifdef ZTS
tsrm_startup(1, 1, 0, NULL);
 
tsrm_ls = ts_resource(0);
 #endif
 
-   bp_tmp_file = malloc(L_tmpnam);
-   tmpnam(bp_tmp_file);
-   if (bp_tmp_file == NULL) {
-   phpdbg_error(Unable to create temporary file);
+   if (!cleaning) {
+   bp_tmp_file = malloc(L_tmpnam);
+   tmpnam(bp_tmp_file);
+   if (bp_tmp_file == NULL) {
+   phpdbg_error(Unable to create temporary file);
+   }
}
 
-phpdbg_main:
ini_entries = NULL;
ini_entries_len = 0;
ini_ignore = 0;
@@ -858,16 +861,15 @@ phpdbg_out:
sapi_shutdown();
}
 
+#ifdef ZTS
+   tsrm_shutdown();
+#endif
+
if (cleaning) {
goto phpdbg_main;
}
 
free(bp_tmp_file);
 
-#ifdef ZTS
-   /* bugggy */
-   /* tsrm_shutdown(); */
-#endif
-
return 0;
 } /* }}} */
diff --git a/phpdbg.h b/phpdbg.h
index 19cf0c4..6962cdb 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -112,11 +112,12 @@
 #define PHPDBG_IS_INITIALIZING (119)
 #define PHPDBG_IS_SIGNALED  (120)
 #define PHPDBG_IS_INTERACTIVE  (121)
+#define PHPDBG_IS_BP_ENABLED(122)
 
 #ifndef _WIN32
-#   define PHPDBG_DEFAULT_FLAGS(PHPDBG_IS_QUIET|PHPDBG_IS_COLOURED)
+#   define PHPDBG_DEFAULT_FLAGS
(PHPDBG_IS_QUIET|PHPDBG_IS_COLOURED|PHPDBG_IS_BP_ENABLED)
 #else
-#   define PHPDBG_DEFAULT_FLAGS(PHPDBG_IS_QUIET)
+#   define PHPDBG_DEFAULT_FLAGS(PHPDBG_IS_QUIET|PHPDBG_IS_BP_ENABLED)
 #endif /* }}} */
 
 /* {{{ strings */
@@ -137,7 +138,7 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
HashTable registered;   
/* registered */
HashTable seek; 
/* seek oplines */
phpdbg_frame_t frame;   
/* frame */
-   
+
char *exec; /* file to 
execute */
size_t exec_len;/* size of exec 
*/
zend_op_array *ops; /* op_array */
@@ -151,10 +152,10 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
 
 char *prompt[2];   /* prompt */
 const phpdbg_color_t *colors[PHPDBG_COLORS];   /* colors */
-
+
phpdbg_command_t *lcmd; 
/* last command

[PHP-CVS] com php-src: Merge branch 'master' of https://github.com/krakjoe/phpdbg: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:969e659c4abb128017919f327aa127db36f49796
Author:krakjoe joe.watk...@live.co.uk Tue, 26 Nov 2013 16:00:28 
+
Parents:   6d95449e0a0f5ceb326a6fe7df9c2764ca4722e5 
6ba73338dd34a2a80e0dd25ca333bfc0b859a930
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=969e659c4abb128017919f327aa127db36f49796

Log:
Merge branch 'master' of https://github.com/krakjoe/phpdbg

Changed paths:
  MM  phpdbg_bp.c


Diff:
diff --cc phpdbg_bp.c
index 792ac99,48e5ca0..75d0918
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@@ -200,41 -214,38 +214,41 @@@ PHPDBG_API void phpdbg_set_breakpoint_s
  
  PHPDBG_API void phpdbg_set_breakpoint_method(const char* class_name, const 
char* func_name TSRMLS_DC) /* {{{ */
  {
- HashTable class_breaks, *class_table;
+   HashTable class_breaks, *class_table;
 -  size_t class_len = strlen(class_name);
 -  size_t func_len = strlen(func_name);
 +size_t class_len = strlen(class_name);
 +size_t func_len = strlen(func_name);
 +char *lcname = zend_str_tolower_dup(func_name, func_len); 
  
- if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name,
+   if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name,
class_len, (void**)class_table) != SUCCESS) {
- zend_hash_init(class_breaks, 8, NULL, phpdbg_class_breaks_dtor, 0);
- zend_hash_update(
- PHPDBG_G(bp)[PHPDBG_BREAK_METHOD],
- class_name, class_len,
- (void**)class_breaks, sizeof(HashTable), (void**)class_table);
- }
+   zend_hash_init(class_breaks, 8, NULL, 
phpdbg_class_breaks_dtor, 0);
+   zend_hash_update(
+   PHPDBG_G(bp)[PHPDBG_BREAK_METHOD],
+   class_name, class_len,
+   (void**)class_breaks, sizeof(HashTable), 
(void**)class_table);
+   }
  
- if (!zend_hash_exists(class_table, func_name, func_len)) {
- phpdbg_breakmethod_t new_break;
+   if (!zend_hash_exists(class_table, func_name, func_len)) {
+   phpdbg_breakmethod_t new_break;
  
- PHPDBG_G(flags) |= PHPDBG_HAS_METHOD_BP;
+   PHPDBG_G(flags) |= PHPDBG_HAS_METHOD_BP;
  
- new_break.class_name = estrndup(class_name, class_len);
- new_break.class_len = class_len;
- new_break.func_name = estrndup(func_name, func_len);
- new_break.func_len = func_len;
- new_break.id = PHPDBG_G(bp_count)++;
+   new_break.class_name = estrndup(class_name, class_len);
+   new_break.class_len = class_len;
+   new_break.func_name = estrndup(func_name, func_len);
+   new_break.func_len = func_len;
+   new_break.id = PHPDBG_G(bp_count)++;
  
- zend_hash_update(class_table, lcname, func_len,
 -  zend_hash_update(class_table, func_name, func_len,
++  zend_hash_update(class_table, lcname, func_len,
new_break, sizeof(phpdbg_breakmethod_t), NULL);
  
- phpdbg_notice(Breakpoint #%d added at %s::%s,
- new_break.id, class_name, func_name);
- } else {
+   phpdbg_notice(Breakpoint #%d added at %s::%s,
+   new_break.id, class_name, func_name);
+   } else {
phpdbg_notice(Breakpoint exists at %s::%s, class_name, 
func_name);
 -  }
 +}
 +
 +efree(lcname);
  } /* }}} */
  
  PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline TSRMLS_DC) /* 
{{{ */


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



[PHP-CVS] com php-src: correction in help: phpdbg_bp.c phpdbg_help.c

2013-12-20 Thread Bob Weinand
Commit:6932eb76e3631e5e8e12e1545d152a3b8567297c
Author:krakjoe joe.watk...@live.co.uk Mon, 25 Nov 2013 18:39:27 
+
Parents:   754fe822161a929ba17c8aba72029bdb6d46236e
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6932eb76e3631e5e8e12e1545d152a3b8567297c

Log:
correction in help

Changed paths:
  M  phpdbg_bp.c
  M  phpdbg_help.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index de9b90d..afd0be0 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -66,7 +66,6 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
phpdbg_notice(
Exporting file breakpoints in %s 
(%d), brake-filename, count);
 
-   fprintf(handle, # Breakpoints in %s (%d)\n, 
brake-filename, count);
do {
fprintf(handle, break file %s:%lu\n, 
brake-filename, brake-line);
} while ((brake = 
zend_llist_get_next_ex(brakes, lposition)));
diff --git a/phpdbg_help.c b/phpdbg_help.c
index 227f841..c9598a7 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -221,7 +221,7 @@ PHPDBG_HELP(break) /* {{{ */
phpdbg_writeln(EMPTY);
phpdbg_notice(Examples);
phpdbg_writeln(\t%sbreak [file] test.php:1, 
phpdbg_get_prompt(TSRMLS_C));
-   phpdbg_writeln(\t%sb [f] test.php:1, phpdbg_get_prompt(TSRMLS_C));
+   phpdbg_writeln(\t%sb [F] test.php:1, phpdbg_get_prompt(TSRMLS_C));
phpdbg_writeln(\tWill break execution on line 1 of test.php);
phpdbg_writeln(EMPTY);
phpdbg_writeln(\t%sbreak [func] my_function, 
phpdbg_get_prompt(TSRMLS_C));


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



[PHP-CVS] com php-src: export opcode breakpoints: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:754fe822161a929ba17c8aba72029bdb6d46236e
Author:krakjoe joe.watk...@live.co.uk Mon, 25 Nov 2013 18:27:58 
+
Parents:   ba37fd24bc7e394476d7be11bed244621b5aad22
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=754fe822161a929ba17c8aba72029bdb6d46236e

Log:
export opcode breakpoints

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 182991f..de9b90d 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -88,20 +88,20 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
handle, break %s\n, brake-symbol);
}
}
-   
+
if (PHPDBG_G(flags)  PHPDBG_HAS_METHOD_BP) {
HashTable *class;
phpdbg_breakmethod_t *brake;
HashPosition mposition;
zend_bool noted = 0;
-   
+
table = PHPDBG_G(bp)[PHPDBG_BREAK_METHOD];
-   
+
for (zend_hash_internal_pointer_reset_ex(table, position);
zend_hash_get_current_data_ex(table, (void**) class, 
position) == SUCCESS;
zend_hash_move_forward_ex(table, position)) {
noted = 0;
-   
+
for (zend_hash_internal_pointer_reset_ex(class, 
mposition);
zend_hash_get_current_data_ex(class, (void**) 
brake, mposition) == SUCCESS;
zend_hash_move_forward_ex(class, mposition)) {
@@ -118,6 +118,23 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
}
}

+   if (PHPDBG_G(flags)  PHPDBG_HAS_OPCODE_BP) {
+   phpdbg_breakop_t *brake;
+   
+   table = PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE];
+   
+   phpdbg_notice(
+   Exporting opcode breakpoints (%d), 
zend_hash_num_elements(table));
+   
+   for (zend_hash_internal_pointer_reset_ex(table, position);
+   zend_hash_get_current_data_ex(table, (void**) brake, 
position) == SUCCESS;
+   zend_hash_move_forward_ex(table, position)) {
+   
+   fprintf(
+   handle, break op %s\n, brake-name);  
+   }
+   }
+   
/* export other types here after resolving errors from source command */

 } /* }}} */
@@ -245,6 +262,8 @@ PHPDBG_API void phpdbg_set_breakpoint_opcode(const char 
*name, size_t name_len T
zend_ulong hash = zend_hash_func(name, name_len);
 
if (zend_hash_index_exists(PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE], hash)) {
+   phpdbg_notice(
+   Breakpoint exists for %s, name);
return;
}


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



[PHP-CVS] com php-src: reset hit counters implicitly on run: phpdbg_bp.c phpdbg_bp.h phpdbg_prompt.c

2013-12-20 Thread Bob Weinand
Commit:c8145da0b24a7bd8cb589cb727499764003fb92c
Author:krakjoe joe.watk...@live.co.uk Wed, 27 Nov 2013 13:15:52 
+
Parents:   0deced5a7a3f89aeba321e90fa03ba89607ad271
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=c8145da0b24a7bd8cb589cb727499764003fb92c

Log:
reset hit counters implicitly on run

Changed paths:
  M  phpdbg_bp.c
  M  phpdbg_bp.h
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 2985080..333569b 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -56,6 +56,26 @@ static void phpdbg_class_breaks_dtor(void *data) /* {{{ */
efree((char*)bp-func_name);
 } /* }}} */
 
+PHPDBG_API void phpdbg_reset_breakpoints(TSRMLS_D) /* {{{ */
+{
+   if (zend_hash_num_elements(PHPDBG_G(bp)[PHPDBG_BREAK_MAP])) {
+   HashPosition position[2];
+   HashTable **table = NULL;
+   
+   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])) {
+   phpdbg_breakbase_t *brake;
+   
+   for (zend_hash_internal_pointer_reset_ex((*table), 
position[1]);
+   zend_hash_get_current_data_ex((*table), 
(void**)brake, position[1]) == SUCCESS;
+   zend_hash_move_forward_ex((*table), 
position[1])) {
+   brake-hits = 0;
+   }
+   }
+   }
+} /* }}} */
+
 PHPDBG_API void phpdbg_export_breakpoints(FILE *handle TSRMLS_DC) /* {{{ */
 {
HashPosition position[2];
diff --git a/phpdbg_bp.h b/phpdbg_bp.h
index ef1049e..9063539 100644
--- a/phpdbg_bp.h
+++ b/phpdbg_bp.h
@@ -104,6 +104,7 @@ phpdbg_breakbase_t* 
phpdbg_find_breakpoint(zend_execute_data* TSRMLS_DC);
 
 PHPDBG_API void phpdbg_delete_breakpoint(zend_ulong num TSRMLS_DC);
 PHPDBG_API void phpdbg_clear_breakpoints(TSRMLS_D);
+PHPDBG_API void phpdbg_reset_breakpoints(TSRMLS_D);
 PHPDBG_API void phpdbg_hit_breakpoint(phpdbg_breakbase_t* brake, zend_bool 
output TSRMLS_DC);
 PHPDBG_API void phpdbg_print_breakpoint(phpdbg_breakbase_t* brake TSRMLS_DC);
 PHPDBG_API void phpdbg_print_breakpoints(zend_ulong type TSRMLS_DC);
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index b9c22b9..b5a93a6 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -573,6 +573,9 @@ PHPDBG_COMMAND(run) /* {{{ */
zend_hash_clean(
PHPDBG_G(seek));
 
+   /* reset hit counters */
+   phpdbg_reset_breakpoints(TSRMLS_C);
+
zend_try {
php_output_activate(TSRMLS_C);
PHPDBG_G(flags) ^= PHPDBG_IS_INTERACTIVE;


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



[PHP-CVS] com php-src: fix #28: phpdbg_help.c phpdbg_set.c phpdbg_set.h

2013-12-20 Thread Bob Weinand
Commit:f8e7685975da5357bbe3e297377d7a8a0340acda
Author:krakjoe joe.watk...@live.co.uk Tue, 26 Nov 2013 16:02:39 
+
Parents:   969e659c4abb128017919f327aa127db36f49796
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f8e7685975da5357bbe3e297377d7a8a0340acda

Log:
fix #28

Bugs:
https://bugs.php.net/28

Changed paths:
  M  phpdbg_help.c
  M  phpdbg_set.c
  M  phpdbg_set.h


Diff:
diff --git a/phpdbg_help.c b/phpdbg_help.c
index b6bc28c..eaf5f64 100644
--- a/phpdbg_help.c
+++ b/phpdbg_help.c
@@ -458,6 +458,7 @@ PHPDBG_HELP(set) /* {{{ */
++set_command;
}
}
+#ifndef _WIN32
phpdbg_notice(Colors);
{
const phpdbg_color_t *color = phpdbg_get_colors(TSRMLS_C);
@@ -479,6 +480,7 @@ PHPDBG_HELP(set) /* {{{ */
}
}
phpdbg_writeln(The element for set color can be \prompt\, 
\notice\, or \error\);
+#endif
phpdbg_help_footer();
return SUCCESS;
 } /* }}} */
diff --git a/phpdbg_set.c b/phpdbg_set.c
index f7a32bb..aa24822 100644
--- a/phpdbg_set.c
+++ b/phpdbg_set.c
@@ -63,6 +63,7 @@ PHPDBG_SET(break) /* {{{ */
return SUCCESS;
 } /* }}} */
 
+#ifndef _WIN32
 PHPDBG_SET(color) /* {{{ */
 {
if ((param-type == STR_PARAM)  (input-argc == 3)) {
@@ -104,6 +105,7 @@ usage:
}
return SUCCESS;
 } /* }}} */
+#endif
 
 PHPDBG_SET(oplog) /* {{{ */
 {
diff --git a/phpdbg_set.h b/phpdbg_set.h
index 2fcc0d0..b18da48 100644
--- a/phpdbg_set.h
+++ b/phpdbg_set.h
@@ -25,13 +25,17 @@
 #define PHPDBG_SET(name) PHPDBG_COMMAND(set_##name)
 
 PHPDBG_SET(prompt);
+#ifndef _WIN32
 PHPDBG_SET(color);
+#endif
 PHPDBG_SET(oplog);
 PHPDBG_SET(break);
 
 static const phpdbg_command_t phpdbg_set_commands[] = {
PHPDBG_COMMAND_D_EX(prompt,   usage: set prompt string, 
 'p', set_prompt,   NULL, 0),
+#ifndef _WIN32
PHPDBG_COMMAND_D_EX(color,usage: set color  element 
color, 'c', set_color,NULL, 1),
+#endif
PHPDBG_COMMAND_D_EX(oplog,usage: set oplog  output, 
 'O', set_oplog,NULL, 0),
PHPDBG_COMMAND_D_EX(break,usage: set break  on|off, 
 'b', set_break,NULL, 0),
PHPDBG_END_COMMAND


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



[PHP-CVS] com php-src: symbol breakpoint export: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:3e14ff7cee168c6915883ed5fdd81c1d7f5fa5e7
Author:krakjoe joe.watk...@live.co.uk Mon, 25 Nov 2013 18:03:38 
+
Parents:   7ac64cdf46bc70a14dd9fabaa663ecae41e93322
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3e14ff7cee168c6915883ed5fdd81c1d7f5fa5e7

Log:
symbol breakpoint export

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index d045255..fb61cf8 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -74,6 +74,21 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
}
}

+   if (PHPDBG_G(flags)  PHPDBG_HAS_SYM_BP) {
+   phpdbg_breaksymbol_t *brake;
+   
+   table = PHPDBG_G(bp)[PHPDBG_BREAK_SYM];
+   
+   phpdbg_notice(Exporting symbol breakpoints (%d), 
zend_hash_num_elements(table));
+   
+   for (zend_hash_internal_pointer_reset_ex(table, position);
+   zend_hash_get_current_data_ex(table, (void*) brake, 
position) == SUCCESS;
+   zend_hash_move_forward_ex(table, position)) {
+   fprintf(
+   handle, break %s\n, brake-symbol);
+   }
+   }
+   
/* export other types here after resolving errors from source command */

 } /* }}} */


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



[PHP-CVS] com php-src: fix #27: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:6d95449e0a0f5ceb326a6fe7df9c2764ca4722e5
Author:krakjoe joe.watk...@live.co.uk Tue, 26 Nov 2013 15:58:27 
+
Parents:   bc7df607ab2d7771a3c2226b46598645e67e053f
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6d95449e0a0f5ceb326a6fe7df9c2764ca4722e5

Log:
fix #27

Bugs:
https://bugs.php.net/27

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 40a3a50..792ac99 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -203,6 +203,7 @@ PHPDBG_API void phpdbg_set_breakpoint_method(const char* 
class_name, const char*
 HashTable class_breaks, *class_table;
 size_t class_len = strlen(class_name);
 size_t func_len = strlen(func_name);
+char *lcname = zend_str_tolower_dup(func_name, func_len);  
 
 if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name,
class_len, (void**)class_table) != SUCCESS) {
@@ -224,7 +225,7 @@ PHPDBG_API void phpdbg_set_breakpoint_method(const char* 
class_name, const char*
 new_break.func_len = func_len;
 new_break.id = PHPDBG_G(bp_count)++;
 
-zend_hash_update(class_table, func_name, func_len,
+zend_hash_update(class_table, lcname, func_len,
new_break, sizeof(phpdbg_breakmethod_t), NULL);
 
 phpdbg_notice(Breakpoint #%d added at %s::%s,
@@ -232,6 +233,8 @@ PHPDBG_API void phpdbg_set_breakpoint_method(const char* 
class_name, const char*
 } else {
phpdbg_notice(Breakpoint exists at %s::%s, class_name, 
func_name);
 }
+
+efree(lcname);
 } /* }}} */
 
 PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline TSRMLS_DC) /* 
{{{ */
@@ -408,9 +411,6 @@ int phpdbg_find_breakpoint_symbol(zend_function *fbc 
TSRMLS_DC) /* {{{ */
return FAILURE;
 } /* }}} */
 
-/*
-* @TODO(anyone) this is case sensitive
-*/
 int phpdbg_find_breakpoint_method(zend_op_array *ops TSRMLS_DC) /* {{{ */
 {
HashTable *class_table;
@@ -418,17 +418,22 @@ int phpdbg_find_breakpoint_method(zend_op_array *ops 
TSRMLS_DC) /* {{{ */
 
if (zend_hash_find(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], ops-scope-name,
ops-scope-name_length, (void**)class_table) == SUCCESS) {
+   char *lcname = zend_str_tolower_dup(ops-function_name, 
strlen(ops-function_name));
+   size_t lcname_len = strlen(lcname);
+   
if (zend_hash_find(
class_table,
-   ops-function_name,
-   strlen(ops-function_name), (void**)bp) == SUCCESS) {
-
+   lcname,
+   lcname_len, (void**)bp) == SUCCESS) {
+   efree(lcname);
phpdbg_notice(Breakpoint #%d in %s::%s() at %s:%u,
bp-id, bp-class_name, bp-func_name,
zend_get_executed_filename(TSRMLS_C),
zend_get_executed_lineno(TSRMLS_C));
return SUCCESS;
}
+   
+   efree(lcname);
}
 
return FAILURE;


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



[PHP-CVS] com php-src: make conditional breakpoint structure consistent with others: phpdbg.c phpdbg_bp.c phpdbg_bp.h

2013-12-20 Thread Bob Weinand
Commit:4216cb28408a660dbf435f00d3c58ba89666b602
Author:krakjoe joe.watk...@live.co.uk Wed, 27 Nov 2013 12:15:37 
+
Parents:   37b3a21cf4802b0091d42c79c020bce1199641f7
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=4216cb28408a660dbf435f00d3c58ba89666b602

Log:
make conditional breakpoint structure consistent with others

Changed paths:
  M  phpdbg.c
  M  phpdbg_bp.c
  M  phpdbg_bp.h


Diff:
diff --git a/phpdbg.c b/phpdbg.c
index bd477e7..d0fc04a 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -115,7 +115,7 @@ static void php_phpdbg_destroy_bp_condition(void *data) /* 
{{{ */
brake-ops TSRMLS_CC);
efree(brake-ops);
}
-   zval_dtor(brake-code);
+   efree((char*)brake-code);
}
 } /* }}} */
 
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 8221628..1560bc8 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -108,7 +108,7 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
case PHPDBG_BREAK_COND: {
fprintf(handle, 
break on 
%s\n, 
-   
Z_STRVAL(((phpdbg_breakcond_t*)brake)-code));
+   
((phpdbg_breakcond_t*)brake)-code);
} break;
}
}
@@ -307,8 +307,6 @@ PHPDBG_API void phpdbg_set_breakpoint_expression(const char 
*expr, size_t expr_l
zend_uint cops = CG(compiler_options);
zval pv;
 
-   ZVAL_STRINGL(new_break.code, expr, expr_len, 1);
-
new_break.hash = hash;
new_break.id = PHPDBG_G(bp_count)++;
new_break.type = PHPDBG_BREAK_COND;
@@ -317,8 +315,8 @@ PHPDBG_API void phpdbg_set_breakpoint_expression(const char 
*expr, size_t expr_l
 
CG(compiler_options) = ZEND_COMPILE_DEFAULT_FOR_EVAL;
 
-   Z_STRLEN(pv) = expr_len + sizeof(return ;) - 1;
-   Z_STRVAL(pv) = emalloc(Z_STRLEN(pv) + 1);
+   new_break.code_len = Z_STRLEN(pv) = expr_len + sizeof(return 
;) - 1;
+   new_break.code = Z_STRVAL(pv) = emalloc(Z_STRLEN(pv) + 1);
memcpy(Z_STRVAL(pv), return , sizeof(return ) - 1);
memcpy(Z_STRVAL(pv) + sizeof(return ) - 1, expr, expr_len);
Z_STRVAL(pv)[Z_STRLEN(pv) - 1] = ';';
@@ -336,14 +334,14 @@ PHPDBG_API void phpdbg_set_breakpoint_expression(const 
char *expr, size_t expr_l
sizeof(phpdbg_breakcond_t), (void**)brake);
 
phpdbg_notice(Conditional breakpoint #%d added %s/%p,
-   brake-id, Z_STRVAL(brake-code), brake-ops);
+   brake-id, brake-code, brake-ops);
 
PHPDBG_G(flags) |= PHPDBG_HAS_COND_BP;
PHPDBG_BREAK_MAPPING(new_break.id, 
PHPDBG_G(bp)[PHPDBG_BREAK_COND]);
} else {
 phpdbg_error(
Failed to compile code for expression %s, 
expr);
-zval_dtor(new_break.code);
+efree((char*)new_break.code);
 PHPDBG_G(bp_count)--;
}
CG(compiler_options) = cops;
@@ -507,7 +505,7 @@ int phpdbg_find_conditional_breakpoint(TSRMLS_D) /* {{{ */
breakpoint = SUCCESS;
}
} zend_catch {
-   phpdbg_error(Error detected while evaluating 
expression %s, Z_STRVAL(bp-code));
+   phpdbg_error(Error detected while evaluating 
expression %s, bp-code);
CG(interactive) = orig_interactive;
 
EG(no_extensions)=1;
@@ -532,7 +530,7 @@ int phpdbg_find_conditional_breakpoint(TSRMLS_D) /* {{{ */
 
if (breakpoint == SUCCESS) {
phpdbg_notice(Conditional breakpoint #%d: (%s) %s:%u,
-   bp-id, Z_STRVAL(bp-code),
+   bp-id, bp-code,
zend_get_executed_filename(TSRMLS_C),
zend_get_executed_lineno(TSRMLS_C));
}
@@ -753,7 +751,7 @@ PHPDBG_API void phpdbg_print_breakpoints(zend_ulong type 
TSRMLS_DC) /* {{{ */
for 
(zend_hash_internal_pointer_reset_ex(PHPDBG_G(bp)[PHPDBG_BREAK_COND], 
position);
 
zend_hash_get_current_data_ex(PHPDBG_G(bp)[PHPDBG_BREAK_COND], (void**) 
brake, position) == SUCCESS;
 
zend_hash_move_forward_ex(PHPDBG_G(bp)[PHPDBG_BREAK_COND], position)) {
-   

[PHP-CVS] com php-src: many improvements in breakpoints make file breakpoints faster make exports happen in correct order make deletes simpler, set flags correctly fix info vars when no scope is set:

2013-12-20 Thread Bob Weinand
Commit:3df8e29b0d24d378d168183028aed46c1826a511
Author:krakjoe joe.watk...@live.co.uk Tue, 26 Nov 2013 22:20:52 
+
Parents:   f8e7685975da5357bbe3e297377d7a8a0340acda
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=3df8e29b0d24d378d168183028aed46c1826a511

Log:
many improvements in breakpoints
make file breakpoints faster
make exports happen in correct order
make deletes simpler, set flags correctly
fix info vars when no scope is set

Changed paths:
  M  phpdbg.c
  M  phpdbg.h
  M  phpdbg_bp.c
  M  phpdbg_bp.h
  M  phpdbg_info.c

diff --git a/phpdbg.c b/phpdbg.c
index f15e023..bd477e7 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -84,7 +84,7 @@ static PHP_MINIT_FUNCTION(phpdbg) /* {{{ */
 
 static void php_phpdbg_destroy_bp_file(void *brake) /* {{{ */
 {
-   zend_llist_destroy((zend_llist*)brake);
+   zend_hash_destroy((HashTable*)brake);
 } /* }}} */
 
 static void php_phpdbg_destroy_bp_symbol(void *brake) /* {{{ */
@@ -119,7 +119,7 @@ static void php_phpdbg_destroy_bp_condition(void *data) /* 
{{{ */
}
 } /* }}} */
 
-static void php_phpdbg_destroy_registered(void *data)
+static void php_phpdbg_destroy_registered(void *data) /* {{{ */
 {
TSRMLS_FETCH();
 
@@ -127,7 +127,7 @@ static void php_phpdbg_destroy_registered(void *data)
 
destroy_zend_function(
function TSRMLS_CC);
-}
+} /* }}} */
 
 static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
 {
@@ -137,6 +137,8 @@ static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE], 8, NULL, 
php_phpdbg_destroy_bp_opcode, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], 8, NULL, 
php_phpdbg_destroy_bp_methods, 0);
zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_COND], 8, NULL, 
php_phpdbg_destroy_bp_condition, 0);
+   zend_hash_init(PHPDBG_G(bp)[PHPDBG_BREAK_MAP], 8, NULL, NULL, 0);
+   
zend_hash_init(PHPDBG_G(seek), 8, NULL, NULL, 0);
zend_hash_init(PHPDBG_G(registered), 8, NULL, 
php_phpdbg_destroy_registered, 0);
 
@@ -151,6 +153,7 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_OPCODE]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_METHOD]);
zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_COND]);
+   zend_hash_destroy(PHPDBG_G(bp)[PHPDBG_BREAK_MAP]);
zend_hash_destroy(PHPDBG_G(seek));
zend_hash_destroy(PHPDBG_G(registered));
 
diff --git a/phpdbg.h b/phpdbg.h
index b045d85..1d07ee1 100644
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -79,6 +79,10 @@
 #define PHPDBG_FINISH 4
 #define PHPDBG_LEAVE  5
 
+/*
+ BEGIN: DO NOT CHANGE DO NOT CHANGE DO NOT CHANGE
+*/
+
 /* {{{ tables */
 #define PHPDBG_BREAK_FILE   0
 #define PHPDBG_BREAK_SYM1
@@ -86,7 +90,8 @@
 #define PHPDBG_BREAK_METHOD 3
 #define PHPDBG_BREAK_COND   4
 #define PHPDBG_BREAK_OPCODE 5
-#define PHPDBG_BREAK_TABLES 6 /* }}} */
+#define PHPDBG_BREAK_MAP   6
+#define PHPDBG_BREAK_TABLES 7 /* }}} */
 
 /* {{{ flags */
 #define PHPDBG_HAS_FILE_BP  (11)
@@ -97,6 +102,10 @@
 #define PHPDBG_HAS_OPCODE_BP(16)
 #define PHPDBG_BP_MASK  
(PHPDBG_HAS_FILE_BP|PHPDBG_HAS_SYM_BP|PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_OPLINE_BP|PHPDBG_HAS_COND_BP|PHPDBG_HAS_OPCODE_BP)
 
+/*
+ END: DO NOT CHANGE DO NOT CHANGE DO NOT CHANGE
+*/
+
 #define PHPDBG_IN_COND_BP   (17)
 #define PHPDBG_IN_EVAL  (18)
 
@@ -148,7 +157,6 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
zend_op_array *ops;  /* op_array */
zval *retval;/* return value */
int bp_count;/* breakpoint count */
-   int del_bp_num;  /* breakpoint to delete */
int vmret;   /* return from last opcode 
handler execution */
 
FILE *oplog; /* opline log */
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index 75d0918..61c8f74 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -19,7 +19,6 @@
 
 #include zend.h
 #include zend_hash.h
-#include zend_llist.h
 #include phpdbg.h
 #include phpdbg_bp.h
 #include phpdbg_utils.h
@@ -28,14 +27,27 @@
 
 ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
 
-static void phpdbg_llist_breakfile_dtor(void *data) /* {{{ */
+/*
+* Note:
+*  A break point must always set the corect id and type
+*  A set breakpoint function must always map new points
+*/
+static inline _phpdbg_break_mapping(int id, HashTable* table TSRMLS_DC) {
+   zend_hash_index_update(
+   PHPDBG_G(bp)[PHPDBG_BREAK_MAP], (id), (void**) table, 
sizeof(void*), NULL);
+}
+
+#define PHPDBG_BREAK_MAPPING(id, table) _phpdbg_break_mapping(id, table 
TSRMLS_CC)
+#define PHPDBG_BREAK_UNMAPPING(id) \
+   zend_hash_index_del(PHPDBG_G(bp)[PHPDBG_BREAK_MAP], (id))
+
+static void phpdbg_file_breaks_dtor(void *data) /* {{{ */
 {
phpdbg_breakfile_t *bp = (phpdbg_breakfile_t*) 

[PHP-CVS] com php-src: export method breakpoints: phpdbg_bp.c

2013-12-20 Thread Bob Weinand
Commit:ba37fd24bc7e394476d7be11bed244621b5aad22
Author:krakjoe joe.watk...@live.co.uk Mon, 25 Nov 2013 18:16:31 
+
Parents:   3e14ff7cee168c6915883ed5fdd81c1d7f5fa5e7
Branches:  PHP-5.6

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ba37fd24bc7e394476d7be11bed244621b5aad22

Log:
export method breakpoints

Changed paths:
  M  phpdbg_bp.c


Diff:
diff --git a/phpdbg_bp.c b/phpdbg_bp.c
index fb61cf8..182991f 100644
--- a/phpdbg_bp.c
+++ b/phpdbg_bp.c
@@ -89,6 +89,35 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle 
TSRMLS_DC) /* {{{ */
}
}

+   if (PHPDBG_G(flags)  PHPDBG_HAS_METHOD_BP) {
+   HashTable *class;
+   phpdbg_breakmethod_t *brake;
+   HashPosition mposition;
+   zend_bool noted = 0;
+   
+   table = PHPDBG_G(bp)[PHPDBG_BREAK_METHOD];
+   
+   for (zend_hash_internal_pointer_reset_ex(table, position);
+   zend_hash_get_current_data_ex(table, (void**) class, 
position) == SUCCESS;
+   zend_hash_move_forward_ex(table, position)) {
+   noted = 0;
+   
+   for (zend_hash_internal_pointer_reset_ex(class, 
mposition);
+   zend_hash_get_current_data_ex(class, (void**) 
brake, mposition) == SUCCESS;
+   zend_hash_move_forward_ex(class, mposition)) {
+   if (!noted) {
+   phpdbg_notice(
+   Exporting method breakpoints 
in %s (%d), 
+   brake-class_name, 
zend_hash_num_elements(class));
+   noted = 1;
+   }
+   
+   fprintf(
+   handle, break %s::%s\n, 
brake-class_name, brake-func_name);
+   }
+   }
+   }
+   
/* export other types here after resolving errors from source command */

 } /* }}} */


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



  1   2   >