The fuse_opt_match(3) library function does not match options correctly.
authorhelg <helg@openbsd.org>
Mon, 11 Dec 2017 12:01:55 +0000 (12:01 +0000)
committerhelg <helg@openbsd.org>
Mon, 11 Dec 2017 12:01:55 +0000 (12:01 +0000)
commit6037617499b7e181afcd03466025f595471d91de
treedf65e63cd2e1ff34f87e48defce8df9a4cb21a8a
parent3f70af6ec60969b5c21db1954d0680ea3f1599f5
The fuse_opt_match(3) library function does not match options correctly.
libfuse supports option templates of the following form that can be used
to automatically parse arguments supplied on the command line.

"-p "       argument that takes an option e.g -p 22 or -p22
"-p %x"     argument that takes an option parsed like sscanf(3)
"cache=yes" matches -ocache=yes or -o cache=yes
"cache=%s"  matches -ocache=<string> or -o cache=<string>
"cache="    matches same as above but value is passed to option proc
"noatime"   matches -onoatime or -o atime

For example, it does not match options of the form "-p 22" or
"cache=yes" to the corresponding templates "-p " and "cache=yes".  This
patch fixes that and updates the regression tests accordingly.

ok mpi@
lib/libfuse/fuse_opt.c
regress/lib/libfuse/fuse-opt-match.c