Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2012 18:07:11 +0000
From:      jhagewood@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r239351 - 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-...
Message-ID:  <20120713180711.85998106566B@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhagewood
Date: Fri Jul 13 18:07:11 2012
New Revision: 239351
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=239351

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-test.sh
  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/diff/hagewood-fidd.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/TODO
  soc2012/jhagewood/sdiff/hagewood-sdiff.patch
  soc2012/jhagewood/sdiff/sdiff/
  soc2012/jhagewood/sdiff/sdiff-orig/
  soc2012/jhagewood/sdiff/sdiff-orig/Makefile
  soc2012/jhagewood/sdiff/sdiff-orig/common.c
  soc2012/jhagewood/sdiff/sdiff-orig/common.h
  soc2012/jhagewood/sdiff/sdiff-orig/edit.c
  soc2012/jhagewood/sdiff/sdiff-orig/extern.h
  soc2012/jhagewood/sdiff/sdiff-orig/sdiff.1
  soc2012/jhagewood/sdiff/sdiff-orig/sdiff.c
  soc2012/jhagewood/sdiff/sdiff-test.sh
  soc2012/jhagewood/sdiff/sdiff/Makefile
  soc2012/jhagewood/sdiff/sdiff/common.c
  soc2012/jhagewood/sdiff/sdiff/common.h
  soc2012/jhagewood/sdiff/sdiff/edit.c
  soc2012/jhagewood/sdiff/sdiff/extern.h
  soc2012/jhagewood/sdiff/sdiff/sdiff.1
  soc2012/jhagewood/sdiff/sdiff/sdiff.c

Added: soc2012/jhagewood/Milestones
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2012/jhagewood/Milestones	Fri Jul 13 18:07:11 2012	(r239351)
@@ -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 Jul 13 18:07:11 2012	(r239351)
@@ -0,0 +1,75 @@
+TASK					STATUS			NOTE
+
+--unified GNU compatibility		COMPLETE		Fixed timestamp.		
+--context GNU compatibility		COMPLETE		Fixed timestamp, will test more.
+--ignore-blank-lines			IN PROGRESS		Was already implemented in check(), but has weird outputs.
+--left-column				COMPLETE		Because side-by-side mode is executed by sdiff, option is simply passed to sdiff.
+--show-function-line			INCOMPLETE
+--unidirectional-new-file		INCOMPLETE
+--normal				COMPLETE		Sets format to D_NORMAL in getopt_long().
+--suppress-common-lines			COMPLETE		Because side-by-side mode is executed by sdiff, option is simply passed to sdiff.
+--GTYPE-group-format			IN PROGRESS		Added options for various GTYPEs.
+--line-format				IN PROGRESS		Added new-line-format, old-line-format, and unchanged-line-format for compatibility
+--LTYPE-line-format			INCOMPLETE
+--from-file				COMPLETE		Checks for flag then calls diffreg() with input files diff'd against optarg. 
+--to-file				COMPLETE		Checks for flag then calls diffreg() with optarg diff'd against input files.
+--horizon-lines				INCOMPLETE
+--speed-large-file			INCOMPLETE
+--ignore-tab-expansion			IN PROGRESS		Functionality implemented in check(), needs debugging. (Same problem as --ignore-blank-lines?)  
+--width					INCOMPLETE
+--help					COMPLETE
+Fix non-ascii character diffs		COMPLETE		Changed name of asciifile() to istextfile() and detects if file is binary.
+Test script				COMPLETE 
+
+Notes: 
+
+- When using text files with non-ascii characters, diff will interpret them as binary files and output "Files [file1] and [file2] differ."
+  Very important compatibility problem with GNU diff, which will diff files that aren't strictly ascii.
+	- Error is associated with asciifile() in diffreg.c
+	- FIX: Changed name of asciifile() to istextfile() (more appropriate), and instead of checking if every character is ASCII, it checks the first 32kb of data in the file for a null character. If a null character is found, diff assumes that the file is a text file.
+- With some files, modification times displayed in the timestamp for file1 are different than the time outputted by GNU diff. 
+- The -ignore-*-* options need some work.
+- BUG: BSD diff seg faults when another longopt is used with '--side-by-side'. FIX: When passing args to sdiff for side-by-side mode, only the 
+	short option '-y' was excluded. Added '--side-by-side' as an exception also.
+- --ignore-*-* options
+	-WORKING
+		--ignore-all-space
+		--ignore-case
+		--ignore-file-name-case
+		--ignore-matching-lines
+		--ignore-space-change
+	-NOT WORKING
+		--ignore-blank-lines
+		--ignore-tab-expansion
+
+- line formats:
+
+	%l	Only includes contents of a line, excluding trailing new line.
+	%L	Only includes contents of a line, including trailing new line.
+	%%	Stand for '%'
+	%c'C'	Where C is a character.
+	%c'\O'	where O is a string of 1, 2, or 3 octal digits, stands for the character with octal code O.
+	Fn	Where n is:
+		-'e'
+		-'f'
+		-'l'
+		-'m'
+		-'n'
+		-'E, F, L, M, N'
+
+- group formats: 
+
+	%<	Stands for the lines from the first file, including trailing new lines.
+	%>	Stands for the lines from the second file, including trailing new lines.
+	%=	Stands for lines common to both files, including trailing new lines.
+	%%	Stands for '%'
+	%c'C'	Where C is a character.
+	%c'\O'	where O is a string of 1, 2, or 3 octal digits, stands for the character with octal code O.
+	Fn	Where n is:
+		-'e'
+		-'f'
+		-'l'
+		-'m'
+		-'n'
+		-'E, F, L, M, N'
+	

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 Jul 13 18:07:11 2012	(r239351)
@@ -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 Jul 13 18:07:11 2012	(r239351)
@@ -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 Jul 13 18:07:11 2012	(r239351)
@@ -0,0 +1,599 @@
+/*-
+ * Copyright (c) 2003 Todd C. Miller <Todd.Miller@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,

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120713180711.85998106566B>