[llvm-commits] CVS: llvm/lib/Bytecode/Archive/Archive.cpp ArchiveWriter.cpp
Chris Lattner
lattner at cs.uiuc.edu
Fri Jul 28 15:04:11 PDT 2006
Changes in directory llvm/lib/Bytecode/Archive:
Archive.cpp updated: 1.11 -> 1.12
ArchiveWriter.cpp updated: 1.23 -> 1.24
---
Log message:
Change Path::getStatusInfo to return a boolean and error string on an error
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.
---
Diffs of the changes: (+7 -3)
Archive.cpp | 6 ++++--
ArchiveWriter.cpp | 4 +++-
2 files changed, 7 insertions(+), 3 deletions(-)
Index: llvm/lib/Bytecode/Archive/Archive.cpp
diff -u llvm/lib/Bytecode/Archive/Archive.cpp:1.11 llvm/lib/Bytecode/Archive/Archive.cpp:1.12
--- llvm/lib/Bytecode/Archive/Archive.cpp:1.11 Sat May 6 18:25:53 2006
+++ llvm/lib/Bytecode/Archive/Archive.cpp Fri Jul 28 17:03:44 2006
@@ -104,12 +104,14 @@
flags &= ~HasLongFilenameFlag;
// Get the signature and status info
- std::string magic;
const char* signature = (const char*) data;
+ std::string magic;
if (!signature) {
path.getMagicNumber(magic,4);
signature = magic.c_str();
- path.getStatusInfo(info);
+ std::string err;
+ if (path.getFileStatus(info, &err))
+ throw err;
}
// Determine what kind of file it is
Index: llvm/lib/Bytecode/Archive/ArchiveWriter.cpp
diff -u llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.23 llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.24
--- llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.23 Fri Jul 7 15:56:50 2006
+++ llvm/lib/Bytecode/Archive/ArchiveWriter.cpp Fri Jul 28 17:03:44 2006
@@ -159,7 +159,9 @@
mbr->data = 0;
mbr->path = filePath;
- mbr->path.getStatusInfo(mbr->info);
+ std::string err;
+ if (mbr->path.getFileStatus(mbr->info, &err))
+ throw err;
unsigned flags = 0;
bool hasSlash = filePath.toString().find('/') != std::string::npos;
More information about the llvm-commits
mailing list