std::string Filename = GraphName + ".dot";
O << "Writing '" << Filename << "'...";
std::string ErrInfo;
- raw_fd_ostream F(Filename.c_str(), ErrInfo);
+ tool_output_file F(Filename.c_str(), ErrInfo);
- if (ErrInfo.empty())
+ if (ErrInfo.empty()) {
WriteGraph(F, GT);
- else
- O << " error opening file for writing!";
- O << "\n";
+ F.close();
+ if (!F.has_error()) {
+ O << "\n";
+ F.keep();
+ return;
+ }
+ }
+ F.clear_error();
+ O << " error opening file for writing!\n";
}