From 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 21:39:35 +0000 Subject: 20060303 --- utils/md5sum/md5sum.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ utils/md5sum/mkfile | 19 ++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 utils/md5sum/md5sum.c create mode 100644 utils/md5sum/mkfile (limited to 'utils/md5sum') diff --git a/utils/md5sum/md5sum.c b/utils/md5sum/md5sum.c new file mode 100644 index 00000000..11c373d9 --- /dev/null +++ b/utils/md5sum/md5sum.c @@ -0,0 +1,61 @@ +#include +#include + +#pragma varargck type "M" uchar* + +static int +digestfmt(Fmt *fmt) +{ + char buf[MD5dlen*2+1]; + uchar *p; + int i; + + p = va_arg(fmt->args, uchar*); + for(i=0; i 0) + md5(buf, n, nil, s); + md5(nil, 0, digest, s); + if(name == nil) + print("%M\n", digest); + else + print("%M\t%s\n", digest, name); +} + +void +main(int argc, char *argv[]) +{ + int i, fd; + + ARGBEGIN{ + default: + fprint(2, "usage: md5sum [file...]\n"); + exits("usage"); + }ARGEND + + fmtinstall('M', digestfmt); + + if(argc == 0) + sum(0, nil); + else for(i = 0; i < argc; i++){ + fd = open(argv[i], OREAD); + if(fd < 0){ + fprint(2, "md5sum: can't open %s: %r\n", argv[i]); + continue; + } + sum(fd, argv[i]); + close(fd); + } + exits(nil); +} diff --git a/utils/md5sum/mkfile b/utils/md5sum/mkfile new file mode 100644 index 00000000..462a91ee --- /dev/null +++ b/utils/md5sum/mkfile @@ -0,0 +1,19 @@ +<../../mkconfig + +# +# the md5sum command is needed for the test suite +# + +TARG=md5sum + +OFILES= md5sum.$O\ + + +HFILES= + +LIBS=9 sec + +BIN=$ROOT/$OBJDIR/bin + +<$ROOT/mkfiles/mkone-$SHELLTYPE + -- cgit v1.2.3