chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
support pre-SPC3 page 83 format
[elogind.git]
/
extras
/
scsi_id
/
scsi_id.c
diff --git
a/extras/scsi_id/scsi_id.c
b/extras/scsi_id/scsi_id.c
index e997be995675bbd1defcaa4fe2434e0f4dcaea13..aa1b16009e9f989cd301dfe9d78acd16391de767 100644
(file)
--- a/
extras/scsi_id/scsi_id.c
+++ b/
extras/scsi_id/scsi_id.c
@@
-44,8
+44,8
@@
/*
* temporary names for mknod.
*/
/*
* temporary names for mknod.
*/
-#define TMP_DIR "/
tmp
"
-#define TMP_PREFIX "scsi"
+#define TMP_DIR "/
dev
"
+#define TMP_PREFIX "
tmp-
scsi"
/*
* XXX Note the 'e' (send output to stderr in all cases), and 'c' (callout)
/*
* XXX Note the 'e' (send output to stderr in all cases), and 'c' (callout)
@@
-677,13
+677,22
@@
static int per_dev_options(struct sysfs_device *scsi_dev, int *good_bad,
*/
static void format_serial(char *serial)
{
*/
static void format_serial(char *serial)
{
- char *p = serial;
+ char *p = serial
, *q
;
+ q = p;
while (*p != '\0') {
while (*p != '\0') {
- if (isspace(*p))
- *p = '_';
+ if (isspace(*p)) {
+ if (q > serial && q[-1] != '_') {
+ *q = '_';
+ q++;
+ }
+ } else {
+ *q = *p;
+ q++;
+ }
p++;
}
p++;
}
+ *q = '\0';
}
/*
}
/*