chiark / gitweb /
libudev: queue - clarify comments
[elogind.git] / extras / ata_id / ata_id.c
index d407b0fad91525c3fcea27612b78ee0b456f0f81..dd28d91f4aa78a6a23094ff1f0b4f4ec9e961656 100644 (file)
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
        struct udev *udev;
        struct hd_driveid id;
        char model[41];
+       char model_enc[256];
        char serial[21];
        char revision[9];
        const char *node = NULL;
@@ -81,7 +82,7 @@ int main(int argc, char *argv[])
                        break;
                case 'h':
                        printf("Usage: ata_id [--export] [--help] <device>\n"
-                              "  --export    print values as environemt keys\n"
+                              "  --export    print values as environment keys\n"
                               "  --help      print this help text\n\n");
                default:
                        rc = 1;
@@ -114,9 +115,15 @@ int main(int argc, char *argv[])
                goto close;
        }
 
+       memcpy (model, id.model, 40);
+       model[40] = '\0';
+       udev_util_encode_string(model, model_enc, sizeof(model_enc));
        udev_util_replace_whitespace((char *) id.model, model, 40);
+       udev_util_replace_chars(model, NULL);
        udev_util_replace_whitespace((char *) id.serial_no, serial, 20);
+       udev_util_replace_chars(serial, NULL);
        udev_util_replace_whitespace((char *) id.fw_rev, revision, 8);
+       udev_util_replace_chars(revision, NULL);
 
        if (export) {
                if ((id.config >> 8) & 0x80) {
@@ -142,6 +149,7 @@ int main(int argc, char *argv[])
                        printf("ID_TYPE=disk\n");
                }
                printf("ID_MODEL=%s\n", model);
+               printf("ID_MODEL_ENC=%s\n", model_enc);
                printf("ID_SERIAL=%s\n", serial);
                printf("ID_REVISION=%s\n", revision);
                printf("ID_BUS=ata\n");