Write statefile flags in hexadecimal format
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 30 Apr 2013 18:05:35 +0000 (20:05 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 30 Apr 2013 18:51:42 +0000 (20:51 +0200)
utils.c

diff --git a/utils.c b/utils.c
index 3ad50e3ff17553022ebd29a55fca9fd7d77f03b5..0094ae7b3a49e926e2764ff3fe116080a95904d5 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -352,18 +352,18 @@ static void
 write_defaults_uci(struct uci_context *ctx, struct fw3_defaults *d,
                    struct uci_package *dest)
 {
-       char buf[8];
+       char buf[sizeof("0xffffffff\0")];
        struct uci_ptr ptr = { .p = dest };
 
        uci_add_section(ctx, dest, "defaults", &ptr.s);
 
-       sprintf(buf, "%u", d->flags[0]);
+       sprintf(buf, "0x%x", d->flags[0]);
        ptr.o      = NULL;
        ptr.option = "__flags_v4";
        ptr.value  = buf;
        uci_set(ctx, &ptr);
 
-       sprintf(buf, "%u", d->flags[1]);
+       sprintf(buf, "0x%x", d->flags[1]);
        ptr.o      = NULL;
        ptr.option = "__flags_v6";
        ptr.value  = buf;
@@ -473,13 +473,13 @@ write_zone_uci(struct uci_context *ctx, struct fw3_zone *z,
                uci_add_list(ctx, &ptr);
        }
 
-       sprintf(buf, "%u", z->flags[0]);
+       sprintf(buf, "0x%x", z->flags[0]);
        ptr.o      = NULL;
        ptr.option = "__flags_v4";
        ptr.value  = buf;
        uci_set(ctx, &ptr);
 
-       sprintf(buf, "%u", z->flags[1]);
+       sprintf(buf, "0x%x", z->flags[1]);
        ptr.o      = NULL;
        ptr.option = "__flags_v6";
        ptr.value  = buf;