Merge "Add a class lable parameter to idletimer."
diff --git a/CommandListener.cpp b/CommandListener.cpp
index 0cbe975..f562df3 100644
--- a/CommandListener.cpp
+++ b/CommandListener.cpp
@@ -335,8 +335,8 @@
ifc_close();
return 0;
} else if (!strcmp(argv[1], "setcfg")) {
- // arglist: iface addr prefixLength flags
- if (argc < 5) {
+ // arglist: iface [addr prefixLength] flags
+ if (argc < 4) {
cli->sendMsg(ResponseCode::CommandSyntaxError, "Missing argument", false);
return 0;
}
@@ -344,28 +344,30 @@
struct in_addr addr;
unsigned flags = 0;
-
- if (!inet_aton(argv[3], &addr)) {
- cli->sendMsg(ResponseCode::CommandParameterError, "Invalid address", false);
- return 0;
- }
+ int index = 5;
ifc_init();
- if (ifc_set_addr(argv[2], addr.s_addr)) {
- cli->sendMsg(ResponseCode::OperationFailed, "Failed to set address", true);
- ifc_close();
- return 0;
- }
- //Set prefix length on a non zero address
- if (addr.s_addr != 0 && ifc_set_prefixLength(argv[2], atoi(argv[4]))) {
- cli->sendMsg(ResponseCode::OperationFailed, "Failed to set prefixLength", true);
- ifc_close();
- return 0;
+ if (!inet_aton(argv[3], &addr)) {
+ // Handle flags only case
+ index = 3;
+ } else {
+ if (ifc_set_addr(argv[2], addr.s_addr)) {
+ cli->sendMsg(ResponseCode::OperationFailed, "Failed to set address", true);
+ ifc_close();
+ return 0;
+ }
+
+ // Set prefix length on a non zero address
+ if (addr.s_addr != 0 && ifc_set_prefixLength(argv[2], atoi(argv[4]))) {
+ cli->sendMsg(ResponseCode::OperationFailed, "Failed to set prefixLength", true);
+ ifc_close();
+ return 0;
+ }
}
/* Process flags */
- for (int i = 5; i < argc; i++) {
+ for (int i = index; i < argc; i++) {
char *flag = argv[i];
if (!strcmp(flag, "up")) {
ALOGD("Trying to bring up %s", argv[2]);