message: Fix setting string parameter with dot from command-line
diff: @@ -862,12 +862,14 @@ Value* ExprBuilder::fromString(const std::string& value) {
  break;
  }
  }
  - } else if (strstr(value_ptr, ".")) {
  - long double v = std::strtold(value_ptr, 0);
  + } else {
  + long double v = std::strtold(value_ptr, &end_parse_ptr);
  + if (value_ptr != end_parse_ptr && strstr(value_ptr, ".")) {
  val = m_valueFactory.newLValue();
  val->set((double) v);
  - } else if (value.size() && value[0] == '-') {
  - int64_t v = std::strtoll(value_ptr, 0, 10);
  + } else {
  + int64_t v = std::strtoll(value_ptr, &end_parse_ptr, 10);
  + if (value_ptr != end_parse_ptr && value.size() && value[0] == '-') {
  val = m_valueFactory.newLValue();
  val->set(v);
  } else {
  @@ -880,6 +882,8 @@ Value* ExprBuilder::fromString(const std::string& value) {
  val->set(value);
  }
  }
  + }
  + }
  return val;
  }
  