in vhdInspectCmdHandler.go [445:473]
func createBitmapString(bitsPerLine int32, vBlockBitmap *bitmap.BitMap) string {
var buffer bytes.Buffer
pad := len(strconv.FormatInt(int64(vBlockBitmap.Length), 10))
fmtLine := fmt.Sprintf("[%%-%dd - %%%dd]", pad, pad)
for i := int32(0); i < vBlockBitmap.Length; {
if i%bitsPerLine == 0 {
if i < vBlockBitmap.Length-bitsPerLine {
buffer.WriteString(fmt.Sprintf(fmtLine, i, i+bitsPerLine-1))
} else {
buffer.WriteString(fmt.Sprintf(fmtLine, i, vBlockBitmap.Length-1))
}
}
b := byte(0)
for j := uint32(0); j < 8; j++ {
if dirty, _ := vBlockBitmap.Get(i); dirty {
b |= byte(1 << (7 - j))
}
i++
}
buffer.WriteByte(' ')
buffer.WriteString(fmt.Sprintf("%08b", b))
if i%bitsPerLine == 0 {
buffer.WriteString("\n")
}
}
buffer.WriteString("\n")
return buffer.String()
}