The verbose and ipv4mode entries in the globals structure is only used to
save a boolean information. So just use a bit in a bitfield to store this
information instead of a full int.

Signed-off-by: Sven Eckelmann <[email protected]>
---
 alfred.h | 4 ++--
 main.c   | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/alfred.h b/alfred.h
index 7d6b0b3..c64ff17 100644
--- a/alfred.h
+++ b/alfred.h
@@ -115,8 +115,8 @@ struct globals {
        enum clientmode clientmode;
        int clientmode_arg;
        int clientmode_version;
-       int verbose;
-       int ipv4mode;
+       uint8_t verbose:1;
+       uint8_t ipv4mode:1;
 
        int unix_sock;
        const char *unix_path;
diff --git a/main.c b/main.c
index 7b866cc..f25b6cc 100644
--- a/main.c
+++ b/main.c
@@ -9,6 +9,7 @@
 #include <arpa/inet.h>
 #include <getopt.h>
 #include <signal.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -181,8 +182,8 @@ static struct globals *alfred_init(int argc, char *argv[])
        globals->clientmode_version = 0;
        globals->mesh_iface = "bat0";
        globals->unix_path = ALFRED_SOCK_PATH_DEFAULT;
-       globals->verbose = 0;
-       globals->ipv4mode = 0;
+       globals->verbose = false;
+       globals->ipv4mode = false;
        globals->update_command = NULL;
        globals->sync_period.tv_sec = ALFRED_INTERVAL;
        globals->sync_period.tv_nsec = 0;
@@ -252,7 +253,7 @@ static struct globals *alfred_init(int argc, char *argv[])
                        globals->unix_path = optarg;
                        break;
                case 'd':
-                       globals->verbose++;
+                       globals->verbose = true;
                        break;
                case 'c':
                        globals->update_command = optarg;
@@ -268,7 +269,7 @@ static struct globals *alfred_init(int argc, char *argv[])
                        printf(" ** Setting sync interval to: %.9f seconds 
(%ld.%09ld)\n", sync_period, globals->sync_period.tv_sec, 
globals->sync_period.tv_nsec);
                        break;
                case '4':
-                       globals->ipv4mode = 1;
+                       globals->ipv4mode = true;
                        inet_pton(AF_INET, optarg, &alfred_mcast.ipv4);
                        printf(" ** IPv4 Multicast Mode: %x\n", 
alfred_mcast.ipv4.s_addr);
                        break;
-- 
2.30.0

Reply via email to