+ val = parse_unquoted(str);
+ }
+
+ if (required && !val) {
+ ctx->pctx->byte = *str - ctx->pctx->buf;
+ UCI_THROW(ctx, UCI_ERR_PARSE);
+ }
+
+ return val;
+}
+
+static void assert_eol(struct uci_context *ctx, char **str)
+{
+ char *tmp;
+
+ tmp = next_arg(ctx, str, false);
+ if (tmp) {
+ ctx->pctx->byte = tmp - ctx->pctx->buf;
+ UCI_THROW(ctx, UCI_ERR_PARSE);