max parse len
[protos/libecoli.git] / lib / ecoli_node_str.c
index 62ec788..85a4046 100644 (file)
@@ -55,7 +55,7 @@ ec_node_str_parse(const struct ec_node *gen_node,
 
        (void)state;
 
-       if (ec_strvec_len(strvec) == 0)
+       if (ec_strvec_len(strvec) != 1)
                return EC_PARSED_NOMATCH;
 
        str = ec_strvec_val(strvec, 0);
@@ -117,10 +117,17 @@ static void ec_node_str_free_priv(struct ec_node *gen_node)
        ec_free(node->string);
 }
 
+static size_t ec_node_str_get_max_parse_len(const struct ec_node *gen_node)
+{
+       (void)gen_node;
+       return 1;
+}
+
 static struct ec_node_type ec_node_str_type = {
        .name = "str",
        .parse = ec_node_str_parse,
        .complete = ec_node_str_complete,
+       .get_max_parse_len = ec_node_str_get_max_parse_len,
        .desc = ec_node_str_desc,
        .size = sizeof(struct ec_node_str),
        .free_priv = ec_node_str_free_priv,