Subject: CVS commit: src/usr.bin/gencat
To: None <>
From: Brian Ginsbach <>
List: source-changes
Date: 11/21/2007 13:40:09
Module Name:	src
Committed By:	ginsbach
Date:		Wed Nov 21 13:40:09 UTC 2007

Modified Files:
	src/usr.bin/gencat: gencat.c

Log Message:
Changes for standards compliance:
- Accept "-" for msgfile (STDIN) and catfile (STDOUT)

- Merge msgfile into formatted catfile.  The catfile is created if
  it does not exist (current behavior).  If the catfile exists,
  its messages are included in the new catfile.  Collisions between
  set and message numbers cause the msgfile message text to replace
  the existing message text.

  (The $delset directive now makes more sense.)

Standards: The Open Group Base Specifications Issue 6
           IEEE Std 1003.1, 2004 Edition

- Replace corrupt()/nomem() with errx().  The replaced routines
  called local error() -> warning() which prints an input file line
  number.  This probably makes no sense for these conditions (it
  is not a syntax error in msgfile).  Line numbers are completely
  nonsense when dealing with reading a formatted catfile.

- Modify warning() to only print line number when reading from a
  message file.  Also print the current file being processed.

- Don't issue a warning when processing a line with only a message
  number and no trailing space.  This is valid and will delete any
  existing message with that number from the current set.

- Reset lineno for each msgfile processed.

To generate a diff of this commit:
cvs rdiff -r1.23 -r1.24 src/usr.bin/gencat/gencat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.