Here is a diff to remove the dubious example and fix one gramatical issue.
Index: fuse_opt.3
===================================================================
RCS file: /cvs/src/lib/libfuse/fuse_opt.3,v
retrieving revision 1.2
diff -u -p -u -r1.2 fuse_opt.3
--- fuse_opt.3 8 Jul 2018 06:17:10 -0000 1.2
+++ fuse_opt.3 30 Nov 2018 13:05:22 -0000
@@ -224,7 +224,7 @@ automatically depending on the format of
If
.Fa proc
is not NULL, then this is called for any argument that matches a template
-with that has
+that has
.Fa val
= FUSE_OPT_KEY.
.Fa opts
@@ -272,47 +272,6 @@ return 0 on success, -1 on error.
.Pp
.Fn fuse_opt_match
returns 1 on match, 0 if no match.
-.Sh EXAMPLES
-.Bd -literal -offset indent
-struct foo_config {
- char *foor;
- int bar;
-};
-
-#define FOO_OPT(t, m) {t, offsetof(struct foo_config, m), 1}
-
-struct fuse_opt opts[] {
- FUSE_OPT_KEY("--foo ", KEY_FOO),
- FOO_OPT("-b", bar),
- FOO_OPT("gid=", set_gid), /* set to 1 if present */
- FOO_OPT("gid=%u", gid), /* set to parsed value of %u */
- FUSE_OPT_END
-}
-
-int
-foo_process_proc(void *data, int key, char *val, struct fuse_args *args)
-{
- foo_cofig *conf = data;
-
- switch(key)
- {
- case KEY_FOO:
- /* Do something... */
- conf.foo = val;
- return (0); /* discard */
- }
-
- /* didn't process so keep the option */
- return (1);
-}
-
-int
-main(int argc, char *argv[])
-{
- struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
-
- if (fuse_opt_parse(opts, config, foo_process_proc) != 0) {
- ...
.Ed
.Sh ERRORS
.Fn fuse_opt_add_arg ,