make sure there is something to report
[cfe_generate_password.git] / cfe_generate_password.c
index 0fe8273..8746cd1 100644 (file)
 #include <stdarg.h>
 #include <string.h>
 
-static const float VERSION = 1.0f;
+static const float VERSION = 1.1f;
 static const size_t TIMESTAMP_SIZE = 6;
 static const size_t SEED_SIZE = 12;
 static const size_t PASSWORD_SIZE = 8;
 static const size_t MESSAGE_SIZE = 128;
+static const size_t MAC_ADDR_SIZE = 17;
 
 static void
 pr_usage()
@@ -114,7 +115,7 @@ static unsigned int
 generate_seed(char *mac, char *timestamp, char *seed)
 {
   unsigned int result = 0;
-  if (mac && strlen(mac) == 17) {
+  if (mac && strlen(mac) == MAC_ADDR_SIZE) {
     size_t i;
     char *mac_ptr = mac + 9;
     size_t ts_len = strlen(timestamp);
@@ -140,7 +141,7 @@ generate_pass(char *seed, char *password)
 {
   unsigned int result = 0;
 
-  if (seed && strlen(seed) == 12) {
+  if (seed && strlen(seed) == SEED_SIZE) {
     unsigned int timestamp, byte, key, pass;
     timestamp = byte = 0;
     if(! sscanf(seed, "%06x", &timestamp))
@@ -230,7 +231,8 @@ main(int argc, char **argv, char **env)
       if (! generate_pass(seed, password))
         pr_error_exit(0, "unable to generate password");
 
-    printf("MAC address: %s Timestamp: %s Seed: %s Password: %s\n", MAC_ADDR, timestamp, seed, password);
+    if (opt_seed || opt_pass)
+      printf("MAC address: %s Timestamp: %s Seed: %s Password: %s\n", MAC_ADDR, timestamp, seed, password);
   }
 
   return result;