From d313632b04e2277306af74738df0b4444bcad695 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 15 Dec 2005 12:22:42 +0100 Subject: [PATCH] fold multiple consecutive whitespace chars into single '_' --- extras/scsi_id/scsi_id.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c index 39391f6e2..aa1b16009 100644 --- a/extras/scsi_id/scsi_id.c +++ b/extras/scsi_id/scsi_id.c @@ -677,13 +677,22 @@ static int per_dev_options(struct sysfs_device *scsi_dev, int *good_bad, */ static void format_serial(char *serial) { - char *p = serial; + char *p = serial, *q; + q = p; while (*p != '\0') { - if (isspace(*p)) - *p = '_'; + if (isspace(*p)) { + if (q > serial && q[-1] != '_') { + *q = '_'; + q++; + } + } else { + *q = *p; + q++; + } p++; } + *q = '\0'; } /* -- 2.30.2