#include <stdlib.h>
#include "blkid-api.h"
+#define ARRAY_LEN(arr) sizeof(arr)/sizeof(arr[0])
+
void usage(const char* msg) {
if (msg) {
fprintf(stderr, "%s\n", msg);
}
const char *part_label = blkid_partition_get_name(part);
char part_path[PATH_MAX];
- // /dev/sda1 vs /dev/mmcblk0p1 /dev/nvme0n1p1
+ // /dev/sda1 /dev/vda1 vs /dev/mmcblk0p1 /dev/nvme0n1p1
// no_separator vs "p" separator
- if (strncmp("/dev/sd", device_name, strlen("/dev/sd")) == 0)
+ if (strncmp("/dev/sd", device_name, ARRAY_LEN("/dev/sd") - 1) == 0 ||
+ strncmp("/dev/vd", device_name, ARRAY_LEN("/dev/vd") - 1) == 0)
snprintf(part_path, PATH_MAX, "%s%d", device_name, part_nr);
else
snprintf(part_path, PATH_MAX, "%sp%d", device_name, part_nr);