use the new MemoryBuffer interfaces to simplify error reporting in clients.
[oota-llvm.git] / tools / llvm-dis / llvm-dis.cpp
index 6321551446a11417ad477b82d5dd433487c4ebc9..97ec4c7306165f3929d66ac438351163445c103f 100644 (file)
@@ -54,14 +54,11 @@ int main(int argc, char **argv) {
 
     std::auto_ptr<Module> M;
    
-    MemoryBuffer *Buffer
-      = MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size());
-
-    if (Buffer == 0)
-      ErrorMessage = "Error reading file '" + InputFilename + "'";
-    else
+    if (MemoryBuffer *Buffer
+           = MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage)) {
       M.reset(ParseBitcodeFile(Buffer, &ErrorMessage));
-    delete Buffer;
+      delete Buffer;
+    }
 
     if (M.get() == 0) {
       cerr << argv[0] << ": ";