summaryrefslogtreecommitdiff
path: root/debug.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-14 05:34:04 (GMT)
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-14 05:34:04 (GMT)
commit6866bce75736c176aba9788dd90cc344a57754ee (patch)
tree5d7c6070f6d6abb28fb8d21e9579cdf6dcfbd229 /debug.c
parent6be73862186f958638776b7b8545f26f7010f97b (diff)
* compile.c, compile.h (compile_debug): made runtime option.
* debug.c (ruby_debug_print_indent): returns if debug_level exceeds the threashold. * debug.c (ruby_debug_printf): printf to stderr. * iseq.c (make_compile_option, make_compile_option_value): added debug_level option. * vm_core.h (rb_compile_option_t): added debug_level. * vm_core.h (struct iseq_compile_data): added node_level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'debug.c')
-rw-r--r--debug.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/debug.c b/debug.c
index be90698..1bcd095 100644
--- a/debug.c
+++ b/debug.c
@@ -67,13 +67,24 @@ static const union {
const VALUE RUBY_FL_USER20 = FL_USER20;
-void
+int
ruby_debug_print_indent(int level, int debug_level, int indent_level)
{
if (level < debug_level) {
fprintf(stderr, "%*s", indent_level, "");
fflush(stderr);
+ return Qtrue;
}
+ return Qfalse;
+}
+
+void
+ruby_debug_printf(const char *format, ...)
+{
+ va_list ap;
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
}
VALUE