On Fri, Jun 17, 2022 at 04:53:41PM -0400, Wietse Venema wrote:
> Viktor Dukhovni:
> > Also, your parsing of the search_keys is hand-rolled, but should be
> > using mystrtok(3) to split the list on commas/whitespace, and
> > split_nameval(3) to split "key = value" pairs on "=". 
> 
> If the result may contain quoted strings, then we need a smarter
> parser than wnat mystrtok() does now.

If multiple search columns are to be supported, with a mixture of
strings and numeric values, .... Perhaps the search filter should remain
a JSON object:

    query_filter = {user:"%s", active:1}

without support for:

    search_keys = user:"%s", active:1

there's hardly much value in splitting these, and performing separate
substitutions only add missing "{" and "}" front and back.  The real
value is multiple result attributes which are simple names:

    result_attribute = foo, bar, ...

The key missing code is correct JSON quoting in expansion "%s".

-- 
    Viktor.

Reply via email to