зеркало из https://github.com/microsoft/git.git
t/helper/hexdump: add helper to print hexdump of stdin
Co-authored-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
d6d58ff8ab
Коммит
9915e08f9b
1
Makefile
1
Makefile
|
@ -729,6 +729,7 @@ TEST_BUILTINS_OBJS += test-getcwd.o
|
|||
TEST_BUILTINS_OBJS += test-hash-speed.o
|
||||
TEST_BUILTINS_OBJS += test-hash.o
|
||||
TEST_BUILTINS_OBJS += test-hashmap.o
|
||||
TEST_BUILTINS_OBJS += test-hexdump.o
|
||||
TEST_BUILTINS_OBJS += test-index-version.o
|
||||
TEST_BUILTINS_OBJS += test-json-writer.o
|
||||
TEST_BUILTINS_OBJS += test-lazy-init-name-hash.o
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
#include "test-tool.h"
|
||||
#include "git-compat-util.h"
|
||||
|
||||
/*
|
||||
* Read stdin and print a hexdump to stdout.
|
||||
*/
|
||||
int cmd__hexdump(int argc, const char **argv)
|
||||
{
|
||||
char buf[1024];
|
||||
ssize_t i, len;
|
||||
int have_data = 0;
|
||||
|
||||
for (;;) {
|
||||
len = xread(0, buf, sizeof(buf));
|
||||
if (len < 0)
|
||||
die_errno("failure reading stdin");
|
||||
if (!len)
|
||||
break;
|
||||
|
||||
have_data = 1;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
printf("%02x ", (unsigned char)buf[i]);
|
||||
}
|
||||
|
||||
if (have_data)
|
||||
putchar('\n');
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -38,6 +38,7 @@ static struct test_cmd cmds[] = {
|
|||
{ "getcwd", cmd__getcwd },
|
||||
{ "hashmap", cmd__hashmap },
|
||||
{ "hash-speed", cmd__hash_speed },
|
||||
{ "hexdump", cmd__hexdump },
|
||||
{ "index-version", cmd__index_version },
|
||||
{ "json-writer", cmd__json_writer },
|
||||
{ "lazy-init-name-hash", cmd__lazy_init_name_hash },
|
||||
|
|
|
@ -29,6 +29,7 @@ int cmd__genzeros(int argc, const char **argv);
|
|||
int cmd__getcwd(int argc, const char **argv);
|
||||
int cmd__hashmap(int argc, const char **argv);
|
||||
int cmd__hash_speed(int argc, const char **argv);
|
||||
int cmd__hexdump(int argc, const char **argv);
|
||||
int cmd__index_version(int argc, const char **argv);
|
||||
int cmd__json_writer(int argc, const char **argv);
|
||||
int cmd__lazy_init_name_hash(int argc, const char **argv);
|
||||
|
|
Загрузка…
Ссылка в новой задаче