{
struct probe_info *info = NULL;
struct blkid_struct_probe pr = { };
- char *type, *dev, *uuid, *label, *name, *version;
+ char *type, *dev, *uuid, *label, *version;
if (probe_block((char *)path, &pr) == 0 && pr.id && !pr.err) {
info = calloc_a(sizeof(*info),
&dev, strlen(pr.dev) + 1,
&uuid, strlen(pr.uuid) + 1,
&label, strlen(pr.label) + 1,
- &name, strlen(pr.name) + 1,
&version, strlen(pr.version) + 1);
if (info) {
info->type = strcpy(type, pr.id->name);
-
+
if (pr.dev[0])
info->dev = strcpy(dev, pr.dev);
if (pr.label[0])
info->label = strcpy(label, pr.label);
- if (pr.name[0])
- info->name = strcpy(name, pr.name);
-
if (pr.version[0])
info->version = strcpy(version, pr.version);
}
return info;
}
-struct probe_info *
+struct probe_info *
probe_path(const char *path)
{
- return probe_path_tiny(path);
+ struct probe_info *info;
+
+ info = probe_path_tiny(path);
+
+ if (!info)
+ info = probe_path_libblkid(path);
+
+ return info;
}
int