From: Hannes Reinecke Date: Thu, 15 Dec 2005 11:22:42 +0000 (+0100) Subject: fold multiple consecutive whitespace chars into single '_' X-Git-Tag: 174~2428 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d313632b04e2277306af74738df0b4444bcad695;ds=sidebyside fold multiple consecutive whitespace chars into single '_' --- 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'; } /*