On Wed, May 13, 2009 at 10:40:13AM +0200, Otto Moerbeek wrote:
> Come to think of it, why don't you just putchar(tolower(hf->name[i]))
> in a loop? Saves you the calloc and error handling.
>
> Also, don't forget to fix usage().
>
> -Otto
Yeah, thanks. Well I got good and critical feedback and Otto's prodding was
good enough to make me rewrite this puny patch. Gone are errno, calloc() and
in is the putchar(). I stayed away from adding sthen's idea, perhaps he can do
the patch for that. Patch follows:
? cksum.1-orig
? cksum.patch
? md5.c-orig
Index: cksum.1
===================================================================
RCS file: /cvs/src/bin/md5/cksum.1,v
retrieving revision 1.19
diff -u -r1.19 cksum.1
--- cksum.1 8 Feb 2009 17:15:09 -0000 1.19
+++ cksum.1 13 May 2009 10:03:46 -0000
@@ -42,7 +42,7 @@
.Sh SYNOPSIS
.Nm cksum
.Bk -words
-.Op Fl bpqrtx
+.Op Fl blpqrtx
.Op Fl a Ar algorithms
.Op Fl c Op Ar checklist ...
.Op Fl o Ar 1 | 2
@@ -162,6 +162,8 @@
option may not be used in conjunction with more than a single
.Fl a
option.
+.It Fl l
+outputs the algorithms available and exits.
.It Fl o Ar 1 | 2
Use historic algorithms instead of the (superior) default one
(see below).
Index: md5.c
===================================================================
RCS file: /cvs/src/bin/md5/md5.c,v
retrieving revision 1.50
diff -u -r1.50 md5.c
--- md5.c 6 Sep 2008 12:01:34 -0000 1.50
+++ md5.c 13 May 2009 10:03:46 -0000
@@ -210,14 +210,14 @@
struct hash_list hl;
size_t len;
char *cp, *input_string;
- int fl, error, base64;
+ int fl, error, base64, i;
int bflag, cflag, pflag, rflag, tflag, xflag;
static const char *optstr[5] = {
"bcpqrs:tx",
"bcpqrs:tx",
"bcpqrs:tx",
- "a:bco:pqrs:tx",
+ "a:bco:lpqrs:tx",
"a:bco:pqrs:tx"
};
@@ -315,6 +315,15 @@
if (hftmp == TAILQ_END(&hl))
hash_insert(&hl, hf, 0);
break;
+ case 'l':
+ for (hf = functions; hf->name != NULL; hf++) {
+ len = strlen(hf->name);
+ for (i = 0; i < len; i++) {
+ putchar(tolower(hf->name[i]));
+ }
+ putchar('\n');
+ }
+ exit(0);
case 'p':
pflag = 1;
break;