device: fix build error on 32 bit systems
[project/netifd.git] / interface.c
index 151dc9ddc3f7f401942f55b5765408bf7e1a3f1f..b2c12300106d9b7c347a5a7b8afc1bfdcd762be2 100644 (file)
@@ -1248,7 +1248,7 @@ interface_device_config_changed(struct interface *if_old, struct interface *if_n
        struct blob_attr *ntb[__DEV_ATTR_MAX];
        struct blob_attr *otb[__DEV_ATTR_MAX];
        struct device *dev = if_old->main_dev.dev;
-       unsigned long diff = 0;
+       unsigned long diff[2] = {};
 
        BUILD_BUG_ON(sizeof(diff) < __DEV_ATTR_MAX / 8);
 
@@ -1267,8 +1267,9 @@ interface_device_config_changed(struct interface *if_old, struct interface *if_n
        blobmsg_parse(device_attr_list.params, __DEV_ATTR_MAX, ntb,
                blob_data(if_new->config), blob_len(if_new->config));
 
-       uci_blob_diff(ntb, otb, &device_attr_list, &diff);
-       return diff;
+       uci_blob_diff(ntb, otb, &device_attr_list, diff);
+
+       return diff[0] | diff[1];
 }
 
 static void