/* This file is part of Eclat. Copyright (C) 2012-2023 Sergey Poznyakoff. Eclat is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Eclat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Eclat. If not, see . */ struct grecs_list *parmlist; struct param { char *name; unsigned idx; char *value; }; static unsigned owner_idx = 1, rstby_idx = 1; ECLAT_CL_BEGIN([], [<[SNAP-ID...] [FILTER...]]>]) OPTION(owner,u,[], []) BEGIN struct param *p = grecs_malloc(sizeof(*p)); p->name = "Owner"; p->idx = owner_idx++; p->value = optarg; grecs_list_append(parmlist, p); END OPTION(restorable-by,r,[], []) BEGIN struct param *p = grecs_malloc(sizeof(*p)); p->name = "RestorableBy"; p->idx = rstby_idx++; p->value = optarg; grecs_list_append(parmlist, p); END ECLAT_CL_END ECLAT_CL_PARSER(parse_options, [], [< { parmlist = grecs_list_create(); GETOPT(argc, argv, *index, exit(EX_USAGE)) } >])