diff --git a/third_party/a8/a8/lisp.cc b/third_party/a8/a8/lisp.cc index d86e3d4..842ab87 100644 --- a/third_party/a8/a8/lisp.cc +++ b/third_party/a8/a8/lisp.cc @@ -150,7 +150,7 @@ namespace a8 if (params->size() > 0) { result = std::any_cast(params->at(0)->value).val; if (params->size() > 1) { - for (int i = 1; i < params->size(); ++i) { + for (size_t i = 1; i < params->size(); ++i) { auto& param = params->at(i); Atom&& atom = std::any_cast(param->value); result /= atom.val; @@ -229,13 +229,13 @@ namespace a8 */ int Expr::GetToken(const std::string& script, int& pos, std::string& token) { - if (pos >= script.size()) { + if ((size_t)pos >= script.size()) { return -1; } - while (pos < script.size() && isspace(script[pos])) { + while ((size_t)pos < script.size() && isspace(script.at((size_t)pos))) { ++pos; } - if (pos >= script.size()) { + if ((size_t)pos >= script.size()) { return -1; } if (script[pos] == '(') { @@ -248,10 +248,10 @@ namespace a8 token = ")"; return 1; } - while (pos < script.size() && + while ((size_t)pos < script.size() && !isspace(script[pos]) && - script[pos] != ')' && - script[pos] != '(') { + script[(size_t)pos] != ')' && + script[(size_t)pos] != '(') { token += script[pos]; ++pos; }