소스 검색

Merge pull request #12 from 4e554c4c/master

Fix #11:  BootLoaderNameTag returning null char
Philipp Oppermann 8 년 전
부모
커밋
26d0557e96
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      src/boot_loader_name.rs

+ 6 - 1
src/boot_loader_name.rs

@@ -9,6 +9,11 @@ pub struct BootLoaderNameTag {
 
 impl BootLoaderNameTag {
     pub fn name(&self) -> &str {
-        unsafe { ::core::str::from_utf8_unchecked(::core::slice::from_raw_parts((&self.string) as *const u8, self.size as usize - 8)) }
+        use core::{mem,str,slice};
+        unsafe {
+            let strlen = self.size as usize - mem::size_of::<BootLoaderNameTag>();
+            str::from_utf8_unchecked(
+                slice::from_raw_parts((&self.string) as *const u8, strlen))
+        }
     }
 }