On 11/12/2017 10:53 PM, ros...@gmail.com wrote:
Tested compile size difference. Saves 32 bytes. ¯\_(ツ)_/¯

On Tue, 2017-11-07 at 12:05 -0800, Rosen Penev wrote:
Changes allocation to calloc and {} as needed.

Signed-off-by: Rosen Penev <ros...@gmail.com>
---
  inittab.c      | 6 ++----
  plug/hotplug.c | 7 ++-----
  2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/inittab.c b/inittab.c
index 21172f7..c27c324 100644
--- a/inittab.c
+++ b/inittab.c
@@ -284,8 +284,7 @@ void procd_inittab(void)
regcomp(&pat_inittab, "([a-zA-Z0-9]*):([a-zA-Z0-9]*):([a-zA-
Z0-9]*):(.*)", REG_EXTENDED);
        line = malloc(LINE_LEN);
-       a = malloc(sizeof(struct init_action));
-       memset(a, 0, sizeof(struct init_action));
+       a = calloc(1, sizeof(struct init_action));
while (fgets(line, LINE_LEN, fp)) {
                char *tags[TAG_PROCESS + 1];
@@ -322,8 +321,7 @@ void procd_inittab(void)
                if (add_action(a, tags[TAG_ACTION]))
                        continue;
                line = malloc(LINE_LEN);
-               a = malloc(sizeof(struct init_action));
-               memset(a, 0, sizeof(struct init_action));
+               a = calloc(1, sizeof(struct init_action));
        }
fclose(fp);
diff --git a/plug/hotplug.c b/plug/hotplug.c
index 49c177f..6e55f67 100644
--- a/plug/hotplug.c
+++ b/plug/hotplug.c
@@ -434,12 +434,10 @@ static void handle_button_complete(struct
blob_attr *msg, struct blob_attr *data
        if (!name)
                return;
- b = malloc(sizeof(*b));
+       b = calloc(1, sizeof(*b));
        if (!b)
                return;
- memset(b, 0, sizeof(*b));
-
        b->data = malloc(blob_pad_len(data));
        b->name = strdup(name);
        b->seen = timeout;
@@ -584,11 +582,10 @@ void hotplug_last_event(uloop_timeout_handler
handler)
void hotplug(char *rules)
  {
-       struct sockaddr_nl nls;
+       struct sockaddr_nl nls = {};
        int nlbufsize = 512 * 1024;
rule_file = strdup(rules);
-       memset(&nls,0,sizeof(struct sockaddr_nl));
        nls.nl_family = AF_NETLINK;
        nls.nl_pid = getpid();
        nls.nl_groups = -1;

wrt. hotplug() -- When a fixed size aggregate will live only on the stack, initializing it is faster than calling allocation function(s). Not that any _one_ of them would be significant, but as a coding pattern it can add up. Even if you permit in-line standard functions, then there still are presumed behaviors of the function which will likely be implemented. Initialization on the stack will not incur the overhead.

- Eric

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to