#include <stdio.h>
#include <sys/utsname.h>
+#include "libblkid-tiny.h"
#include "superblocks.h"
#include "linux_version.h"
{
short unsigned int*u = (short unsigned int*) uuid;
- if (u[0])
+ if (u[0] && (!name || !strcmp(name, "UUID"))) {
sprintf(pr->uuid,
"%04x%04x-%04x-%04x-%04x-%04x%04x%04x",
be16_to_cpu(u[0]), be16_to_cpu(u[1]), be16_to_cpu(u[2]), be16_to_cpu(u[3]),
be16_to_cpu(u[4]), be16_to_cpu(u[5]), be16_to_cpu(u[6]), be16_to_cpu(u[7]));
- if (name)
- strncpy(pr->name, name, sizeof(pr->name));
+ }
return 0;
}
&hfsplus_idinfo,
&hfs_idinfo,
&btrfs_idinfo,
+ &f2fs_idinfo,
};
int probe_block(char *block, struct blkid_struct_probe *pr)
char magic[32] = { 0 };
lseek(pr->fd, off, SEEK_SET);
- read(pr->fd, magic, mag->len);
+ if (read(pr->fd, magic, mag->len) < 0)
+ return -1;
DEBUG("magic: %s %s %d\n", mag->magic, magic, mag->len);
if (!memcmp(mag->magic, magic, mag->len))