On Fri, Jul 02, 2021 at 07:58:08PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Add proper argument parsing to the funshare command so that when you > pass it nonexistent --help it will print the help instead of complaining > that it can't convert that to a number. Looks ok to me despite the space/tab thing already mentioned by hch. Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > io/prealloc.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > > > diff --git a/io/prealloc.c b/io/prealloc.c > index 2ae8afe9..94cf326f 100644 > --- a/io/prealloc.c > +++ b/io/prealloc.c > @@ -346,16 +346,24 @@ funshare_f( > char **argv) > { > xfs_flock64_t segment; > + int c; > int mode = FALLOC_FL_UNSHARE_RANGE; > - int index = 1; > > - if (!offset_length(argv[index], argv[index + 1], &segment)) { > + while ((c = getopt(argc, argv, "")) != EOF) { > + switch (c) { > + default: > + command_usage(&funshare_cmd); > + } > + } > + if (optind != argc - 2) > + return command_usage(&funshare_cmd); > + > + if (!offset_length(argv[optind], argv[optind + 1], &segment)) { > exitcode = 1; > return 0; > } > > - if (fallocate(file->fd, mode, > - segment.l_start, segment.l_len)) { > + if (fallocate(file->fd, mode, segment.l_start, segment.l_len)) { > perror("fallocate"); > exitcode = 1; > return 0; > -- Carlos