last_space==1
ch==' '||ch=='\t'||ch==CR||ch==LF
continue
start = b->pos - 1
ch==';'
retrun NGX_OK
ch=='#'
comment=1
continue;
ch=='{'
return NGX_CONF_BLOCK_START
ch=='}'
return NGX_CONF_BLOCK_DONE
ch=='\\'
quoted=1
last_space=0
continue
ch=='\''
start++
s_quoted=1
last_space=0
continue
ch=='"'
start++
last_space=0
continue
default
此处读取到配置项第一个字符
last_space=0
last_space==0
ch=='{'&&variable==1
continue
variable = 0
ch=='\\'
quoted=1
continue
ch=='$'
variable=1
continue
d_quoted==1&&ch=='"'
d_quoted=0
need_space=1
found=1
s_quoted==1&&ch=='\''
s_quoted=0
need_space=1
found=1
ch == ' ' || ch == '\t' || ch == CR || ch == LF || ch == ';' || ch == '{'
<div>空格、制表符、回车、换行,为读取配置中的一项</div><div>分号为读取到完整的配置</div><div>大括号为读取到配置块</div>
last_space=1
found=1
found==1
从cf->args数组中取一个ngx_str_t存储数据
根据start和b->pos确定数据存储长度
ch=='{'
return NGX_CONF_BLOCK_START
found=0