From kh@mogami-wire.co.jp  Tue Jul 22 18:47:24 1997
Received: from eve.mogami-wire.co.jp (eve.mogami-wire.co.jp [202.23.252.130])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id SAA14659
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 22 Jul 1997 18:47:14 -0700 (PDT)
Received: (from kh@localhost) by eve.mogami-wire.co.jp (8.7.6+2.6Wbeta7/3.4Wbeta5-eve) id KAA24686; Wed, 23 Jul 1997 10:47:03 +0900 (JST)
Message-Id: <199707230147.KAA24686@eve.mogami-wire.co.jp>
Date: Wed, 23 Jul 1997 10:47:03 +0900 (JST)
From: Kouichi Hirabayashi <kh@mogami-wire.co.jp>
Reply-To: kh@mogami-wire.co.jp
To: FreeBSD-gnats-submit@freebsd.org
Subject: join(1) failes or outputs wrong output with some file names
X-Send-Pr-Version: 3.2

>Number:         4145
>Category:       bin
>Synopsis:       join(1) failes or outputs wrong output with some file names
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 22 18:50:02 PDT 1997
>Closed-Date:    Tue Aug 19 08:58:20 PDT 1997
>Last-Modified:  Tue Aug 19 09:00:03 PDT 1997
>Originator:     Kouichi Hirabayashi
>Release:        FreeBSD 2.2.2-RELEASE i386
>Organization:
Organization of PR author (multiple lines)
>Environment:

	raw system just installed by official CD-ROM (2.2.2-RELEASE)

>Description:

	The join command causes error or wrong output with some type 
	of file names (2'nd character is 'j' and 3'rd character is from 1
	to 3).

>How-To-Repeat:

	For examples,

	1) abort with error message (join: illegal option -- mj3)

	  join q1 mj3

	2) wrong output (produces unpairable records)

	  join q1 qj1

>Fix:
	
*** ORGjoin.c	Wed Jul 23 10:21:28 1997
--- join.c	Wed Jul 23 10:21:52 1997
***************
*** 504,510 ****
  
  	while ((ap = *++argv) != NULL) {
  		/* Return if "--". */
! 		if (ap[0] == '-' && ap[1] == '-')
  			return;
  		switch (ap[1]) {
  		case 'a':
--- 504,510 ----
  
  	while ((ap = *++argv) != NULL) {
  		/* Return if "--". */
! 		if (ap[0] != '-' || ap[0] == '-' && ap[1] == '-')
  			return;
  		switch (ap[1]) {
  		case 'a':

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: jlemon 
State-Changed-When: Tue Aug 19 08:58:20 PDT 1997 
State-Changed-Why:  

Similar fix applied to -current.  Thanks! 
>Unformatted:
