From 9650bc35b4aa4ffc35cf99d0e1db64dda5d801c8 Mon Sep 17 00:00:00 2001 From: gramanas Date: Wed, 8 Jun 2022 13:54:49 +0300 Subject: Move from getopt to foodopts --- src/foodopts.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/foodopts.c') diff --git a/src/foodopts.c b/src/foodopts.c index e69de29..7a4cbbd 100644 --- a/src/foodopts.c +++ b/src/foodopts.c @@ -0,0 +1,33 @@ +#include +#include "foodopts.h" + +int +get_foodopt(int argc, char *const argv[], + const char *optstring, + const struct foodoption *longopts, + int *longindex) +{ + return getopt_long(argc, argv, optstring, + (struct option *)longopts, longindex); +} + +void +foodopt_help(char * argv0, + const struct foodoption *longopts) +{ + fprintf(stderr, "%s [OPTION ...] FILE ...\n", argv0); + fprintf(stderr, "\nOPTIONS:\n"); + + + int i = 0; + while ((longopts[i].name) + && (longopts[i].val)) { + fprintf(stderr, "-%c, --%s%s%s: %s\n", + longopts[i].val, + longopts[i].name, + longopts[i].has_arg == required_argument ? " " : "", + longopts[i].has_arg == required_argument ? longopts[i].arg : "", + longopts[i].help); + i++; + } +} -- cgit v1.2.3