Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!hogpc!houti!ariel!vax135!cornell!uw-beaver!tektronix!hplabs!sri-unix!jromine@UCI-750B.ARPA From: jromine@UCI-750B.ARPA@sri-unix.UUCP Newsgroups: net.unix-wizards Subject: diff -r -l doesn't work correctly Message-ID: <12756@sri-arpa.UUCP> Date: Thu, 23-Aug-84 21:12:42 EDT Article-I.D.: sri-arpa.12756 Posted: Thu Aug 23 21:12:42 1984 Date-Received: Thu, 30-Aug-84 01:16:17 EDT Lines: 29 From: John Romine Description: Diff doesn't list differences in files more than one subdirectory deep when using the -r & -l options. Repeat-By: Run "diff -r -l d1 d2", where directories d1 and d2 have a subdirectory containing a file which differs. Diff won't list it. Fix: In diff/diffdir.c, routine calldiff(), add this conditional around the two close statements. (near line 356) *** :diffdir.c Thu Aug 23 17:56:28 1984 --- diffdir.c Thu Aug 23 17:56:48 1984 *************** done(); } close(pv[0]); close(pv[1]); while (wait(&status) != pid) --------------- done(); } + if (wantpr) { close(pv[0]); close(pv[1]); + } while (wait(&status) != pid)