Re: [PATCH 05/23] fsmonitor--daemon: add a built-in fsmonitor daemon
From: Derrick Stolee <hidden>
Date: 2021-04-26 15:45:36
On 4/26/21 11:08 AM, Derrick Stolee wrote:
On 4/1/21 11:40 AM, Jeff Hostetler via GitGitGadget wrote:> +#ifdef HAVE_FSMONITOR_DAEMON_BACKEND I think these compile-time macros should be replaced with a method call, as I've said before. It should be simple to say if (!fsmonitor_ipc__is_supported()) die(_("fsmonitor--daemon is not supported on this platform")); and call it a day. This can be done before parsing arguments.quoted
+int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix) +{ + enum daemon_mode { + UNDEFINED_MODE, + } mode = UNDEFINED_MODE; + + struct option options[] = { + OPT_END() + };I can see where you are going here, to use the parse-opts API to get your "--<verb>" arguments to populate an 'enum'. However, it seems like you will run into the problem where a user enters multiple such arguments and you lose the information as the parser overwrites 'mode' here.
I see that you use OPT_CMDMODE in your implementation, which makes this concern invalid.
Better to use a positional argument and drop the "--" prefix, in my opinion.
This is my personal taste, but the technical reason to do this doesn't exist. Thanks, -Stolee