about summary refs log tree commit diff
path: root/src/comp/metadata
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-26 15:36:18 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-27 15:54:44 -0700
commitd7fa75413f4c109b9ecadf4b9b3e1edd762e3056 (patch)
tree3ef1954d35a2958550a637d986cab49e7e332fd7 /src/comp/metadata
parent138973335aba835a451ce7c9914c7ca020bcc753 (diff)
downloadrust-d7fa75413f4c109b9ecadf4b9b3e1edd762e3056.tar.gz
rust-d7fa75413f4c109b9ecadf4b9b3e1edd762e3056.zip
Convert rustc::lib::llvm to istr::sbufs. Issue #855
Diffstat (limited to 'src/comp/metadata')
-rw-r--r--src/comp/metadata/creader.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/comp/metadata/creader.rs b/src/comp/metadata/creader.rs
index fa624c76725..00cdd808179 100644
--- a/src/comp/metadata/creader.rs
+++ b/src/comp/metadata/creader.rs
@@ -192,15 +192,16 @@ fn find_library_crate_aux(nn: &{prefix: str, suffix: str}, crate_name: str,
 }
 
 fn get_metadata_section(filename: str) -> option::t<@[u8]> {
-    let b = str::buf(filename);
-    let mb = llvm::LLVMRustCreateMemoryBufferWithContentsOfFile(b);
+    let mb = istr::as_buf(istr::from_estr(filename), { |buf|
+        llvm::LLVMRustCreateMemoryBufferWithContentsOfFile(buf)
+    });
     if mb as int == 0 { ret option::none::<@[u8]>; }
     let of = mk_object_file(mb);
     let si = mk_section_iter(of.llof);
     while llvm::LLVMIsSectionIteratorAtEnd(of.llof, si.llsi) == False {
         let name_buf = llvm::LLVMGetSectionName(si.llsi);
-        let name = str::str_from_cstr(name_buf);
-        if str::eq(name, istr::to_estr(x86::get_meta_sect_name())) {
+        let name = istr::str_from_cstr(name_buf);
+        if istr::eq(name, x86::get_meta_sect_name()) {
             let cbuf = llvm::LLVMGetSectionContents(si.llsi);
             let csz = llvm::LLVMGetSectionSize(si.llsi);
             let cvbuf: *u8 = std::unsafe::reinterpret_cast(cbuf);