Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
duk_api_logging.c File Reference
#include "duk_internal.h"

Go to the source code of this file.

Functions

DUK_EXTERNAL void duk_log_va (duk_context *ctx, duk_int_t level, const char *fmt, va_list ap)
 
DUK_EXTERNAL void duk_log (duk_context *ctx, duk_int_t level, const char *fmt,...)
 

Function Documentation

◆ duk_log()

DUK_EXTERNAL void duk_log ( duk_context * ctx,
duk_int_t level,
const char * fmt,
... )

Definition at line 44 of file duktape-1.8.0/src-separate/duk_api_logging.c.

44 {
45 va_list ap;
46
48
49 va_start(ap, fmt);
50 duk_log_va(ctx, level, fmt, ap);
51 va_end(ap);
52}
#define DUK_ASSERT_CTX_VALID(ctx)
DUK_EXTERNAL void duk_log_va(duk_context *ctx, duk_int_t level, const char *fmt, va_list ap)

References DUK_ASSERT_CTX_VALID, and duk_log_va().

◆ duk_log_va()

DUK_EXTERNAL void duk_log_va ( duk_context * ctx,
duk_int_t level,
const char * fmt,
va_list ap )

Definition at line 11 of file duktape-1.8.0/src-separate/duk_api_logging.c.

11 {
12 /* stridx_logfunc[] must be static to allow initializer with old compilers like BCC */
13 static const duk_uint16_t stridx_logfunc[6] = {
16 };
17
19
20 if (level < 0) {
21 level = 0;
22 } else if (level > (int) (sizeof(stridx_logfunc) / sizeof(duk_uint16_t)) - 1) {
23 level = (int) (sizeof(stridx_logfunc) / sizeof(duk_uint16_t)) - 1;
24 }
25
28 duk_get_prop_stridx(ctx, -1, stridx_logfunc[level]);
29 duk_dup(ctx, -2);
30
31 /* [ ... Logger clog logfunc clog ] */
32
33 duk_push_vsprintf(ctx, fmt, ap);
34
35 /* [ ... Logger clog logfunc clog(=this) msg ] */
36
37 duk_call_method(ctx, 1 /*nargs*/);
38
39 /* [ ... Logger clog res ] */
40
41 duk_pop_3(ctx);
42}
DUK_INTERNAL_DECL duk_bool_t duk_get_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
#define DUK_BIDX_LOGGER_CONSTRUCTOR
DUK_EXTERNAL void duk_pop_3(duk_context *ctx)
DUK_INTERNAL_DECL void duk_push_hobject_bidx(duk_context *ctx, duk_small_int_t builtin_idx)
DUK_EXTERNAL void duk_dup(duk_context *ctx, duk_idx_t from_index)
DUK_EXTERNAL const char * duk_push_vsprintf(duk_context *ctx, const char *fmt, va_list ap)
DUK_EXTERNAL void duk_call_method(duk_context *ctx, duk_idx_t nargs)

References DUK_ASSERT_CTX_VALID, DUK_BIDX_LOGGER_CONSTRUCTOR, duk_call_method(), duk_dup(), duk_get_prop_stridx(), duk_pop_3(), duk_push_hobject_bidx(), duk_push_vsprintf(), DUK_STRIDX_CLOG, DUK_STRIDX_LC_DEBUG, DUK_STRIDX_LC_ERROR, DUK_STRIDX_LC_FATAL, DUK_STRIDX_LC_INFO, DUK_STRIDX_LC_TRACE, and DUK_STRIDX_LC_WARN.

Referenced by duk_log().