fix logger name handling

svn: r10823
This commit is contained in:
Matthew Flatt 2008-07-17 17:41:05 +00:00
parent a14a6d7272
commit 04af3c8f01
2 changed files with 8 additions and 3 deletions

View File

@ -11,6 +11,8 @@
(test #t log-receiver? (make-log-receiver (current-logger) 'error))
(test #f log-receiver? (current-logger))
(test #f logger-name (make-logger))
(arity-test make-logger 0 2)
; --------------------

View File

@ -608,7 +608,7 @@ void scheme_init_error(Scheme_Env *env)
scheme_add_global_constant("make-logger",
scheme_make_noncm_prim(make_logger,
"make-logger",
1, 2),
0, 2),
env);
scheme_add_global_constant("logger?",
scheme_make_folding_prim(logger_p,
@ -2987,7 +2987,7 @@ make_logger(int argc, Scheme_Object *argv[])
return (Scheme_Object *)make_a_logger(parent,
(argc
? (SCHEME_FALSEP(argv[1]) ? NULL : argv[1])
? (SCHEME_FALSEP(argv[0]) ? NULL : argv[0])
: NULL));
}
@ -3031,10 +3031,13 @@ current_logger(int argc, Scheme_Object *argv[])
static Scheme_Object *
logger_name(int argc, Scheme_Object *argv[])
{
Scheme_Object *name;
if (!SAME_TYPE(SCHEME_TYPE(argv[0]), scheme_logger_type))
scheme_wrong_type("logger-name", "logger", 0, argc, argv);
return ((Scheme_Logger *)argv[0])->name;
name = ((Scheme_Logger *)argv[0])->name;
return (name ? name : scheme_false);
}
static Scheme_Object *