2 * Copyright (C) 2016 Jo-Philipp Wich <jo@mein.io>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2.1
6 * as published by the Free Software Foundation
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
15 #include <libubox/utils.h>
18 #include "libblkid-tiny/libblkid-tiny.h"
20 static struct probe_info
*
21 probe_path_tiny(const char *path
)
23 struct probe_info
*info
= NULL
;
24 struct blkid_struct_probe pr
= { };
25 char *type
, *dev
, *uuid
, *label
, *version
;
27 if (probe_block((char *)path
, &pr
) == 0 && pr
.id
&& !pr
.err
) {
28 info
= calloc_a(sizeof(*info
),
29 &type
, strlen(pr
.id
->name
) + 1,
30 &dev
, strlen(pr
.dev
) + 1,
31 &uuid
, strlen(pr
.uuid
) + 1,
32 &label
, strlen(pr
.label
) + 1,
33 &version
, strlen(pr
.version
) + 1);
36 info
->type
= strcpy(type
, pr
.id
->name
);
39 info
->dev
= strcpy(dev
, pr
.dev
);
42 info
->uuid
= strcpy(uuid
, pr
.uuid
);
45 info
->label
= strcpy(label
, pr
.label
);
48 info
->version
= strcpy(version
, pr
.version
);
56 probe_path(const char *path
)
58 struct probe_info
*info
;
60 info
= probe_path_tiny(path
);
63 info
= probe_path_libblkid(path
);