md5sum.c - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       md5sum.c (774B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 #include <stdio.h>
            3 #include <stdlib.h>
            4 #include <stdint.h>
            5 
            6 #include "crypt.h"
            7 #include "md5.h"
            8 #include "util.h"
            9 
           10 static struct md5 s;
           11 struct crypt_ops md5_ops = {
           12         md5_init,
           13         md5_update,
           14         md5_sum,
           15         &s,
           16 };
           17 
           18 static void
           19 usage(void)
           20 {
           21         eprintf("usage: %s [-c] [file ...]\n", argv0);
           22 }
           23 
           24 int
           25 main(int argc, char *argv[])
           26 {
           27         int ret = 0, (*cryptfunc)(int, char **, struct crypt_ops *, uint8_t *, size_t) = cryptmain;
           28         uint8_t md[MD5_DIGEST_LENGTH];
           29 
           30         ARGBEGIN {
           31         case 'b':
           32         case 't':
           33                 /* ignore */
           34                 break;
           35         case 'c':
           36                 cryptfunc = cryptcheck;
           37                 break;
           38         default:
           39                 usage();
           40         } ARGEND
           41 
           42         ret |= cryptfunc(argc, argv, &md5_ops, md, sizeof(md));
           43         ret |= fshut(stdin, "<stdin>") | fshut(stdout, "<stdout>");
           44 
           45         return ret;
           46 }