main
由 364 至 389 , 设置交互终端的一些信息,如提示符类型和这段设备状态等.
代码如下:
main的代码
// clien/mysql.cc
int main(int argc,char *argv[])
{
char buff[80];
MY_INIT(argv[0]); // 初始话化THR_KEY_mysys指向的线程环境,并初始化一些互斥量和锁.
DBUG_ENTER("main");
DBUG_PROCESS(argv[0]);
#pragma region SET_TERMINAL //设置交互终端的状态.
delimiter_str= delimiter;
default_prompt = my_strdup(getenv("MYSQL_PS1") ?
getenv("MYSQL_PS1") :
"mysql> ",MYF(MY_WME));
current_prompt = my_strdup(default_prompt,MYF(MY_WME));
prompt_counter=0;
outfile[0]=0; // no (default) outfile
strmov(pager, "stdout"); // the default, if --pager wasn't given
{
char *tmp=getenv("PAGER");
if (tmp && strlen(tmp))
{
default_pager_set= 1;
strmov(default_pager, tmp);
}
}
if (!isatty(0) || !isatty(1))
{
status.batch=1; opt_silent=1;
ignore_errors=0;
}
else
status.add_to_history=1;
status.exit_status=1;
#pragma endregion SET_TERMINAL
...
}
没有评论:
发表评论