* %End-Header%
*/
+#include "config.h"
#include <stdlib.h>
#include <string.h>
return;
DBG(DEBUG_DEV,
- printf(" freeing dev %s (%s)\n", dev->bid_name, dev->bid_type));
+ printf(" freeing dev %s (%s)\n", dev->bid_name, dev->bid_type ?
+ dev->bid_type : "(null)"));
DBG(DEBUG_DEV, blkid_debug_dump_dev(dev));
list_del(&dev->bid_devs);
bit_tags);
blkid_free_tag(tag);
}
- if (dev->bid_name)
- free(dev->bid_name);
+ free(dev->bid_name);
free(dev);
}
}
printf(" dev: name = %s\n", dev->bid_name);
- printf(" dev: DEVNO=\"0x%0Lx\"\n", dev->bid_devno);
- printf(" dev: TIME=\"%lu\"\n", dev->bid_time);
+ printf(" dev: DEVNO=\"0x%0llx\"\n", (long long)dev->bid_devno);
+ printf(" dev: TIME=\"%ld\"\n", (long)dev->bid_time);
printf(" dev: PRI=\"%d\"\n", dev->bid_pri);
printf(" dev: flags = 0x%08X\n", dev->bid_flags);
list_for_each(p, &dev->bid_tags) {
blkid_tag tag = list_entry(p, struct blkid_struct_tag, bit_tags);
- blkid_debug_dump_tag(tag);
+ if (tag)
+ printf(" tag: %s=\"%s\"\n", tag->bit_name,
+ tag->bit_val);
+ else
+ printf(" tag: NULL\n");
}
printf("\n");
}
* This series of functions iterate over all devices in a blkid cache
*/
#define DEV_ITERATE_MAGIC 0x01a5284c
-
+
struct blkid_struct_dev_iterate {
int magic;
blkid_cache cache;
{
char *new_type, *new_value;
- if (!iter || iter->magic != DEV_ITERATE_MAGIC || !search_type ||
+ if (!iter || iter->magic != DEV_ITERATE_MAGIC || !search_type ||
!search_value)
return -1;
new_type = malloc(strlen(search_type)+1);
new_value = malloc(strlen(search_value)+1);
if (!new_type || !new_value) {
- if (new_type)
- free(new_type);
- if (new_value)
- free(new_value);
+ free(new_type);
+ free(new_value);
return -1;
}
strcpy(new_type, search_type);
strcpy(new_value, search_value);
- if (iter->search_type)
- free(iter->search_type);
- if (iter->search_value)
- free(iter->search_value);
+ free(iter->search_type);
+ free(iter->search_value);
iter->search_type = new_type;
iter->search_value = new_value;
return 0;
while (iter->p != &iter->cache->bic_devs) {
dev = list_entry(iter->p, struct blkid_struct_dev, bid_devs);
iter->p = iter->p->next;
- if (iter->search_type &&
- !blkid_dev_has_tag(dev, iter->search_type,
+ if (iter->search_type &&
+ !blkid_dev_has_tag(dev, iter->search_type,
iter->search_value))
continue;
*ret_dev = dev;
void usage(char *prog)
{
fprintf(stderr, "Usage: %s [-f blkid_file] [-m debug_mask]\n", prog);
- fprintf(stderr, "\tList all devices and exit\n", prog);
+ fprintf(stderr, "\tList all devices and exit\n");
exit(1);
}
case 'm':
blkid_debug_mask = strtoul (optarg, &tmp, 0);
if (*tmp) {
- fprintf(stderr, "Invalid debug mask: %d\n",
+ fprintf(stderr, "Invalid debug mask: %s\n",
optarg);
exit(1);
}