2008-07-27 Bean <bean123ch@gmail.com>
* commands/crc.c: New file. * lib/crc.c: Likewise. * include/grub/lib/crc.h: Likewise. * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h. * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h. (hexdump): Move this function to ... * lib/hexdump.c: ... here. * include/grub/hexdump.h: Renamed to ... * include/grub/lib/hexdump.h: ... this. * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h * util/grub-editenv.c: Likewise. * include/envblk.h: Renamed to ... * include/lib/envblk.h: ... this. * util/envblk.c: Renamed to ... * lib/envblk.c: ... this. * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c => lib/hexdump.c. (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c (pkglib_MODULES): Add crc.mod. (hexdump_mod_SOURCES): Add lib/hexdump.c. (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c. (crc_mod_SOURCES): New macro. (crc_mod_CFLAGS): Likewise. (crc_mod_LDFLAGS): Likewise. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise. * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
This commit is contained in:
parent
8749e9e524
commit
a85cd5a0b5
26 changed files with 479 additions and 125 deletions
|
@ -24,8 +24,8 @@
|
|||
#include <grub/disk.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/gzio.h>
|
||||
#include <grub/hexdump.h>
|
||||
#include <grub/partition.h>
|
||||
#include <grub/lib/hexdump.h>
|
||||
|
||||
static const struct grub_arg_option options[] = {
|
||||
{"skip", 's', 0, "skip offset bytes from the beginning of file.", 0,
|
||||
|
@ -34,52 +34,6 @@ static const struct grub_arg_option options[] = {
|
|||
{0, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
void
|
||||
hexdump (unsigned long bse, char *buf, int len)
|
||||
{
|
||||
int pos;
|
||||
char line[80];
|
||||
|
||||
while (len > 0)
|
||||
{
|
||||
int cnt, i;
|
||||
|
||||
pos = grub_sprintf (line, "%08lx ", bse);
|
||||
cnt = 16;
|
||||
if (cnt > len)
|
||||
cnt = len;
|
||||
|
||||
for (i = 0; i < cnt; i++)
|
||||
{
|
||||
pos += grub_sprintf (&line[pos], "%02x ", (unsigned char) buf[i]);
|
||||
if ((i & 7) == 7)
|
||||
line[pos++] = ' ';
|
||||
}
|
||||
|
||||
for (; i < 16; i++)
|
||||
{
|
||||
pos += grub_sprintf (&line[pos], " ");
|
||||
if ((i & 7) == 7)
|
||||
line[pos++] = ' ';
|
||||
}
|
||||
|
||||
line[pos++] = '|';
|
||||
|
||||
for (i = 0; i < cnt; i++)
|
||||
line[pos++] = ((buf[i] >= 32) && (buf[i] < 127)) ? buf[i] : '.';
|
||||
|
||||
line[pos++] = '|';
|
||||
|
||||
line[pos] = 0;
|
||||
|
||||
grub_printf ("%s\n", line);
|
||||
|
||||
bse += 16;
|
||||
buf += 16;
|
||||
len -= cnt;
|
||||
}
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_hexdump (struct grub_arg_list *state, int argc, char **args)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue