int peripheral_device_type;
int all_nul_bytes;
int n;
- int is_packet_device;
+ int is_packet_device = 0;
/* init results */
- zero(out_identify);
- is_packet_device = 0;
+ memzero(out_identify, 512);
/* If we were to use ATA PASS_THROUGH (12) on an ATAPI device
* we could accidentally blank media. This is because MMC's BLANK
out:
if (out_is_packet_device != NULL)
- *out_is_packet_device = is_packet_device;
+ *out_is_packet_device = is_packet_device;
return ret;
}
+_printf_(6,0)
static void log_fn(struct udev *udev, int priority,
const char *file, int line, const char *fn,
const char *format, va_list args)
{
- vsyslog(priority, format, args);
+ log_metav(priority, file, line, fn, format, args);
}
int main(int argc, char *argv[])
{}
};
+ log_parse_environment();
+ log_open();
+
udev = udev_new();
if (udev == NULL)
goto exit;
- log_open();
udev_set_log_fn(udev, log_fn);
while (1) {
node = argv[optind];
if (node == NULL) {
- log_error("no node specified\n");
+ log_error("no node specified");
rc = 1;
goto exit;
}
- fd = open(node, O_RDONLY|O_NONBLOCK);
+ fd = open(node, O_RDONLY|O_NONBLOCK|O_CLOEXEC);
if (fd < 0) {
- log_error("unable to open '%s'\n", node);
+ log_error("unable to open '%s'", node);
rc = 1;
goto exit;
}
} else {
/* If this fails, then try HDIO_GET_IDENTITY */
if (ioctl(fd, HDIO_GET_IDENTITY, &id) != 0) {
- log_info("HDIO_GET_IDENTITY failed for '%s': %m\n", node);
+ log_debug("HDIO_GET_IDENTITY failed for '%s': %m", node);
rc = 2;
goto close;
}