|
|
|
@ -305,10 +305,10 @@ int write_zero(int fd, uint64_t offset, uint64_t size) |
|
|
|
|
json11::Json read_parttable(std::string dev) |
|
|
|
|
{ |
|
|
|
|
std::string part_dump; |
|
|
|
|
int r = shell_exec({ "sfdisk", "--dump", dev, "--json" }, "", &part_dump, NULL); |
|
|
|
|
int r = shell_exec({ "sfdisk", "--json", dev }, "", &part_dump, NULL); |
|
|
|
|
if (r == 255) |
|
|
|
|
{ |
|
|
|
|
fprintf(stderr, "Error running sfdisk --dump %s --json\n", dev.c_str()); |
|
|
|
|
fprintf(stderr, "Error running sfdisk --json %s\n", dev.c_str()); |
|
|
|
|
return json11::Json(false); |
|
|
|
|
} |
|
|
|
|
// Decode partition table
|
|
|
|
@ -319,7 +319,7 @@ json11::Json read_parttable(std::string dev) |
|
|
|
|
pt = json11::Json::parse(part_dump, err); |
|
|
|
|
if (err != "") |
|
|
|
|
{ |
|
|
|
|
fprintf(stderr, "sfdisk --dump %s --json returned bad JSON: %s\n", dev.c_str(), part_dump.c_str()); |
|
|
|
|
fprintf(stderr, "sfdisk --json %s returned bad JSON: %s\n", dev.c_str(), part_dump.c_str()); |
|
|
|
|
return json11::Json(false); |
|
|
|
|
} |
|
|
|
|
pt = pt["partitiontable"]; |
|
|
|
|