Ack, Code review only

Thanks,
RAvi

-----Original Message-----
From: Gary Lee [mailto:gary....@dektech.com.au] 
Sent: Tuesday, October 17, 2017 12:44 PM
To: hans.nordeb...@ericsson.com; ravisekhar.ko...@oracle.com; 
minh.c...@dektech.com.au
Cc: opensaf-devel@lists.sourceforge.net; Gary Lee <gary....@dektech.com.au>
Subject: [PATCH 2/2] amf: improve error checking and display [#2628]

* nodes are prefixed with '0x', eg '0x2010f' instead of '2010f' to match input
* options 's', 'c', 'u' are incompatible and are rejected when used together
---
 src/amf/tools/amf_cluster_status.cc | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/amf/tools/amf_cluster_status.cc 
b/src/amf/tools/amf_cluster_status.cc
index 668e43c01..6b86b03be 100644
--- a/src/amf/tools/amf_cluster_status.cc
+++ b/src/amf/tools/amf_cluster_status.cc
@@ -375,6 +375,7 @@ int main(int argc, char *argv[]) {
   char *ptr = NULL;
   NODE_ID node_id = 0;
   bool user_node = false;
+  unsigned int options_found = 0;
 
   struct option long_options[] = {
     {"help",                no_argument,       0, 'h'},
@@ -391,10 +392,12 @@ int main(int argc, char *argv[]) {
 
      switch (option) {
      case 's':
+             ++options_found;
              opt_char = option;
              break;
      case 'c':
      case 'u':
+             ++options_found;
              opt_char = option;
              if (optarg == NULL) {
                if ((argv[optind] != NULL) && @@ -427,9 +430,16 @@ int main(int 
argc, char *argv[]) {
     exit(EXIT_FAILURE);
   }
 
-  if (user_node == false)
+  if (user_node == false) {
     node_id = m_NCS_GET_NODE_ID; //Get local node_id
-
+  } else if (node_id == 0) {
+    std::cerr << "Invalid node" << std::endl;
+    exit(EXIT_FAILURE);
+  }
+  if (options_found > 1) {
+    std::cerr << "Too many options specified" << std::endl;
+    exit(EXIT_FAILURE);
+  }
   if (mds_get_handle() != NCSCC_RC_SUCCESS) exit(EXIT_FAILURE);
   if (mds_init() != NCSCC_RC_SUCCESS) exit(EXIT_FAILURE);
   if (get_clm_nodes() != SA_AIS_OK) exit(EXIT_FAILURE); @@ -454,7 +464,8 @@ 
int main(int argc, char *argv[]) {
               if (user_node == false)
                 std::cout << "This is a Controller node"<<std::endl;
               else
-                std::cout << std::hex << node_id <<" is a Controller 
node"<<std::endl;
+                std::cout << "0x" << std::hex
+                  << node_id << " is a Controller node" << std::endl;
             }
             exit(EXIT_SUCCESS);
           } else {
@@ -462,7 +473,8 @@ int main(int argc, char *argv[]) {
               if (user_node == false)
                 std::cout << "This is not a Controller node"<<std::endl;
               else
-                std::cout << std::hex << node_id <<" is not a Controller 
node"<<std::endl;
+                std::cout << "0x" << std::hex
+                  << node_id << " is not a Controller node" << 
+ std::endl;
             }
             exit(EXIT_FAILURE);
           }
@@ -474,12 +486,14 @@ int main(int argc, char *argv[]) {
               if (user_node == false)
                 std::cout << "This node is up"<<std::endl;
               else
-                std::cout << std::hex << node_id <<" is up"<<std::endl;
+                std::cout << "0x" << std::hex
+                  << node_id << " is up" << std::endl;
             }
             exit(EXIT_SUCCESS);
           } else {
             if (print_also == true) {
-              std::cout << std::hex << node_id <<" is not up"<<std::endl;
+              std::cout << "0x" << std::hex
+                << node_id << " is not up" <<std::endl;
             }
             exit(EXIT_FAILURE);
           }
--
2.11.0

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to