Commit 69f28f43 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

allow unary lists

parent 96827cd9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ scale-y-max: 200;
lines {
  xs: csv('tests/testdata/measurement.csv', time);
  ys: csv('tests/testdata/measurement.csv', value2);
  colors: #06c, #c06;
  colors: #06c;
}

axis {
+22 −10
Original line number Diff line number Diff line
@@ -48,10 +48,9 @@ ReturnCode parseEnum(
template <typename T>
ParserFn configure_vec(ParseToFn<T> parser, std::vector<T>* values) {
  return [parser, values] (const plist::Property& prop) -> ReturnCode {
    if (!plist::is_list(prop)) {
      return ERROR;
    }
    switch (plist::is_list(prop)) {

      case true: {
        for (const auto& cld : *prop.next) {
          T val;
          if (auto rc = parser(cld, &val); !rc) {
@@ -62,6 +61,19 @@ ParserFn configure_vec(ParseToFn<T> parser, std::vector<T>* values) {
        }

        return OK;
      }

      case false: {
        T val;
        if (auto rc = parser(prop, &val); !rc) {
          return rc;
        }

        values->emplace_back(val);
        return OK;
      }

    }
  };
}