cvs commit: src/usr.bin/rev
Liam J. Foy
liamfoy at gmail.com
Mon Dec 13 13:42:12 PST 2004
On Mon, 13 Dec 2004 13:28:34 -0800 (PST), Matthew Dillon
<dillon at xxxxxxxxxxxxxxxxxxxx> wrote:
>
> :Hehe. Sorry for the late reply everyone. I have been busy with bits
>
>
> :and bobs. Sorry everyone about the mistake I made. I think
> :- Hide quoted text -
> :
> :Index: rev.c
> :===================================================================
> :RCS file: /home/dcvs/src/usr.bin/rev/rev.c,v
> :retrieving revision 1.5
> :diff -u -r1.5 rev.c
> :--- rev.c 13 Dec 2004 17:43:57 -0000 1.5
> :+++ rev.c 13 Dec 2004 18:53:33 -0000
> :@@ -90,7 +90,9 @@
> : clearerr(fp);
> : rval = 1;
> : }
> :- ++argv;
> :+ if (argv != NULL)
> :+ ++argv;
> :+
> : fclose(fp);
> : } while (*argv);
> : exit(rval);
> :
> :will fix it correct? thanks to tomokazu for noticing it.
> :
> :Cheers,
> :
> :--
> :Liam J. Foy
>
> Why don't you get rid of the do {...} while entirely and just make it
> a standard for() loop, with a 0-argument check for stdin and make
> the fgetln() loop its own procedure that you simply pass a FILE *
> into. The original code was very badly written.
>
> e.g.
>
> for (i = 1; i < argc; ++i) {
> if ((fp = fopen ...) != NULL ) {
> dofile(fp);
> fclose(fp);
> } else {
> warn ...
> }
> }
> if (argc == 1)
> dofile(stdin);
>
> dofile(FILE *fp)
> {
> ...
>
>
> }
>
> -Matt
> Matthew Dillon
> <dillon at xxxxxxxxxxxxx>
>
Joerg told me to do this but I decided to submit a patch to quickly
fix the stupid error I made. I will work on this now. Sorry again.
--
Liam J. Foy
http://www.dragonflybsd.org
I mourn for those who never knew you...
More information about the Commits
mailing list