作者samuelduan ()
看板EE_DSnP
标题Re: [问题] MSET 指令
时间Wed Nov 22 08:33:13 2006
※ 引述《ric2k1 (Ric)》之铭言:
: ※ 引述《geneliu (^^)》之铭言:
: : 输入 mset 3 5 7 是不是应该会被检查出 CMD_OPT_EXTRA @@?
: : 因为我用老师的测试程式执行 mset 3 5 7 之後
: : 似乎就把 3 吃进去了...
: 搞笑了... 居然把 "else if" 括错地方...
: In cmdParser.cpp ---
: bool
: CmdExec::lexSingleOption
: (const string& option, string& token, bool optional) const
: {
: size_t n = myStrGetTok(option, token);
: if (!optional) {
: if (token.size() == 0) {
: errorOption(CMD_OPT_MISSING, "");
: return false;
: }
: else if (n != string::npos) {
: errorOption(CMD_OPT_EXTRA, option.substr(n));
: return false;
: } // 这个括弧放错了.... orz
: }
: return true;
: }
这样改了之後 如果我以下面的方式执行
e.g
mcalc> help help 3 5 7
Usage: HELp [(string cmd)]
它就不会去管後面的部份是否全部正确 而会照常执行
其他使用到 lexSingleOption 的好像都会有同样的情形
我记得还没改之前 似乎都可侦测的到 ...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.223.18