socsvn commit: r237789 - in soc2012/jhagewood: . diff diff/diff
diff/diff-orig diff/gabor_diff diff3 diff3/diff3
diff3/diff3-orig mdocml mdocml/mdocml-1.12.1
mdocml/mdocml-1.12.1-orig mdocml/ports-...
jhagewood at FreeBSD.org
jhagewood at FreeBSD.org
Fri Jun 15 23:01:36 UTC 2012
Author: jhagewood
Date: Fri Jun 15 23:01:33 2012
New Revision: 237789
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=237789
Log:
Added:
soc2012/jhagewood/Milestones
soc2012/jhagewood/diff/
soc2012/jhagewood/diff/TODO
soc2012/jhagewood/diff/diff/
soc2012/jhagewood/diff/diff-orig/
soc2012/jhagewood/diff/diff-orig/Makefile
soc2012/jhagewood/diff/diff-orig/diff (contents, props changed)
soc2012/jhagewood/diff/diff-orig/diff.1
soc2012/jhagewood/diff/diff-orig/diff.1.gz (contents, props changed)
soc2012/jhagewood/diff/diff-orig/diff.c
soc2012/jhagewood/diff/diff-orig/diff.h
soc2012/jhagewood/diff/diff-orig/diffdir.c
soc2012/jhagewood/diff/diff-orig/diffreg.c
soc2012/jhagewood/diff/diff-orig/pathnames.h
soc2012/jhagewood/diff/diff/Makefile
soc2012/jhagewood/diff/diff/diff (contents, props changed)
soc2012/jhagewood/diff/diff/diff.1
soc2012/jhagewood/diff/diff/diff.1.gz (contents, props changed)
soc2012/jhagewood/diff/diff/diff.c
soc2012/jhagewood/diff/diff/diff.h
soc2012/jhagewood/diff/diff/diffdir.c
soc2012/jhagewood/diff/diff/diffreg.c
soc2012/jhagewood/diff/diff/pathnames.h
soc2012/jhagewood/diff/gabor_diff/
soc2012/jhagewood/diff/gabor_diff/Makefile
soc2012/jhagewood/diff/gabor_diff/diff.1
soc2012/jhagewood/diff/gabor_diff/diff.c
soc2012/jhagewood/diff/gabor_diff/diff.h
soc2012/jhagewood/diff/gabor_diff/diffdir.c
soc2012/jhagewood/diff/gabor_diff/diffreg.c
soc2012/jhagewood/diff/gabor_diff/pathnames.h
soc2012/jhagewood/diff/hagewood-diff.patch
soc2012/jhagewood/diff3/
soc2012/jhagewood/diff3/diff3/
soc2012/jhagewood/diff3/diff3-orig/
soc2012/jhagewood/diff3/diff3-orig/Makefile
soc2012/jhagewood/diff3/diff3-orig/diff3.1
soc2012/jhagewood/diff3/diff3-orig/diff3.ksh
soc2012/jhagewood/diff3/diff3-orig/diff3.sh
soc2012/jhagewood/diff3/diff3-orig/diff3prog.c
soc2012/jhagewood/diff3/diff3/Makefile
soc2012/jhagewood/diff3/diff3/diff3.1
soc2012/jhagewood/diff3/diff3/diff3.ksh
soc2012/jhagewood/diff3/diff3/diff3.sh
soc2012/jhagewood/diff3/diff3/diff3prog.c
soc2012/jhagewood/diff3/hagewood-diff3.patch
soc2012/jhagewood/mdocml/
soc2012/jhagewood/mdocml/hagewood-mdocml-ns.patch
soc2012/jhagewood/mdocml/hagewood-mdocml-ti.patch
soc2012/jhagewood/mdocml/manpaths.txt
soc2012/jhagewood/mdocml/mdocml-1.12.1/
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/Makefile
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/TODO
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/apropos.1
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/apropos.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/apropos_db.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/apropos_db.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/arch.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/arch.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/att.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/att.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/catman.8
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/catman.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/cgi.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/chars.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/chars.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/compat_fgetln.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/compat_getsubopt.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/compat_strlcat.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/compat_strlcpy.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/config.h.post
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/config.h.pre
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/demandoc.1
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/demandoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/eqn.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/eqn.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/eqn_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/eqn_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/example.style.css
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/external.png (contents, props changed)
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/html.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/index.css
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/index.sgml
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/lib.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/lib.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/libman.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/libmandoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/libmdoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/libroff.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/main.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/main.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man-cgi.css
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man.cgi.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man_hash.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man_macro.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/man_validate.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandoc.1
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandoc.3
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandoc_char.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandocdb.8
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandocdb.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mandocdb.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/manpath.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/manpath.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_argv.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_hash.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_macro.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_man.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/mdoc_validate.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/msec.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/msec.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/out.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/out.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/preconv.1
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/preconv.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/predefs.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/read.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/roff.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/roff.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/st.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/st.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/style.css
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl.7
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl_data.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl_layout.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl_opts.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tbl_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/term.h
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/term_ascii.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/term_ps.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-fgetln.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-getsubopt.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-mmap.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-strlcat.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-strlcpy.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/test-strptime.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/tree.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/vol.c
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/vol.in
soc2012/jhagewood/mdocml/mdocml-1.12.1-orig/whatis.1
soc2012/jhagewood/mdocml/mdocml-1.12.1/Makefile
soc2012/jhagewood/mdocml/mdocml-1.12.1/TODO
soc2012/jhagewood/mdocml/mdocml-1.12.1/apropos.1
soc2012/jhagewood/mdocml/mdocml-1.12.1/apropos.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/apropos_db.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/apropos_db.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/arch.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/arch.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/att.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/att.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/catman.8
soc2012/jhagewood/mdocml/mdocml-1.12.1/catman.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/cgi.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/chars.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/chars.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/compat_fgetln.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/compat_getsubopt.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/compat_strlcat.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/compat_strlcpy.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/config.h.post
soc2012/jhagewood/mdocml/mdocml-1.12.1/config.h.pre
soc2012/jhagewood/mdocml/mdocml-1.12.1/demandoc.1
soc2012/jhagewood/mdocml/mdocml-1.12.1/demandoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/eqn.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/eqn.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/eqn_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/eqn_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/example.style.css
soc2012/jhagewood/mdocml/mdocml-1.12.1/external.png (contents, props changed)
soc2012/jhagewood/mdocml/mdocml-1.12.1/html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/html.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/index.css
soc2012/jhagewood/mdocml/mdocml-1.12.1/index.sgml
soc2012/jhagewood/mdocml/mdocml-1.12.1/lib.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/lib.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/libman.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/libmandoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/libmdoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/libroff.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/main.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/main.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/man-cgi.css
soc2012/jhagewood/mdocml/mdocml-1.12.1/man.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/man.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/man.cgi.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/man.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/man.h.orig
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_hash.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_macro.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_term.c.orig
soc2012/jhagewood/mdocml/mdocml-1.12.1/man_validate.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandoc.1
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandoc.3
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandoc_char.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandocdb.8
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandocdb.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mandocdb.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/manpath.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/manpath.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_argv.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_hash.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_macro.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_man.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/mdoc_validate.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/msec.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/msec.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/out.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/out.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/preconv.1
soc2012/jhagewood/mdocml/mdocml-1.12.1/preconv.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/predefs.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/read.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/roff.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/roff.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/st.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/st.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/style.css
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl.7
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl_data.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl_html.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl_layout.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl_opts.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tbl_term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/term.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/term.h
soc2012/jhagewood/mdocml/mdocml-1.12.1/term_ascii.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/term_ps.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-fgetln.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-getsubopt.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-mmap.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-strlcat.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-strlcpy.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/test-strptime.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/tree.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/vol.c
soc2012/jhagewood/mdocml/mdocml-1.12.1/vol.in
soc2012/jhagewood/mdocml/mdocml-1.12.1/whatis.1
soc2012/jhagewood/mdocml/mdocml-manpage-errors.txt
soc2012/jhagewood/mdocml/ports-textproc-patches/
soc2012/jhagewood/mdocml/ports-textproc-patches/patch-config.txt
soc2012/jhagewood/mdocml/ports-textproc-patches/patch-lib.in.txt
soc2012/jhagewood/mdocml/ports-textproc-patches/patch-mdoc_validate.c
soc2012/jhagewood/mdocml/ports-textproc-patches/patch-msec.in.txt
soc2012/jhagewood/mdocml/tests/
soc2012/jhagewood/mdocml/tests/compile-man-pages.sh (contents, props changed)
soc2012/jhagewood/mdocml/tests/mdocml-test.sh (contents, props changed)
soc2012/jhagewood/sdiff/
soc2012/jhagewood/sdiff/Makefile
soc2012/jhagewood/sdiff/common.c
soc2012/jhagewood/sdiff/common.h
soc2012/jhagewood/sdiff/edit.c
soc2012/jhagewood/sdiff/extern.h
soc2012/jhagewood/sdiff/sdiff.1
soc2012/jhagewood/sdiff/sdiff.c
Added: soc2012/jhagewood/Milestones
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2012/jhagewood/Milestones Fri Jun 15 23:01:33 2012 (r237789)
@@ -0,0 +1,30 @@
+May 21 - June 17
+
+ Implement missing features of mdocml, including legacy features.
+ Testing of mdocml.
+
+June 18 - July 1
+
+ Complete diff
+ Debugging and testing of diff
+
+July 2 - July 18
+
+ Mid-term evaluations.
+ Complete sdiff
+ Debugging and testing of sdiff
+
+July 19 - August 5
+
+ Complete diff3
+ Debugging and testing of diff3
+
+August 6 – August 12
+
+ Thouroughly test and benchmark all utilities.
+
+August 13 - August 20
+
+ "Pencils down" period.
+ Finish cleaning up code and do any testing that might be left.
+ Write documentation.
Added: soc2012/jhagewood/diff/TODO
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2012/jhagewood/diff/TODO Fri Jun 15 23:01:33 2012 (r237789)
@@ -0,0 +1,19 @@
+TASK STATUS NOTE
+
+--unified GNU compatibility COMPLETE Fixed timestamp.
+--context GNU compatibility IN PROGRESS
+--ingnore-blank-lines INCOMPLETE
+--left-column INCOMPLETE
+--show-function-line INCOMPLETE
+--unidirectional-new-file INCOMPLETE
+--normal COMPLETE Sets format to D_NORMAL in getopt_long().
+--supress-common-lines INCOMPLETE
+--GTYPE-group-format INCOMPLETE
+--line-format INCOMPLETE
+--LTYPE-line-format INCOMPLETE
+--from-file INCOMPLETE
+--to-file INCOMPLETE
+--horizontal-lines INCOMPLETE
+--speed-large-file INCOMPLETE
+--ignore-tab-expansion IN PROGRESS
+--width INCOMPLETE
Added: soc2012/jhagewood/diff/diff-orig/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2012/jhagewood/diff/diff-orig/Makefile Fri Jun 15 23:01:33 2012 (r237789)
@@ -0,0 +1,10 @@
+# $FreeBSD$
+# $OpenBSD: Makefile,v 1.2 2003/06/25 02:42:50 deraadt Exp $
+
+DEBUG_FLAGS+= -g
+
+PROG= diff
+SRCS= diff.c diffdir.c diffreg.c
+CFLAGS+= -std=c99 -Wall -pedantic
+
+.include <bsd.prog.mk>
Added: soc2012/jhagewood/diff/diff-orig/diff
==============================================================================
Binary file. No diff available.
Added: soc2012/jhagewood/diff/diff-orig/diff.1
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2012/jhagewood/diff/diff-orig/diff.1 Fri Jun 15 23:01:33 2012 (r237789)
@@ -0,0 +1,511 @@
+.\" $FreeBSD$
+.\" $OpenBSD: diff.1,v 1.33 2007/05/31 19:20:09 jmc Exp $
+.\"
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)diff.1 8.1 (Berkeley) 6/30/93
+.\"
+.Dd Apr 7, 2008
+.Dt DIFF 1
+.Os
+.Sh NAME
+.Nm diff
+.Nd differential file and directory comparator
+.Sh SYNOPSIS
+.Nm diff
+.Op Fl abdilpqTtw
+.Op Fl I Ar pattern
+.Oo
+.Fl c | e | f |
+.Fl n | u
+.Oc
+.Op Fl L Ar label
+.Ar file1 file2
+.Nm diff
+.Op Fl abdilpqTtw
+.Op Fl I Ar pattern
+.Op Fl L Ar label
+.Fl C Op Ar number
+.Ar file1 file2
+.Nm diff
+.Op Fl abdilqtw
+.Op Fl I Ar pattern
+.Fl D Ar string
+.Ar file1 file2
+.Nm diff
+.Op Fl abdilpqTtw
+.Op Fl I Ar pattern
+.Op Fl L Ar label
+.Fl U Ar number
+.Ar file1 file2
+.Nm diff
+.Op Fl abdilNPpqrsTtw
+.Op Fl I Ar pattern
+.Oo
+.Fl c | e | f |
+.Fl n | u
+.Oc
+.Bk -words
+.Op Fl L Ar label
+.Op Fl S Ar name
+.Op Fl X Ar file
+.Op Fl x Ar pattern
+.Ek
+.Ar dir1 dir2
+.Nm diff
+.Op Fl v
+.Sh DESCRIPTION
+The
+.Nm
+utility compares the contents of
+.Ar file1
+and
+.Ar file2
+and writes to the standard output the list of changes necessary to
+convert one file into the other.
+No output is produced if the files are identical.
+.Pp
+Output options (mutually exclusive):
+.Bl -tag -width Ds
+.It Fl C Op Ar number , Fl Fl context Ns = Ns Op Ar number
+Like
+.Fl c
+but produces a diff with
+.Ar number
+lines of context.
+.It Fl c
+Produces a diff with 3 lines of context.
+With
+.Fl c
+the output format is modified slightly:
+the output begins with identification of the files involved and
+their creation dates and then each change is separated
+by a line with fifteen
+.Li * Ns 's .
+The lines removed from
+.Ar file1
+are marked with
+.Sq \&-\ \& ;
+those added to
+.Ar file2
+are marked
+.Sq \+\ \& .
+Lines which are changed from one file to the other are marked in
+both files with
+.Sq !\ \& .
+Changes which lie within 3 lines of each other are grouped together on
+output.
+.It Fl D Ar string , Fl Fl ifdef Ns = Ns Ar string
+Creates a merged version of
+.Ar file1
+and
+.Ar file2
+on the standard output, with C preprocessor controls included so that
+a compilation of the result without defining
+.Ar string
+is equivalent to compiling
+.Ar file1 ,
+while defining
+.Ar string
+will yield
+.Ar file2 .
+.It Fl e , Fl Fl ed
+Produces output in a form suitable as input for the editor utility,
+.Xr ed 1 ,
+which can then be used to convert file1 into file2.
+.Pp
+Extra commands are added to the output when comparing directories with
+.Fl e ,
+so that the result is a
+.Xr sh 1
+script for converting text files which are common to the two directories
+from their state in
+.Ar dir1
+to their state in
+.Ar dir2 .
+.It Fl f
+Identical output to that of the
+.Fl e
+flag, but in reverse order.
+It cannot be digested by
+.Xr ed 1 .
+.It Fl n , Fl Fl rcs
+Produces a script similar to that of
+.Fl e ,
+but in the opposite order and with a count of changed lines on each
+insert or delete command.
+This is the form used by
+.Xr rcsdiff 1 .
+.It Fl q , Fl Fl brief
+Just print a line when the files differ.
+Does not output a list of changes.
+.It Fl U Op Ar number , Fl Fl unified Ns = Ns Op Ar number
+Like
+.Fl u
+but produces a diff with
+.Ar number
+lines of context.
+.It Fl u
+Produces a
+.Em unified
+diff with 3 lines of context.
+A unified diff is similar to the context diff produced by the
+.Fl c
+option.
+However, unlike with
+.Fl c ,
+all lines to be changed (added and/or removed) are present in
+a single section.
+.El
+.Pp
+Comparison options:
+.Bl -tag -width Ds
+.It Fl a , Fl Fl text
+Treat all files as
+.Tn ASCII
+text.
+Normally
+.Nm
+will simply print
+.Dq Binary files ... differ
+if files contain binary characters.
+Use of this option forces
+.Nm
+to produce a diff.
+.It Fl b , Fl Fl ignore-space-change
+Causes trailing blanks (spaces and tabs) to be ignored, and other
+strings of blanks to compare equal.
+.It Fl d , Fl Fl minimal
+Try very hard to produce a diff as small as possible.
+This may consume a lot of processing power and memory when processing
+large files with many changes.
+.It Fl I Ar pattern , Fl Fl ignore-matching-lines Ns = Ns Ar pattern
+Ignores changes, insertions, and deletions whose lines match the
+extended regular expression
+.Ar pattern .
+Multiple
+.Fl I
+patterns may be specified.
+All lines in the change must match some pattern for the change to be
+ignored.
+See
+.Xr re_format 7
+for more information on regular expression patterns.
+.It Fl i , Fl Fl ignore-case
+Ignores the case of letters.
+E.g.,
+.Dq A
+will compare equal to
+.Dq a .
+.It Fl L Ar label
+Print
+.Ar label
+instead of the first (and second, if this option is specified twice)
+file name and time in the context or unified diff header.
+.It Fl l , Fl Fl paginate
+Long output format; each text file
+.Nm diff Ns \'d
+is piped through
+.Xr pr 1
+to paginate it;
+other differences are remembered and summarized
+after all text file differences are reported.
+.It Fl p , Fl Fl show-c-function
+With unified and context diffs, show with each change
+the first 40 characters of the last line before the context beginning
+with a letter, an underscore or a dollar sign.
+For C source code following standard layout conventions, this will
+show the prototype of the function the change applies to.
+.It Fl T , Fl Fl initial-tab
+Print a tab rather than a space before the rest of the line for the
+normal, context or unified output formats.
+This makes the alignment of tabs in the line consistent.
+.It Fl t , Fl Fl expand-tabs
+Will expand tabs in output lines.
+Normal or
+.Fl c
+output adds character(s) to the front of each line which may screw up
+the indentation of the original source lines and make the output listing
+difficult to interpret.
+This option will preserve the original source's indentation.
+.It Fl w , Fl Fl ignore-all-space
+Is similar to
+.Fl b
+but causes whitespace (blanks and tabs) to be totally ignored.
+E.g.,
+.Dq if (\ \&a == b \&)
+will compare equal to
+.Dq if(a==b) .
+.El
+.Pp
+Directory comparison options:
+.Bl -tag -width Ds
+.It Fl N , Fl Fl new-file
+If a file is found in only one directory, act as if it was found in the
+other directory too but was of zero size.
+.It Fl P
+If a file is found only in
+.Ar dir2 ,
+act as if it was found in
+.Ar dir1
+too but was of zero size.
+.It Fl r , Fl Fl recursive
+Causes application of
+.Nm
+recursively to common sub7 directories encountered.
+.It Fl S Ar name , Fl starting-file Ns = Ns Ar name
+Re-starts a directory
+.Nm
+in the middle, beginning with file
+.Ar name .
+.It Fl s , Fl Fl report-identical-files
+Causes
+.Nm
+to report files which are the same, which are otherwise not mentioned.
+.It Fl X Ar file , Fl Fl exclude-from Ns = Ns Ar file
+Exclude files and subdirectories from comparison whose basenames match
+lines in
+.Ar file .
+Multiple
+.Fl X
+options may be specified.
+.It Fl x Ar pattern , Fl Fl exclude Ns = Ns Ar pattern
+Exclude files and subdirectories from comparison whose basenames match
+.Ar pattern .
+Patterns are matched using shell-style globbing via
+.Xr fnmatch 3 .
+Multiple
+.Fl x
+options may be specified.
+.It Fl v , Fl Fl version
+Print version ino.
+.El
+.Pp
+If both arguments are directories,
+.Nm
+sorts the contents of the directories by name, and then runs the
+regular file
+.Nm
+algorithm, producing a change list,
+on text files which are different.
+Binary files which differ,
+common subdirectories, and files which appear in only one directory
+are described as such.
+In directory mode only regular files and directories are compared.
+If a non-regular file such as a device special file or
+.Tn FIFO
+is encountered, a diagnostic message is printed.
+.Pp
+If only one of
+.Ar file1
+and
+.Ar file2
+is a directory,
+.Nm
+is applied to the non-directory file and the file contained in
+the directory file with a filename that is the same as the
+last component of the non-directory file.
+.Pp
+If either
+.Ar file1
+or
+.Ar file2
+is
+.Sq Fl ,
+the standard input is
+used in its place.
+.Ss Output Style
+The default (without
+.Fl e ,
+.Fl c ,
+or
+.Fl n
+.\" -C
+options)
+output contains lines of these forms, where
+.Va XX , YY , ZZ , QQ
+are line numbers respective of file order.
+.Pp
+.Bl -tag -width "XX,YYcZZ,QQ" -compact
+.It Li XX Ns Ic a Ns Li YY
+At (the end of) line
+.Va XX
+of
+.Ar file1 ,
+append the contents
+of line
+.Va YY
+of
+.Ar file2
+to make them equal.
+.It Li XX Ns Ic a Ns Li YY,ZZ
+Same as above, but append the range of lines,
+.Va YY
+through
+.Va ZZ
+of
+.Ar file2
+to line
+.Va XX
+of file1.
+.It Li XX Ns Ic d Ns Li YY
+At line
+.Va XX
+delete
+the line.
+The value
+.Va YY
+tells to which line the change would bring
+.Ar file1
+in line with
+.Ar file1 .
+.It Li XX,YY Ns Ic d Ns Li ZZ
+Delete the range of lines
+.Va XX
+through
+.Va YY
+in
+.Ar file1 .
+.It Li XX Ns Ic c Ns Li YY
+Change the line
+.Va XX
+in
+.Ar file1
+to the line
+.Va YY
+in
+.Ar file2 .
+.It Li XX,YY Ns Ic c Ns Li ZZ
+Replace the range of specified lines with the line
+.Va ZZ .
+.It Li XX,YY Ns Ic c Ns Li ZZ,QQ
+Replace the range
+.Va XX , Ns Va YY
+from
+.Ar file1
+with the range
+.Va ZZ , Ns Va QQ
+from
+.Ar file2 .
+.El
+.Pp
+These lines resemble
+.Xr ed 1
+subcommands to convert
+.Ar file1
+into
+.Ar file2 .
+The line numbers before the action letters pertain to
+.Ar file1 ;
+those after pertain to
+.Ar file2 .
+Thus, by exchanging
+.Ic a
+for
+.Ic d
+and reading the line in reverse order, one can also
+determine how to convert
+.Ar file2
+into
+.Ar file1 .
+As in
+.Xr ed 1 ,
+identical
+pairs (where num1 = num2) are abbreviated as a single
+number.
+.Sh ENVIRONMENT
+.Bl -tag -width TMPDIR
+.It Ev TMPDIR
+If the environment variable
+.Ev TMPDIR
+exists,
+.Nm
+will use the directory specified by
+.Ev TMPDIR
+as the temporary directory.
+.El
+.Sh FILES
+.Bl -tag -width /tmp/diff.XXXXXXXX -compact
+.It Pa /tmp/diff. Ns Ar XXXXXXXX
+Temporary file used when comparing a device or the standard input.
+Note that the temporary file is unlinked as soon as it is created
+so it will not show up in a directory listing.
+.El
+.Sh DIAGNOSTICS
+The
+.Nm
+utility exits with one of the following values:
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It 0
+No differences were found.
+.It 1
+Differences were found.
+.It \*(Gt1
+An error occurred.
+.El
+.Sh SEE ALSO
+.Xr cmp 1 ,
+.Xr comm 1 ,
+.Xr diff3 1 ,
+.Xr ed 1 ,
+.Xr pr 1 ,
+.Xr sdiff 1 ,
+.Xr fnmatch 3 ,
+.Xr re_format 7
+.Sh STANDARDS
+The
+.Nm
+utility is compliant with the
+St -p1003.1-2004
+specification.
+.Pp
+The flags
+.Op Fl aDdIiLlNnPpqSsTtUuwXx
+are extensions to that specification.
+.Sh HISTORY
+A
+.Nm
+command appeared in
+.At v6 .
+.Sh BUGS
+When comparing directories with the
+.Fl b ,
+.Fl w
+or
+.Fl i
+options specified,
+.Nm
+first compares the files ala
+.Xr cmp 1 ,
+and then decides to run the
+.Nm
+algorithm if they are not equal.
+This may cause a small amount of spurious output if the files
+then turn out to be identical because the only differences are
+insignificant whitespace or case differences.
Added: soc2012/jhagewood/diff/diff-orig/diff.1.gz
==============================================================================
Binary file. No diff available.
Added: soc2012/jhagewood/diff/diff-orig/diff.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2012/jhagewood/diff/diff-orig/diff.c Fri Jun 15 23:01:33 2012 (r237789)
@@ -0,0 +1,599 @@
+/*-
+ * Copyright (c) 2003 Todd C. Miller <Todd.Miller at courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Sponsored in part by the Defense Advanced Research Projects
+ * Agency (DARPA) and Air Force Research Laboratory, Air Force
+ * Materiel Command, USAF, under agreement number F39502-99-1-0512.
+ */
+
+#include <sys/cdefs.h>
+
+#ifndef lint
+#if 0
+__RCSID("$OpenBSD: diff.c,v 1.50 2007/05/29 18:24:56 ray Exp $");
+#else
+__FBSDID("$FreeBSD$");
+#endif
+#endif /* not lint */
+
+#include <sys/param.h>
+#include <sys/stat.h>
+
+#include <ctype.h>
+#include <err.h>
+#include <errno.h>
+#include <getopt.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "diff.h"
+#include "pathnames.h"
+
+int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag;
+int sflag, tflag, Tflag, wflag;
+int Bflag, yflag;
+int strip_cr, tabsize=8;
+char ignore_file_case = 0;
+int format, context, status;
+char *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
+struct stat stb1, stb2;
+struct excludes *excludes_list;
+regex_t ignore_re;
+
+int flag_opts = 0;
+
+#define OPTIONS "0123456789aBbC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwXy:x"
+
+
+/* Options which exceed manageable alphanumeric assignments */
+enum
+{
+ OPT_IGN_FN_CASE = CHAR_MAX + 1,
+ OPT_NIGN_FN_CASE,
+ OPT_STRIPCR,
+ OPT_NORMAL,
+ OPT_LEFTC,
+ OT_SUPCL,
+ OPT_GTYPE,
+ OPT_LF,
+ OPT_LLF,
+ OPT_TSIZE,
+ OPT_UNINF,
+ OPT_FFILE,
+ OPT_TOFILE,
+ OPT_HLINES,
+ OPT_LFILES,
+ OPT_HELP,
+};
+
+
+static struct option longopts[] = {
+/* XXX: UNIMPLEMENTED
+ { "normal", no_argument, NULL, OPT_NORMAL },
+ { "left-column", no_argument, NULL, OPT_LEFTC },
+ { "suppress-common-lines", no_argument, NULL, OT_SUPCL },
+ { "GTYPE-group-format", required_argument, NULL, OPT_GTYPE },
+ { "line-format", required_argument, NULL, OPT_LF },
+ { "LTYPE-line-format", required_argument, NULL, OPT_LLF },
+ { "unidirectional-new-file", no_argument, NULL, OPT_UNINF },
+ { "from-file", required_argument, NULL, OPT_FFILE },
+ { "to-file", required_argument, NULL, OPT_TOFILE },
+ { "horizon-lines", required_argument, NULL, OPT_HLINES },
+ { "speed-large-files", no_argument, NULL, OPT_LFILES }, */
+ { "tabsize", optional_argument, NULL, OPT_TSIZE },
+ { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR },
+ { "help", no_argument, NULL, OPT_HELP },
+ { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE },
+ { "no-ignore-file-name-case", no_argument, NULL, OPT_NIGN_FN_CASE },
+ { "text", no_argument, NULL, 'a' },
+/* XXX: UNIMPLEMENTED */
+ { "ignore-blank-lines", no_argument, NULL, 'B' },
+ { "ignore-space-change", no_argument, NULL, 'b' },
+/* XXX: -c is incompatible with GNU version */
+ { "context", optional_argument, NULL, 'C' },
+ { "ifdef", required_argument, NULL, 'D' },
+ { "minimal", no_argument, NULL, 'd' },
+/* XXX: UNIMPLEMENTED
+ { "ignore-tab-expansion", no_argument, NULL, 'E' }, */
+ { "ed", no_argument, NULL, 'e' },
+/* XXX: UNIMPLEMENTED
+ { "show-function-line", required_argument, NULL, 'F' }, */
+ { "forward-ed", no_argument, NULL, 'f' },
+ { "ignore-matching-lines", required_argument, NULL, 'I' },
+ { "ignore-case", no_argument, NULL, 'i' },
+ { "label", required_argument, NULL, 'L' },
+ { "paginate", no_argument, NULL, 'l' },
+ { "new-file", no_argument, NULL, 'N' },
+ { "rcs", no_argument, NULL, 'n' },
+ { "unidirectional-new-file", no_argument, NULL, 'P' },
+ { "show-c-function", no_argument, NULL, 'p' },
+ { "brief", no_argument, NULL, 'q' },
+ { "recursive", no_argument, NULL, 'r' },
+ { "starting-file", required_argument, NULL, 'S' },
+ { "report-identical-files", no_argument, NULL, 's' },
+ { "initial-tab", no_argument, NULL, 'T' },
+ { "expand-tabs", no_argument, NULL, 't' },
+/* XXX: -u is incompatible with GNU version */
+ { "unified", optional_argument, NULL, 'U' },
+ { "version", no_argument, NULL, 'v' },
+/* XXX: UNIMPLEMENTED
+ { "width", optional_argument, NULL, 'W' }, */
+ { "ignore-all-space", no_argument, NULL, 'w' },
+ { "exclude-from", required_argument, NULL, 'X' },
+ { "exclude", required_argument, NULL, 'x' },
+ { "side-by-side", no_argument, NULL, 'y' },
+ { NULL, 0, NULL, '\0'}
+};
+
+static const char *help_msg[] = {
+"-a --text treat files as ASCII text",
+"-B --ignore-blank-lines Ignore blank newlines in the comparison",
+"-b --ignore-space-change Ignore all changes due to whitespace",
+"-C NUM --context=[NUM] Show NUM lines before and after change (default 3)",
+"-D --ifdef=NAME",
+NULL,
+};
+char **help_strs = (char **)help_msg;
+
+void set_argstr(char **, char **);
+
+
+void usage(void);
+void push_excludes(char *);
+void push_ignore_pats(char *);
+void read_excludes_file(char *);
+
+int
+main(int argc, char **argv)
+{
+ char *ep, **oargv;
+ long l;
+ int ch, lastch, gotstdin, prevoptind, newarg;
+ int oargc;
+
+ oargv = argv;
+ oargc = argc;
+ gotstdin = 0;
+
+ lastch = '\0';
+ prevoptind = 1;
+ newarg = 1;
+ while ((ch = getopt_long(argc, argv, OPTIONS, longopts, NULL)) != -1) {
+ switch (ch) {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ if (newarg)
+ usage(); /* disallow -[0-9]+ */
+ else if (lastch == 'c' || lastch == 'u')
+ context = 0;
+ else if (!isdigit(lastch) || context > INT_MAX / 10)
+ usage();
+ context = (context * 10) + (ch - '0');
+ break;
+ case 'a':
+ aflag = 1;
+ break;
+ case 'b':
+ bflag = 1;
+ break;
+ case 'B':
+ Bflag = 1;
+ break;
+ case 'C':
+ case 'c':
+ format = D_CONTEXT;
+ if (optarg != NULL) {
+ l = strtol(optarg, &ep, 10);
+ if (*ep != '\0' || l < 0 || l >= INT_MAX)
+ usage();
+ context = (int)l;
+ } else
+ context = 3;
+ break;
+ case 'D':
+ format = D_IFDEF;
+ ifdefname = optarg;
+ break;
+ case 'd':
+ dflag = 1;
+ break;
+ case 'e':
+ format = D_EDIT;
+ break;
+ case 'f':
+ format = D_REVERSE;
+ break;
+ case 'h':
+ /* silently ignore for backwards compatibility */
+ break;
+ case 'I':
+ push_ignore_pats(optarg);
+ break;
+ case 'i':
+ iflag = 1;
+ break;
+ case 'L':
+ if (label[0] == NULL)
+ label[0] = optarg;
+ else if (label[1] == NULL)
+ label[1] = optarg;
+ else
+ usage();
+ break;
+ case 'l':
+ lflag = 1;
+ signal(SIGPIPE, SIG_IGN);
+ break;
+ case 'N':
+ Nflag = 1;
+ break;
+ case 'n':
+ format = D_NREVERSE;
+ break;
+ case 'P':
+ Pflag = 1;
+ break;
+ case 'p':
+ pflag = 1;
+ break;
+ case 'r':
+ rflag = 1;
+ break;
+ case 'q':
+ format = D_BRIEF;
+ break;
+ case 'S':
+ start = optarg;
+ break;
+ case 's':
+ sflag = 1;
+ break;
+ case 'T':
+ Tflag = 1;
+ break;
+ case 't':
+ tflag = 1;
+ break;
+ case 'U':
+ case 'u':
+ format = D_UNIFIED;
+ if (optarg != NULL) {
+ l = strtol(optarg, &ep, 10);
+ if (*ep != '\0' || l < 0 || l >= INT_MAX)
+ usage();
+ context = (int)l;
+ } else
+ context = 3;
+ break;
+ case 'v':
+ printf("FreeBSD diff 2.8.7\n");
+ exit(0);
+ case 'w':
+ wflag = 1;
+ break;
+ case 'X':
+ read_excludes_file(optarg);
+ break;
+ case 'x':
+ push_excludes(optarg);
+ break;
+ case 'y':
+ yflag = 1;
+ break;
+ case OPT_TSIZE:
+ if (optarg != NULL) {
+ l = strtol(optarg, &ep, 10);
+ if (*ep != '\0' || l < 1 || l >= INT_MAX)
+ usage();
+ tabsize = (int)l;
+ } else
+ tabsize = 8;
+ break;
+ case OPT_STRIPCR:
+ strip_cr=1;
+ break;
+ case OPT_IGN_FN_CASE:
+ ignore_file_case = 1;
+ break;
+ case OPT_NIGN_FN_CASE:
+ ignore_file_case = 0;
+ break;
+ case OPT_HELP:
+ for(;*help_strs;help_strs++)
+ {
+ printf("%s\n", *help_strs);
+ }
+ exit(2);
+ break;
+ default:
+ usage();
+ break;
+ }
+ lastch = ch;
+ newarg = optind != prevoptind;
+ prevoptind = optind;
+ }
+ argc -= optind;
+ argv += optind;
+
+ if(yflag) {
+ /* remove y flag from args and call sdiff */
+ for(argv=oargv; argv && strcmp(*argv, "-y") != 0; argv++);
+ while(argv != &oargv[oargc]){
+ *argv=*(argv+1);
+ argv++;
+ }
+ oargv[0] = _PATH_SDIFF;
+ *argv= "\0";
+
+ execv(_PATH_SDIFF, oargv);
+ _exit(127);
+ }
+
+ /*
+ * Do sanity checks, fill in stb1 and stb2 and call the appropriate
+ * driver routine. Both drivers use the contents of stb1 and stb2.
+ */
+ if (argc != 2)
+ usage();
+ if (ignore_pats != NULL) {
+ char buf[BUFSIZ];
+ int error;
+
+ if ((error = regcomp(&ignore_re, ignore_pats,
+ REG_NEWLINE | REG_EXTENDED)) != 0) {
+ regerror(error, &ignore_re, buf, sizeof(buf));
+ if (*ignore_pats != '\0')
+ errx(2, "%s: %s", ignore_pats, buf);
+ else
+ errx(2, "%s", buf);
+ }
+ }
+ if (strcmp(argv[0], "-") == 0) {
+ fstat(STDIN_FILENO, &stb1);
+ gotstdin = 1;
+ } else if (stat(argv[0], &stb1) != 0)
+ err(2, "%s", argv[0]);
+ if (strcmp(argv[1], "-") == 0) {
+ fstat(STDIN_FILENO, &stb2);
+ gotstdin = 1;
+ } else if (stat(argv[1], &stb2) != 0)
+ err(2, "%s", argv[1]);
+ if (gotstdin && (S_ISDIR(stb1.st_mode) || S_ISDIR(stb2.st_mode)))
+ errx(2, "can't compare - to a directory");
+ set_argstr(oargv, argv);
+ if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) {
+ if (format == D_IFDEF)
+ errx(2, "-D option not supported with directories");
+ diffdir(argv[0], argv[1]);
+ } else {
+ if (S_ISDIR(stb1.st_mode)) {
+ argv[0] = splice(argv[0], argv[1]);
+ if (stat(argv[0], &stb1) < 0)
+ err(2, "%s", argv[0]);
+ }
+ if (S_ISDIR(stb2.st_mode)) {
+ argv[1] = splice(argv[1], argv[0]);
+ if (stat(argv[1], &stb2) < 0)
+ err(2, "%s", argv[1]);
+ }
+ print_status(diffreg(argv[0], argv[1], 0), argv[0], argv[1],
+ NULL);
+ }
+ exit(status);
+}
+
+void *
+emalloc(size_t n)
+{
+ void *p;
+
+ if (n == 0)
+ errx(2, NULL);
+
+ if ((p = malloc(n)) == NULL)
+ errx(2, NULL);
+ return (p);
+}
+
+void *
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-soc-all
mailing list