mirror of
https://github.com/RubyMetric/chsrc
synced 2025-09-08 07:34:42 +08:00
DEBUG 模式下运行所有 prelude
This commit is contained in:
parent
e7aae2808d
commit
4237e8272a
@ -505,6 +505,36 @@ iterate_menu (XySeq_t *menu, const char *input, Target_t **target)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
callback_perform_all_prelude_for_menu (void *data, void *NOUSE)
|
||||
{
|
||||
Target_t *target = (Target_t *) data;
|
||||
|
||||
if (!target->preludefn)
|
||||
{
|
||||
chef_debug_target (target);
|
||||
chsrc_panic ("未定义 _prelude() !");
|
||||
}
|
||||
|
||||
target->preludefn();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 用于检查所有 _prelude() 是否能正常工作
|
||||
*
|
||||
* 为了防止 DEBUG 模式下运行流程和普通模式下运行流程不一样,我们只在 Get, Set, Reset
|
||||
* 之后才运行该函数
|
||||
*/
|
||||
void
|
||||
chsrc_perform_all_prelude ()
|
||||
{
|
||||
chsrc_debug ("prelude", "DEBUG模式下, 额外检查所有 _prelude() 是否能正常工作");
|
||||
xy_seq_each (ProgStore.pl, callback_perform_all_prelude_for_menu, NULL);
|
||||
xy_seq_each (ProgStore.os, callback_perform_all_prelude_for_menu, NULL);
|
||||
xy_seq_each (ProgStore.wr, callback_perform_all_prelude_for_menu, NULL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 在必要的时期,最后告诉用户一些信息
|
||||
*/
|
||||
@ -618,7 +648,10 @@ get_target (const char *input, TargetOp code, char *option)
|
||||
chsrc_op_epilogue ();
|
||||
}
|
||||
|
||||
#ifdef XY_DEBUG
|
||||
chef_debug_target (target);
|
||||
chsrc_perform_all_prelude ();
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user