chiark / gitweb /
add padding to rules structure
authorKay Sievers <kay.sievers@suse.de>
Sun, 17 Jul 2005 13:40:29 +0000 (09:40 -0400)
committerKay Sievers <kay.sievers@suse.de>
Sun, 17 Jul 2005 13:40:29 +0000 (09:40 -0400)
Some architectures really want well alingned structures.
Thanks to Jim Gifford <maillist@jg555.com> for help finding it.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
extras/usb_id/usb_id.c
udev_rules_parse.c

index f4011ee8992b06dec55ed707d9d2a9fdc44976a2..ab116e9d030cbf435451a39a524e27304ac7b6a9 100644 (file)
@@ -497,6 +497,3 @@ int main(int argc, char **argv)
        }
        exit(retval);
 }
-
-
-       
index 0259268c8faa36b0ce8e7327c844798d4d7c12e0..e708f355584ec1f73b7c6db798cbcdac6ef81011 100644 (file)
@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rules *rules, char *line)
        int valid;
        char *linepos;
        char *attr;
+       size_t padding;
        int retval;
 
        /* get all the keys */
@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rules *rules, char *line)
 
        /* grow buffer and add rule */
        rule_size = sizeof(struct udev_rule) + rule->bufsize;
+       padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t);
+       dbg("add %zi padding bytes", padding);
+       rule_size += padding;
+       rule->bufsize += padding;
+
        rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
        if (!rules->buf) {
                err("realloc failed");