tabulated some data in bin/main.c
This commit is contained in:
parent
28bac46b39
commit
fe019aef1f
91
bin/main.c
91
bin/main.c
@ -435,9 +435,50 @@ static int handle_logopt (hcl_t* hcl, const hcl_bch_t* logstr)
|
|||||||
{
|
{
|
||||||
hcl_bch_t* cm, * flt;
|
hcl_bch_t* cm, * flt;
|
||||||
hcl_bitmask_t logmask;
|
hcl_bitmask_t logmask;
|
||||||
hcl_oow_t tlen;
|
hcl_oow_t tlen, i;
|
||||||
hcl_bcs_t fname;
|
hcl_bcs_t fname;
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
const char* name;
|
||||||
|
int op; /* 0: bitwise-OR, 1: bitwise-AND */
|
||||||
|
hcl_bitmask_t mask;
|
||||||
|
} xtab[] =
|
||||||
|
{
|
||||||
|
{ "", 0, 0 },
|
||||||
|
|
||||||
|
{ "app", 0, HCL_LOG_APP },
|
||||||
|
{ "compiler", 0, HCL_LOG_COMPILER },
|
||||||
|
{ "vm", 0, HCL_LOG_VM },
|
||||||
|
{ "mnemonic", 0, HCL_LOG_MNEMONIC },
|
||||||
|
{ "gc", 0, HCL_LOG_GC },
|
||||||
|
{ "ic", 0, HCL_LOG_IC },
|
||||||
|
{ "primitive", 0, HCL_LOG_PRIMITIVE },
|
||||||
|
|
||||||
|
{ "fatal", 0, HCL_LOG_FATAL },
|
||||||
|
{ "error", 0, HCL_LOG_ERROR },
|
||||||
|
{ "warn", 0, HCL_LOG_WARN },
|
||||||
|
{ "info", 0, HCL_LOG_INFO },
|
||||||
|
{ "debug", 0, HCL_LOG_DEBUG },
|
||||||
|
|
||||||
|
{ "fatal+", 0, HCL_LOG_FATAL },
|
||||||
|
{ "error+", 0, HCL_LOG_FATAL | HCL_LOG_ERROR },
|
||||||
|
{ "warn+", 0, HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN },
|
||||||
|
{ "info+", 0, HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO },
|
||||||
|
{ "debug+", 0, HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG },
|
||||||
|
|
||||||
|
{ "fatal-", 0, HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG },
|
||||||
|
{ "error-", 0, HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG },
|
||||||
|
{ "warn-", 0, HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG },
|
||||||
|
{ "info-", 0, HCL_LOG_INFO | HCL_LOG_DEBUG },
|
||||||
|
{ "debug-", 0, HCL_LOG_DEBUG },
|
||||||
|
|
||||||
|
{ "-fatal", 1, (~HCL_LOG_FATAL & HCL_LOG_ALL_LEVELS) },
|
||||||
|
{ "-error", 1, (~HCL_LOG_ERROR & HCL_LOG_ALL_LEVELS) },
|
||||||
|
{ "-warn", 1, (~HCL_LOG_WARN & HCL_LOG_ALL_LEVELS) },
|
||||||
|
{ "-info", 1, (~HCL_LOG_INFO & HCL_LOG_ALL_LEVELS) }
|
||||||
|
};
|
||||||
|
|
||||||
cm = hcl_find_bchar_in_bcstr(logstr, ',');
|
cm = hcl_find_bchar_in_bcstr(logstr, ',');
|
||||||
if (cm)
|
if (cm)
|
||||||
{
|
{
|
||||||
@ -451,41 +492,19 @@ static int handle_logopt (hcl_t* hcl, const hcl_bch_t* logstr)
|
|||||||
cm = hcl_find_bchar_in_bcstr(flt, ',');
|
cm = hcl_find_bchar_in_bcstr(flt, ',');
|
||||||
tlen = (cm)? (cm - flt): hcl_count_bcstr(flt);
|
tlen = (cm)? (cm - flt): hcl_count_bcstr(flt);
|
||||||
|
|
||||||
if (hcl_comp_bchars_bcstr(flt, tlen, "app") == 0) logmask |= HCL_LOG_APP;
|
for (i = 0; i < HCL_COUNTOF(xtab); i++)
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "compiler") == 0) logmask |= HCL_LOG_COMPILER;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "vm") == 0) logmask |= HCL_LOG_VM;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "mnemonic") == 0) logmask |= HCL_LOG_MNEMONIC;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "gc") == 0) logmask |= HCL_LOG_GC;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "ic") == 0) logmask |= HCL_LOG_IC;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "primitive") == 0) logmask |= HCL_LOG_PRIMITIVE;
|
|
||||||
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "fatal") == 0) logmask |= HCL_LOG_FATAL;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "error") == 0) logmask |= HCL_LOG_ERROR;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "warn") == 0) logmask |= HCL_LOG_WARN;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "info") == 0) logmask |= HCL_LOG_INFO;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "debug") == 0) logmask |= HCL_LOG_DEBUG;
|
|
||||||
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "fatal+") == 0) logmask |= HCL_LOG_FATAL;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "error+") == 0) logmask |= HCL_LOG_FATAL | HCL_LOG_ERROR;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "warn+") == 0) logmask |= HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "info+") == 0) logmask |= HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "debug+") == 0) logmask |= HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG;
|
|
||||||
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "fatal-") == 0) logmask |= HCL_LOG_FATAL | HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "error-") == 0) logmask |= HCL_LOG_ERROR | HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "warn-") == 0) logmask |= HCL_LOG_WARN | HCL_LOG_INFO | HCL_LOG_DEBUG;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "info-") == 0) logmask |= HCL_LOG_INFO | HCL_LOG_DEBUG;
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "debug-") == 0) logmask |= HCL_LOG_DEBUG;
|
|
||||||
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "-fatal") == 0) logmask &= (~HCL_LOG_FATAL & HCL_LOG_ALL_LEVELS);
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "-error") == 0) logmask &= (~HCL_LOG_ERROR & HCL_LOG_ALL_LEVELS);
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "-warn") == 0) logmask &= (~HCL_LOG_WARN & HCL_LOG_ALL_LEVELS);
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "-info") == 0) logmask &= (~HCL_LOG_INFO & HCL_LOG_ALL_LEVELS);
|
|
||||||
else if (hcl_comp_bchars_bcstr(flt, tlen, "-debug") == 0) logmask &= (~HCL_LOG_DEBUG & HCL_LOG_ALL_LEVELS);
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
fprintf (stderr, "ERROR: invalid value - %s\n", logstr);
|
if (hcl_comp_bchars_bcstr(flt, tlen, xtab[i].name) == 0)
|
||||||
|
{
|
||||||
|
if (xtab[i].op) logmask &= xtab[i].mask;
|
||||||
|
else logmask |= xtab[i].mask;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i >= HCL_COUNTOF(xtab))
|
||||||
|
{
|
||||||
|
fprintf (stderr, "ERROR: unrecognized value - [%.*s] - [%s]\n", (int)tlen, flt, logstr);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -501,7 +520,7 @@ static int handle_logopt (hcl_t* hcl, const hcl_bch_t* logstr)
|
|||||||
fname.len = hcl_count_bcstr(logstr);
|
fname.len = hcl_count_bcstr(logstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
fname.ptr = logstr;
|
fname.ptr = (hcl_bch_t*)logstr;
|
||||||
hcl_setoption (hcl, HCL_LOG_TARGET_BCS, &fname);
|
hcl_setoption (hcl, HCL_LOG_TARGET_BCS, &fname);
|
||||||
hcl_setoption (hcl, HCL_LOG_MASK, &logmask);
|
hcl_setoption (hcl, HCL_LOG_MASK, &logmask);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user