Currently in BookieShell for formatting Entry (in formatEntry method), to skip digest, position of recBuff is set to (32+8) (rebuff.position(32 + 8);). This works fine if the Digest is of type CRC32Digest where the MacCodeLength is 8, but it wouldn’t work well for MacDigest since its MacCodeLength is 20 or for any other future DigestManager if its MacCodeLength != 8.
Hence when we execute ReadLedgerCmd or ReadjournalCmd, for CRC32 it prints data correctly for e.g.: “EntryNData”. But for MacDigest it would print something like the following - "....N<..}.`rEntryNData”, here first 12 bytes is part of Digest of that Entry. I tried to see if there is easy way to fix it but couldn’t find any. Basically I’m trying to find out if there is any easy way to find the DigestType or the MacCodeLength of that entry so that we can skip those bytes. The entryLength we receive as part of 'recBuff’ is not actual length of the entry but the accumulative length of the data until this entry, so it won’t be helpful to us. Any help would be appreciated, to print the actual entry data without digest noise. Thanks, Charan.