Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site sdcrdcf.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!sdcsvax!sdcrdcf!lwall
From: lwall@sdcrdcf.UUCP (Larry Wall)
Newsgroups: net.sources.bugs
Subject: patch bug #3
Message-ID: <1536@sdcrdcf.UUCP>
Date: Thu, 6-Dec-84 14:38:17 EST
Article-I.D.: sdcrdcf.1536
Posted: Thu Dec  6 14:38:17 1984
Date-Received: Sat, 8-Dec-84 05:54:01 EST
Reply-To: lwall@sdcrdcf.UUCP (Larry Wall)
Organization: System Development Corp. R+D, Santa Monica
Lines: 90

System: patch version 1.2
Bug #: 3
Priority: LOW
Subject: patch doesn't kow about SCCS subdirectories
Index: patch.c
Prereq: 1.2.1.3
From: ut-sally!jsq (John Quarterman)

Description:
	Patch knows about sccs files of the form "s.filename", but not
	"SCCS/s.filename".

Fix:	From rn, say "| patch -d DIR", where DIR is your patch source
	directory.  Outside of rn, say "cd DIR; patch = 0) {
  		Sprintf(buf,GET,filename);
  		if (verbose)
  		    say("Can't find %s--attempting to get it from SCCS.\n",

--- 818,825 -----
  		fatal("Can't check out %s.\n",filename);
  	}
  	else {
! 	    Sprintf(buf,"SCCS/%s%s",SCCSPREFIX,filename);
! 	    if (stat(buf,&filestat) >= 0 || stat(buf+5,&filestat) >= 0) {
  		Sprintf(buf,GET,filename);
  		if (verbose)
  		    say("Can't find %s--attempting to get it from SCCS.\n",
***************
*** 1184,1191
      if (stat(name,&filestat) < 0) {
  	Strcat(tmpbuf,RCSSUFFIX);
  	if (stat(tmpbuf,&filestat) < 0 && stat(tmpbuf+4,&filestat) < 0) {
! 	    Sprintf(tmpbuf,"%s%s",SCCSPREFIX,name);
! 	    if (stat(tmpbuf,&filestat) < 0) {
  		free(name);
  		name = Nullch;
  	    }

--- 1187,1194 -----
      if (stat(name,&filestat) < 0) {
  	Strcat(tmpbuf,RCSSUFFIX);
  	if (stat(tmpbuf,&filestat) < 0 && stat(tmpbuf+4,&filestat) < 0) {
! 	    Sprintf(tmpbuf,"SCCS/%s%s",SCCSPREFIX,name);
! 	    if (stat(tmpbuf,&filestat) < 0 && stat(tmpbuf+5,&filestat) < 0) {
  		free(name);
  		name = Nullch;
  	    }