X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fuser-event.c;h=1f7004509041123091ff85b9234c7e8b08133fed;hp=dc671d948fb04aa28c80c56caabebda01da3d0f4;hb=c1359507c1556ba5f6d2afd0e401abcfe66f02a9;hpb=6d05fe798a06ba93418a1f8517e8f30cadcfd5e4 diff --git a/discover/user-event.c b/discover/user-event.c index dc671d9..1f70045 100644 --- a/discover/user-event.c +++ b/discover/user-event.c @@ -208,7 +208,7 @@ static char *parse_mac_addr(struct discover_context *ctx, const char *mac) mac_addr_arr + 2, mac_addr_arr + 3, mac_addr_arr + 4, mac_addr_arr + 5); - mac_addr = talloc_asprintf(ctx, "01-%02X-%02X-%02X-%02X-%02X-%02X", + mac_addr = talloc_asprintf(ctx, "01-%02x-%02x-%02x-%02x-%02x-%02x", mac_addr_arr[0], mac_addr_arr[1], mac_addr_arr[2], mac_addr_arr[3], mac_addr_arr[4], mac_addr_arr[5]); @@ -290,8 +290,9 @@ struct pb_url *user_event_parse_conf_url(struct discover_context *ctx, /* strip filename from the bootfile path, leaving only a * directory */ p = strrchr(basedir, '/'); - if (p) - *p = '\0'; + if (!p) + p = basedir; + *p = '\0'; if (strlen(basedir)) url_str = talloc_asprintf_append(url_str, "%s/", @@ -504,15 +505,15 @@ static int user_event_destructor(void *arg) return 0; } -struct user_event *user_event_init(struct waitset *waitset, - struct device_handler *handler) +struct user_event *user_event_init(struct device_handler *handler, + struct waitset *waitset) { struct sockaddr_un addr; struct user_event *uev; unlink(PBOOT_USER_EVENT_SOCKET); - uev = talloc(NULL, struct user_event); + uev = talloc(handler, struct user_event); uev->handler = handler; @@ -545,8 +546,3 @@ out_err: talloc_free(uev); return NULL; } - -void user_event_destroy(struct user_event *uev) -{ - talloc_free(uev); -}