#define IMAGE_FIELD_LENGTH_STR STRINGIFY(FIELD_LENGTH)
struct image {
- char label[FIELD_LENGTH];
- char basename[FIELD_LENGTH];
- char devpath[FIELD_LENGTH];
+ char label[FIELD_LENGTH+1];
+ char basename[FIELD_LENGTH+1];
+ char devpath[FIELD_LENGTH+1];
struct image *next;
};
}
std::string blockDevice(argv[1]);
- Status status = cp_restoreCheckpoint(blockDevice, 0);
- if (!status.isOk()) {
- LOG(ERROR) << "bow-restore error: " << status.message() << "\n";
+ try {
+ Status status = cp_restoreCheckpoint(blockDevice, 0);
+ if (!status.isOk()) {
+ LOG(ERROR) << "bow-restore error: " << status.message() << "\n";
+ return EXIT_FAILURE;
+ }
+ if (status.hasMessage()) {
+ LOG(INFO) << "bow-restore info: " << status.message() << "\n";
+ }
+ } catch (...) {
+ LOG(ERROR) << "bow-restore error" << "\n";
return EXIT_FAILURE;
}
- if (status.hasMessage()) {
- LOG(INFO) << "bow-restore info: " << status.message() << "\n";
- }
return EXIT_SUCCESS;
}