unpack NAS-1200 image header
問題:
在一開始使用了 mmap 將檔案 map 到 memory 中,但在 check header 時卻一直抓不到正確的值。看起來是因為它以每 4 byte 為一單位,所以如果檔案大小不是 4 的倍數就會有問題(驗證過如果是4的倍數是ok的)。不確定是不是因為已經 map到memory的關係,不知道是不是 memory io的 control有所限制。(更明確的說法應該是header的第一個byte不是位於4的倍數的offset上)
解法:
後來先把header的部份copy一份出來做check,這樣就不會有offset的問題了。check看有沒有過再往下做。
ps. 搞了好久才發現是這個問題。 = =|
風花水月六十石
15 年前
沒有留言:
張貼留言