chiark / gitweb /
volume_id: provide libvolume_id.a file
[elogind.git] / extras / volume_id / vol_id.c
index 6a9d1120e0cf30e44396ef32628f830f1cec85c0..6f99c52728f26b4412dd444f60819f780e7267a7 100644 (file)
@@ -31,7 +31,7 @@
 
 #include "../../udev_utils.h"
 #include "../../logging.h"
-#include "volume_id/volume_id.h"
+#include "libvolume_id/volume_id.h"
 
 #define BLKGETSIZE64 _IOR(0x12,114,size_t)
 
@@ -66,7 +66,7 @@ static void set_str(char *to, const char *from, size_t count)
 
        /* strip trailing whitespace */
        len = strnlen(from, count);
-       while (isspace(from[len-1]))
+       while (len && isspace(from[len-1]))
                len--;
 
        /* strip leading whitespace */
@@ -145,6 +145,7 @@ int main(int argc, char *argv[])
 
        if (ioctl(vid->fd, BLKGETSIZE64, &size) != 0)
                size = 0;
+       dbg("BLKGETSIZE64=%llu", size);
 
        if (volume_id_probe_all(vid, 0, size) == 0)
                goto print;
@@ -156,6 +157,7 @@ int main(int argc, char *argv[])
 
 print:
        set_str(name, vid->label, sizeof(vid->label));
+       replace_untrusted_chars(name);
 
        switch (print) {
        case PRINT_EXPORT: