X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fscsi_id%2Fscsi_id.c;h=72a7257113356af7d49e9656209f1ddbe01b9bf3;hp=213a267afadf30263289c601b8436aa56c9dca71;hb=59d93adb29fae25220955d44a5cd25f0d99e3528;hpb=065db052211d3bf08d9b0f698a79a8798faf11d2 diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c index 213a267af..72a725711 100644 --- a/extras/scsi_id/scsi_id.c +++ b/extras/scsi_id/scsi_id.c @@ -27,7 +27,8 @@ #include #include -#include "../../udev/udev.h" +#include "libudev.h" +#include "libudev-private.h" #include "scsi_id.h" static const struct option options[] = { @@ -516,31 +517,6 @@ static int set_inq_values(struct udev *udev, struct scsi_id_device *dev_scsi, co return 0; } -/* - * format_serial: replace to whitespaces by underscores for calling - * programs that use the serial for device naming (multipath, Suse - * naming, etc...) - */ -static void format_serial(char *serial) -{ - char *p = serial, *q; - - q = p; - while (*p != '\0') { - if (isspace(*p)) { - if (q > serial && q[-1] != '_') { - *q = '_'; - q++; - } - } else { - *q = *p; - q++; - } - p++; - } - *q = '\0'; -} - /* * scsi_id: try to get an id, if one is found, printf it to stdout. * returns a value passed to exit() - 0 if printed an id, else 1. @@ -594,8 +570,16 @@ static int scsi_id(struct udev *udev, char *maj_min_dev) retval = 1; goto out; } - if (reformat_serial) - format_serial(dev_scsi.serial); + + if (reformat_serial) { + char serial_str[MAX_SERIAL_LEN]; + + udev_util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); + udev_util_replace_chars(serial_str, NULL); + printf("%s\n", serial_str); + goto out; + } + printf("%s\n", dev_scsi.serial); out: return retval; @@ -613,7 +597,7 @@ int main(int argc, char **argv) if (udev == NULL) goto exit; - logging_init("scsi_id"); + udev_log_init("scsi_id"); udev_set_log_fn(udev, log_fn); /* @@ -649,6 +633,6 @@ int main(int argc, char **argv) exit: udev_unref(udev); - logging_close(); + udev_log_close(); return retval; }