aboutsummaryrefslogtreecommitdiff
path: root/src/sg-cl.opt
diff options
context:
space:
mode:
Diffstat (limited to 'src/sg-cl.opt')
-rw-r--r--src/sg-cl.opt21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/sg-cl.opt b/src/sg-cl.opt
index 265aa4b..45c5bf4 100644
--- a/src/sg-cl.opt
+++ b/src/sg-cl.opt
@@ -15,7 +15,7 @@
along with Eclat. If not, see <http://www.gnu.org/licenses/>. */
ECLAT_CL_BEGIN([<modify ingress rules of a security group>],
- [<GROUPARG>])
+ [<[GROUPID-OR-NAME]>])
OPTION(add,A,,
[<add rules>])
@@ -114,17 +114,20 @@ ECLAT_CL_PARSER(parse_options, [<int argc, char *argv[]>],[<
int idx;
GETOPT(argc, argv, idx, exit(EX_USAGE))
- if (!command)
- die(EX_USAGE, "either --list or --add or --delete must be given");
- if (list_option &&
- (rule_n > 1 || group_list || source_list || from_port || to_port))
- die(EX_USAGE, "conflicting options");
-
argc -= idx;
argv += idx;
- if (argc != 1)
+
+ if (!command)
+ die(EX_USAGE, "either --list or --add or --delete must be given");
+ if (list_option) {
+ if (rule_n > 1 || group_list || source_list ||
+ from_port || to_port)
+ die(EX_USAGE, "conflicting options");
+ if (argc > 1)
+ die(EX_USAGE, "bad number of arguments");
+ } else if (argc != 1)
die(EX_USAGE, "bad number of arguments");
- translate_ids(1, argv, rt[dest_n].map);
+ translate_ids(argc, argv, rt[dest_n].map);
eclat_query_add_param(env->query, "Action", command);
if (list_option)

Return to:

Send suggestions and report system problems to the System administrator.