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 pr
= blkidtiny_new_probe();
31 if (probe_block((char *)path
, pr
) == 0 && pr
->id
&& !pr
->err
) {
32 info
= calloc_a(sizeof(*info
),
33 &type
, strlen(pr
->id
->name
) + 1,
34 &dev
, strlen(path
) + 1,
35 &uuid
, strlen(pr
->uuid
) + 1,
36 &label
, strlen(pr
->label
) + 1,
37 &version
, strlen(pr
->version
) + 1);
40 info
->type
= strcpy(type
, pr
->id
->name
);
41 info
->dev
= strcpy(dev
, path
);
44 info
->uuid
= strcpy(uuid
, pr
->uuid
);
47 info
->label
= strcpy(label
, pr
->label
);
50 info
->version
= strcpy(version
, pr
->version
);
54 blkidtiny_free_probe(pr
);
60 probe_path(const char *path
)
62 struct probe_info
*info
;
64 info
= probe_path_tiny(path
);
67 info
= probe_path_libblkid(path
);