X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=discover%2Fdevice-handler.c;h=af7918b5114000f1c706564ebb0a8c9d05b116f3;hb=bdd5c29b008a4484ed141f934d97465d673a10b7;hp=281a3c4e7e3345c5edf4b20835a3ae37699794e8;hpb=458e307dd5a19de5c530c9eebeffadfce1a48feb;p=petitboot diff --git a/discover/device-handler.c b/discover/device-handler.c index 281a3c4..af7918b 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -429,6 +429,38 @@ static void _device_handler_vstatus(struct device_handler *handler, talloc_free(status.message); } +static void _device_handler_vdevstatus(struct device_handler *handler, + struct discover_device *device, enum status_type type, + const char *fmt, va_list ap) +{ + char *msg; + + msg = talloc_asprintf(handler, "[%s] %s", + device ? device->device->id : "unknown", fmt); + _device_handler_vstatus(handler, type, msg, ap); + talloc_free(msg); +} + +void device_handler_status_dev_info(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + _device_handler_vdevstatus(handler, dev, STATUS_INFO, fmt, ap); + va_end(ap); +} + +void device_handler_status_dev_err(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + _device_handler_vdevstatus(handler, dev, STATUS_ERROR, fmt, ap); + va_end(ap); +} + void device_handler_status_info(struct device_handler *handler, const char *fmt, ...) { @@ -873,15 +905,14 @@ int device_handler_discover(struct device_handler *handler, struct discover_context *ctx; int rc; - /* - * TRANSLATORS: this string will be passed the type and identifier - * of the device. For example, the first parameter could be "Disk", - * (which will be translated accordingly) and the second a Linux device - * identifier like 'sda1' (which will not be translated) - */ - device_handler_status_info(handler, _("Processing %s device %s"), - device_type_display_name(dev->device->type), - dev->device->id); + device_handler_status_dev_info(handler, dev, + /* + * TRANSLATORS: this string will be passed the type of the + * device (eg "disk" or "network"), which will be translated + * accordingly. + */ + _("Processing new %s device"), + device_type_display_name(dev->device->type)); process_boot_option_queue(handler); @@ -903,12 +934,7 @@ int device_handler_discover(struct device_handler *handler, device_handler_discover_context_commit(handler, ctx); out: - /* - * TRANSLATORS: the format specifier in this string is a Linux - * device identifier, like 'sda1' - */ - device_handler_status_info(handler, _("Processing %s complete"), - dev->device->id); + device_handler_status_dev_info(handler, dev, _("Processing complete")); talloc_unlink(handler, ctx); @@ -921,12 +947,8 @@ int device_handler_dhcp(struct device_handler *handler, { struct discover_context *ctx; - /* - * TRANSLATORS: this format specifier will be the name of a network - * device, like 'eth0'. - */ - device_handler_status_info(handler, _("Processing dhcp event on %s"), - dev->device->id); + device_handler_status_dev_info(handler, dev, + _("Processing dhcp event")); /* create our context */ ctx = device_handler_discover_context_create(handler, dev); @@ -937,12 +959,7 @@ int device_handler_dhcp(struct device_handler *handler, device_handler_discover_context_commit(handler, ctx); - /* - * TRANSLATORS: this format specifier will be the name of a network - * device, like 'eth0'. - */ - device_handler_status_info(handler, _("Processing %s complete"), - dev->device->id); + device_handler_status_dev_info(handler, dev, _("Processing complete")); talloc_unlink(handler, ctx);