static grub_partition_t grub_partition_map_probe (const grub_partition_map_t partmap, grub_disk_t disk, int partnum) { find_func_p = 0; find_func_partnum = partnum; partmap->iterate (disk, find_func); if (grub_errno) goto fail; return find_func_p; fail: grub_free (find_func_p); return 0; }
static grub_partition_t grub_partition_map_probe (const grub_partition_map_t partmap, grub_disk_t disk, int partnum) { struct find_func_closure c; c.partnum = partnum; c.p = 0; partmap->iterate (disk, find_func, &c); if (grub_errno) goto fail; return c.p; fail: grub_free (c.p); return 0; }