21#define FIX_UNUSED(X) (void) (X)
27const char *gengetopt_args_info_purpose =
"Takes a MetaData file and maps all StuntDoubles back to the periodic box.\nWill optionally replicate the system in the three box directions, or \ntranslate every object in the box and before writing out a new MetaData file.\n\nExample:\n omd2omd -i lipidSystem.omd -o bigLipidSystem.omd -x 2 -y 2 -z 1 -v 35.0";
29const char *gengetopt_args_info_usage =
"Usage: omd2omd [OPTION]... [FILE]...";
31const char *gengetopt_args_info_versiontext =
"";
33const char *gengetopt_args_info_description =
"";
35const char *gengetopt_args_info_help[] = {
36 " -h, --help Print help and exit",
37 " -V, --version Print version and exit",
38 " -i, --input=filename use specified input (.omd, .dump, .eor) file\n (mandatory)",
39 " -o, --output=filename use specified output file (mandatory)",
40 " -x, --repeatX=INT make the system repeat in the x direction\n (default=`1')",
41 " -y, --repeatY=INT make the system repeat in the y direction\n (default=`1')",
42 " -z, --repeatZ=INT make the system repeat in the z direction\n (default=`1')",
43 " -t, --translateX=DOUBLE translate all x coordinates by some amount\n (default=`0.0')",
44 " -u, --translateY=DOUBLE translate all y coordinates by some amount\n (default=`0.0')",
45 " -v, --translateZ=DOUBLE translate all z coordinates by some amount\n (default=`0.0')",
46 " -p, --rotatePhi=DOUBLE rotate all coordinates Euler angle Phi\n (default=`0.0')",
47 " -q, --rotateTheta=DOUBLE rotate all coordinates Euler angle Theta\n (default=`0.0')",
48 " -r, --rotatePsi=DOUBLE rotate all coordinates Euler angle Psi\n (default=`0.0')",
49 " -m, --repairMolecules=INT rewrap molecules around the molecular center of\n mass (default=`1')",
57} cmdline_parser_arg_type;
69cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error);
72gengetopt_strdup (
const char *s);
96 FIX_UNUSED (args_info);
129 args_info->
help_help = gengetopt_args_info_help[0] ;
131 args_info->
input_help = gengetopt_args_info_help[2] ;
132 args_info->
output_help = gengetopt_args_info_help[3] ;
147cmdline_parser_print_version (
void)
153 if (strlen(gengetopt_args_info_versiontext) > 0)
154 printf(
"\n%s\n", gengetopt_args_info_versiontext);
157static void print_help_common(
void)
159 size_t len_purpose = strlen(gengetopt_args_info_purpose);
160 size_t len_usage = strlen(gengetopt_args_info_usage);
163 printf(
"%s\n", gengetopt_args_info_usage);
165 if (len_purpose > 0) {
166 printf(
"%s\n", gengetopt_args_info_purpose);
169 if (len_usage || len_purpose) {
173 if (strlen(gengetopt_args_info_description) > 0) {
174 printf(
"%s\n\n", gengetopt_args_info_description);
179cmdline_parser_print_help (
void)
183 while (gengetopt_args_info_help[i])
184 printf(
"%s\n", gengetopt_args_info_help[i++]);
190 clear_given (args_info);
191 clear_args (args_info);
192 init_args_info (args_info);
221free_string_field (
char **s)
235 free_string_field (&(args_info->
input_arg));
252 free (args_info->
inputs [i]);
257 clear_given (args_info);
262write_into_file(FILE *outfile,
const char *opt,
const char *arg,
const char *values[])
266 fprintf(outfile,
"%s=\"%s\"\n", opt, arg);
268 fprintf(outfile,
"%s\n", opt);
285 write_into_file(outfile,
"help", 0, 0 );
287 write_into_file(outfile,
"version", 0, 0 );
289 write_into_file(outfile,
"input", args_info->
input_orig, 0);
291 write_into_file(outfile,
"output", args_info->
output_orig, 0);
293 write_into_file(outfile,
"repeatX", args_info->
repeatX_orig, 0);
295 write_into_file(outfile,
"repeatY", args_info->
repeatY_orig, 0);
297 write_into_file(outfile,
"repeatZ", args_info->
repeatZ_orig, 0);
305 write_into_file(outfile,
"rotatePhi", args_info->
rotatePhi_orig, 0);
309 write_into_file(outfile,
"rotatePsi", args_info->
rotatePsi_orig, 0);
324 outfile = fopen(filename,
"w");
341 cmdline_parser_release (args_info);
346gengetopt_strdup (
const char *s)
352 result = (
char*)malloc(strlen(s) + 1);
353 if (result == (
char*)0)
370 result = cmdline_parser_internal (argc, argv, args_info, params, 0);
387 result = cmdline_parser_internal (argc, argv, args_info, ¶ms, 0);
395 int result = EXIT_SUCCESS;
397 if (cmdline_parser_required2(args_info, prog_name, 0) > 0)
398 result = EXIT_FAILURE;
404cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error)
406 int error_occurred = 0;
407 FIX_UNUSED (additional_error);
412 fprintf (stderr,
"%s: '--input' ('-i') option required%s\n", prog_name, (additional_error ? additional_error :
""));
418 fprintf (stderr,
"%s: '--output' ('-o') option required%s\n", prog_name, (additional_error ? additional_error :
""));
425 return error_occurred;
483#ifndef required_argument
484#define required_argument 1
487#ifndef optional_argument
488#define optional_argument 2
491struct custom_getopt_data {
533static char *custom_optarg;
550static int custom_optind = 1;
556static int custom_opterr = 1;
562static int custom_optopt =
'?';
572static void exchange(
char **argv,
struct custom_getopt_data *d)
574 int bottom = d->first_nonopt;
575 int middle = d->last_nonopt;
576 int top = d->custom_optind;
585 while (top > middle && middle > bottom) {
586 if (top - middle > middle - bottom) {
588 int len = middle - bottom;
592 for (i = 0; i < len; i++) {
593 tem = argv[bottom + i];
595 argv[top - (middle - bottom) + i];
596 argv[top - (middle - bottom) + i] = tem;
602 int len = top - middle;
606 for (i = 0; i < len; i++) {
607 tem = argv[bottom + i];
608 argv[bottom + i] = argv[middle + i];
609 argv[middle + i] = tem;
616 d->first_nonopt += (d->custom_optind - d->last_nonopt);
617 d->last_nonopt = d->custom_optind;
621static void custom_getopt_initialize(
struct custom_getopt_data *d)
628 d->first_nonopt = d->last_nonopt = d->custom_optind;
633#define NONOPTION_P (argv[d->custom_optind][0] != '-' || argv[d->custom_optind][1] == '\0')
636static int shuffle_argv(
int argc,
char *
const *argv,
const struct option *longopts,
637 struct custom_getopt_data *d)
643 if (d->last_nonopt > d->custom_optind)
644 d->last_nonopt = d->custom_optind;
645 if (d->first_nonopt > d->custom_optind)
646 d->first_nonopt = d->custom_optind;
651 if (d->first_nonopt != d->last_nonopt &&
652 d->last_nonopt != d->custom_optind)
653 exchange((
char **) argv, d);
654 else if (d->last_nonopt != d->custom_optind)
655 d->first_nonopt = d->custom_optind;
660 while (d->custom_optind < argc && NONOPTION_P)
662 d->last_nonopt = d->custom_optind;
668 if (d->custom_optind != argc && !strcmp(argv[d->custom_optind],
"--")) {
670 if (d->first_nonopt != d->last_nonopt
671 && d->last_nonopt != d->custom_optind)
672 exchange((
char **) argv, d);
673 else if (d->first_nonopt == d->last_nonopt)
674 d->first_nonopt = d->custom_optind;
675 d->last_nonopt = argc;
676 d->custom_optind = argc;
682 if (d->custom_optind == argc) {
687 if (d->first_nonopt != d->last_nonopt)
688 d->custom_optind = d->first_nonopt;
696 d->custom_optarg = argv[d->custom_optind++];
703 d->nextchar = (argv[d->custom_optind] + 1 + (longopts != NULL && argv[d->custom_optind][1] ==
'-'));
717static int check_long_opt(
int argc,
char *
const *argv,
const char *optstring,
718 const struct option *longopts,
int *longind,
719 int print_errors,
struct custom_getopt_data *d)
722 const struct option *p;
723 const struct option *pfound = NULL;
729 for (nameend = d->nextchar; *nameend && *nameend !=
'='; nameend++)
733 for (p = longopts, option_index = 0; p->name; p++, option_index++)
734 if (!strncmp(p->name, d->nextchar, nameend - d->nextchar)) {
735 if ((
unsigned int) (nameend - d->nextchar)
736 == (
unsigned int) strlen(p->name)) {
739 indfound = option_index;
742 }
else if (pfound == NULL) {
745 indfound = option_index;
746 }
else if (pfound->has_arg != p->has_arg
747 || pfound->flag != p->flag
748 || pfound->val != p->val)
752 if (ambig && !exact) {
755 "%s: option `%s' is ambiguous\n",
756 argv[0], argv[d->custom_optind]);
758 d->nextchar += strlen(d->nextchar);
760 d->custom_optopt = 0;
764 option_index = indfound;
767 if (pfound->has_arg != no_argument)
768 d->custom_optarg = nameend + 1;
771 if (argv[d->custom_optind - 1][1] ==
'-') {
773 fprintf(stderr,
"%s: option `--%s' doesn't allow an argument\n",
774 argv[0], pfound->name);
777 fprintf(stderr,
"%s: option `%c%s' doesn't allow an argument\n",
778 argv[0], argv[d->custom_optind - 1][0], pfound->name);
782 d->nextchar += strlen(d->nextchar);
783 d->custom_optopt = pfound->val;
786 }
else if (pfound->has_arg == required_argument) {
787 if (d->custom_optind < argc)
788 d->custom_optarg = argv[d->custom_optind++];
792 "%s: option `%s' requires an argument\n",
794 argv[d->custom_optind - 1]);
796 d->nextchar += strlen(d->nextchar);
797 d->custom_optopt = pfound->val;
798 return optstring[0] ==
':' ?
':' :
'?';
801 d->nextchar += strlen(d->nextchar);
803 *longind = option_index;
805 *(pfound->flag) = pfound->val;
816 if (argv[d->custom_optind][1] ==
'-') {
819 "%s: unrecognized option `--%s'\n",
820 argv[0], d->nextchar);
824 "%s: unrecognized option `%c%s'\n",
825 argv[0], argv[d->custom_optind][0],
829 d->nextchar = (
char *)
"";
831 d->custom_optopt = 0;
835static int check_short_opt(
int argc,
char *
const *argv,
const char *optstring,
836 int print_errors,
struct custom_getopt_data *d)
838 char c = *d->nextchar++;
839 const char *temp = strchr(optstring, c);
842 if (*d->nextchar ==
'\0')
844 if (!temp || c ==
':') {
846 fprintf(stderr,
"%s: invalid option -- %c\n", argv[0], c);
848 d->custom_optopt = c;
851 if (temp[1] ==
':') {
852 if (temp[2] ==
':') {
854 if (*d->nextchar !=
'\0') {
855 d->custom_optarg = d->nextchar;
858 d->custom_optarg = NULL;
862 if (*d->nextchar !=
'\0') {
863 d->custom_optarg = d->nextchar;
870 }
else if (d->custom_optind == argc) {
873 "%s: option requires an argument -- %c\n",
876 d->custom_optopt = c;
877 if (optstring[0] ==
':')
887 d->custom_optarg = argv[d->custom_optind++];
964static int getopt_internal_r(
int argc,
char *
const *argv,
const char *optstring,
965 const struct option *longopts,
int *longind,
966 struct custom_getopt_data *d)
968 int ret, print_errors = d->custom_opterr;
970 if (optstring[0] ==
':')
974 d->custom_optarg = NULL;
980 if (d->custom_optind == 0 || !d->initialized) {
981 if (d->custom_optind == 0)
982 d->custom_optind = 1;
983 custom_getopt_initialize(d);
985 if (d->nextchar == NULL || *d->nextchar ==
'\0') {
986 ret = shuffle_argv(argc, argv, longopts, d);
990 if (longopts && (argv[d->custom_optind][1] ==
'-' ))
991 return check_long_opt(argc, argv, optstring, longopts,
992 longind, print_errors, d);
993 return check_short_opt(argc, argv, optstring, print_errors, d);
996static int custom_getopt_internal(
int argc,
char *
const *argv,
const char *optstring,
997 const struct option *longopts,
int *longind)
1001 static struct custom_getopt_data d;
1003 d.custom_optind = custom_optind;
1004 d.custom_opterr = custom_opterr;
1005 result = getopt_internal_r(argc, argv, optstring, longopts,
1007 custom_optind = d.custom_optind;
1008 custom_optarg = d.custom_optarg;
1009 custom_optopt = d.custom_optopt;
1013static int custom_getopt_long (
int argc,
char *
const *argv,
const char *options,
1014 const struct option *long_options,
int *opt_index)
1016 return custom_getopt_internal(argc, argv, options, long_options,
1021static char *package_name = 0;
1042int update_arg(
void *field,
char **orig_field,
1043 unsigned int *field_given,
unsigned int *prev_given,
1044 char *value,
const char *possible_values[],
1045 const char *default_value,
1046 cmdline_parser_arg_type arg_type,
1047 int check_ambiguity,
int override,
1048 int no_free,
int multiple_option,
1049 const char *long_opt,
char short_opt,
1050 const char *additional_error)
1052 char *stop_char = 0;
1053 const char *val = value;
1055 char **string_field;
1061 if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given)))
1063 if (short_opt !=
'-')
1064 fprintf (stderr,
"%s: `--%s' (`-%c') option given more than once%s\n",
1065 package_name, long_opt, short_opt,
1066 (additional_error ? additional_error :
""));
1068 fprintf (stderr,
"%s: `--%s' option given more than once%s\n",
1069 package_name, long_opt,
1070 (additional_error ? additional_error :
""));
1074 FIX_UNUSED (default_value);
1076 if (field_given && *field_given && !
override)
1082 if (possible_values)
1083 val = possible_values[found];
1087 if (val) *((
int *)field) = strtol (val, &stop_char, 0);
1090 if (val) *((
double *)field) = strtod (val, &stop_char);
1094 string_field = (
char **)field;
1095 if (!no_free && *string_field)
1096 free (*string_field);
1097 *string_field = gengetopt_strdup (val);
1108 if (val && !(stop_char && *stop_char ==
'\0')) {
1109 fprintf(stderr,
"%s: invalid numeric value: %s\n", package_name, val);
1122 if (value && orig_field) {
1124 *orig_field = value;
1128 *orig_field = gengetopt_strdup (value);
1138cmdline_parser_internal (
1144 int error_occurred = 0;
1150 int check_ambiguity;
1157 package_name = argv[0];
1161 FIX_UNUSED(
override);
1168 FIX_UNUSED(check_ambiguity);
1182 int option_index = 0;
1184 static struct option long_options[] = {
1185 {
"help", 0, NULL,
'h' },
1186 {
"version", 0, NULL,
'V' },
1187 {
"input", 1, NULL,
'i' },
1188 {
"output", 1, NULL,
'o' },
1189 {
"repeatX", 1, NULL,
'x' },
1190 {
"repeatY", 1, NULL,
'y' },
1191 {
"repeatZ", 1, NULL,
'z' },
1192 {
"translateX", 1, NULL,
't' },
1193 {
"translateY", 1, NULL,
'u' },
1194 {
"translateZ", 1, NULL,
'v' },
1195 {
"rotatePhi", 1, NULL,
'p' },
1196 {
"rotateTheta", 1, NULL,
'q' },
1197 {
"rotatePsi", 1, NULL,
'r' },
1198 {
"repairMolecules", 1, NULL,
'm' },
1202 custom_optarg = optarg;
1203 custom_optind = optind;
1204 custom_opterr = opterr;
1205 custom_optopt = optopt;
1207 c = custom_getopt_long (argc, argv,
"hVi:o:x:y:z:t:u:v:p:q:r:m:", long_options, &option_index);
1209 optarg = custom_optarg;
1210 optind = custom_optind;
1211 opterr = custom_opterr;
1212 optopt = custom_optopt;
1219 cmdline_parser_print_help ();
1220 cmdline_parser_free (&local_args_info);
1221 exit (EXIT_SUCCESS);
1224 cmdline_parser_print_version ();
1225 cmdline_parser_free (&local_args_info);
1226 exit (EXIT_SUCCESS);
1231 if (update_arg( (
void *)&(args_info->
input_arg),
1233 &(local_args_info.input_given), optarg, 0, 0, ARG_STRING,
1234 check_ambiguity,
override, 0, 0,
1243 if (update_arg( (
void *)&(args_info->
output_arg),
1245 &(local_args_info.output_given), optarg, 0, 0, ARG_STRING,
1246 check_ambiguity,
override, 0, 0,
1255 if (update_arg( (
void *)&(args_info->
repeatX_arg),
1257 &(local_args_info.repeatX_given), optarg, 0,
"1", ARG_INT,
1258 check_ambiguity,
override, 0, 0,
1267 if (update_arg( (
void *)&(args_info->
repeatY_arg),
1269 &(local_args_info.repeatY_given), optarg, 0,
"1", ARG_INT,
1270 check_ambiguity,
override, 0, 0,
1279 if (update_arg( (
void *)&(args_info->
repeatZ_arg),
1281 &(local_args_info.repeatZ_given), optarg, 0,
"1", ARG_INT,
1282 check_ambiguity,
override, 0, 0,
1293 &(local_args_info.translateX_given), optarg, 0,
"0.0", ARG_DOUBLE,
1294 check_ambiguity,
override, 0, 0,
1305 &(local_args_info.translateY_given), optarg, 0,
"0.0", ARG_DOUBLE,
1306 check_ambiguity,
override, 0, 0,
1317 &(local_args_info.translateZ_given), optarg, 0,
"0.0", ARG_DOUBLE,
1318 check_ambiguity,
override, 0, 0,
1329 &(local_args_info.rotatePhi_given), optarg, 0,
"0.0", ARG_DOUBLE,
1330 check_ambiguity,
override, 0, 0,
1341 &(local_args_info.rotateTheta_given), optarg, 0,
"0.0", ARG_DOUBLE,
1342 check_ambiguity,
override, 0, 0,
1353 &(local_args_info.rotatePsi_given), optarg, 0,
"0.0", ARG_DOUBLE,
1354 check_ambiguity,
override, 0, 0,
1365 &(local_args_info.repairMolecules_given), optarg, 0,
"1", ARG_INT,
1366 check_ambiguity,
override, 0, 0,
1367 "repairMolecules",
'm',
1379 fprintf (stderr,
"%s: option unknown: %c%s\n",
CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error :
""));
1388 error_occurred += cmdline_parser_required2 (args_info, argv[0], additional_error);
1391 cmdline_parser_release (&local_args_info);
1393 if ( error_occurred )
1394 return (EXIT_FAILURE);
1399 int found_prog_name = 0;
1405 args_info->
inputs_num = argc - optind - found_prog_name;
1407 (
char **)(malloc ((args_info->
inputs_num)*
sizeof(
char *))) ;
1408 while (optind < argc)
1409 args_info->
inputs[ i++ ] = gengetopt_strdup (argv[optind++]) ;
1416 cmdline_parser_release (&local_args_info);
1417 return (EXIT_FAILURE);
#define CMDLINE_PARSER_VERSION
the program version
#define CMDLINE_PARSER_PACKAGE_NAME
the complete program name (used for help and version)
#define CMDLINE_PARSER_PACKAGE
the program name (used for printing errors)
The header file for the command line option parser generated by GNU Gengetopt version 2....
The additional parameters to pass to parser functions.
int print_errors
whether getopt_long should print an error message for a bad option (default 1)
int check_required
whether to check that all required options were provided (default 1)
int check_ambiguity
whether to check for options already specified in the option structure gengetopt_args_info (default 0...
int initialize
whether to initialize the option structure gengetopt_args_info (default 1)
int override
whether to override possibly already present options (default 0)
Where the command line options are stored.
double translateY_arg
translate all y coordinates by some amount (default='0.0').
int repeatY_arg
The number of images to repeat in the y direction (default='0').
const char * rotatePsi_help
rotate all coordinates Euler angle Psi help description.
unsigned int output_given
Whether output was given.
double translateZ_arg
translate all z coordinates by some amount (default='0.0').
char * rotateTheta_orig
rotate all coordinates Euler angle Theta original value given at command line.
unsigned int repeatY_given
Whether repeatY was given.
char * output_orig
output file name original value given at command line.
const char * output_help
output file name help description.
char * repeatX_orig
The number of images to repeat in the x direction original value given at command line.
char * translateY_orig
translate all y coordinates by some amount original value given at command line.
unsigned int repeatX_given
Whether repeatX was given.
int repeatX_arg
The number of images to repeat in the x direction (default='0').
char * repairMolecules_orig
rewrap molecules around the molecular center of mass original value given at command line.
char * translateX_orig
translate all x coordinates by some amount original value given at command line.
const char * repeatY_help
The number of images to repeat in the y direction help description.
double rotateTheta_arg
rotate all coordinates Euler angle Theta (default='0.0').
unsigned inputs_num
unamed options number
char * rotatePsi_orig
rotate all coordinates Euler angle Psi original value given at command line.
const char * repeatX_help
The number of images to repeat in the x direction help description.
unsigned int repairMolecules_given
Whether repairMolecules was given.
const char * translateX_help
translate all x coordinates by some amount help description.
int repairMolecules_arg
rewrap molecules around the molecular center of mass (default='1').
const char * help_help
Print help and exit help description.
char * output_arg
output file name.
char * repeatZ_orig
The number of images to repeat in the z direction original value given at command line.
const char * translateZ_help
translate all z coordinates by some amount help description.
char ** inputs
unamed options (options without names)
const char * translateY_help
translate all y coordinates by some amount help description.
char * input_arg
input dump file.
int repeatZ_arg
The number of images to repeat in the z direction (default='0').
unsigned int rotatePhi_given
Whether rotatePhi was given.
unsigned int repeatZ_given
Whether repeatZ was given.
unsigned int translateY_given
Whether translateY was given.
char * repeatY_orig
The number of images to repeat in the y direction original value given at command line.
double rotatePhi_arg
rotate all coordinates Euler angle Phi (default='0.0').
unsigned int help_given
Whether help was given.
unsigned int rotateTheta_given
Whether rotateTheta was given.
const char * repeatZ_help
The number of images to repeat in the z direction help description.
unsigned int rotatePsi_given
Whether rotatePsi was given.
unsigned int input_given
Whether input was given.
unsigned int translateX_given
Whether translateX was given.
char * translateZ_orig
translate all z coordinates by some amount original value given at command line.
const char * repairMolecules_help
rewrap molecules around the molecular center of mass help description.
unsigned int version_given
Whether version was given.
const char * version_help
Print version and exit help description.
char * input_orig
input dump file original value given at command line.
char * rotatePhi_orig
rotate all coordinates Euler angle Phi original value given at command line.
const char * rotateTheta_help
rotate all coordinates Euler angle Theta help description.
double rotatePsi_arg
rotate all coordinates Euler angle Psi (default='0.0').
const char * rotatePhi_help
rotate all coordinates Euler angle Phi help description.
double translateX_arg
translate all x coordinates by some amount (default='0.0').
const char * input_help
input dump file help description.
unsigned int translateZ_given
Whether translateZ was given.
int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
Save the contents of the option struct into an already open FILE stream.
int cmdline_parser(int argc, char **argv, struct gengetopt_args_info *args_info)
The command line parser.
int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
Save the contents of the option struct into a (text) file.
int cmdline_parser2(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
The command line parser (version with additional parameters - deprecated)
int cmdline_parser_required(struct gengetopt_args_info *args_info, const char *prog_name)
Checks that all the required options were specified.
struct cmdline_parser_params * cmdline_parser_params_create(void)
Allocates dynamically a cmdline_parser_params structure and initializes all its fields to their defau...
int cmdline_parser_ext(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)
The command line parser (version with additional parameters)
void cmdline_parser_init(struct gengetopt_args_info *args_info)
Initializes the passed gengetopt_args_info structure's fields (also set default values for options th...
void cmdline_parser_free(struct gengetopt_args_info *args_info)
Deallocates the string fields of the gengetopt_args_info structure (but does not deallocate the struc...
void cmdline_parser_params_init(struct cmdline_parser_params *params)
Initializes all the fields a cmdline_parser_params structure to their default values.