[comp.os.minix] ar.c & 14 character file names

walls@killer.UUCP (Monty Walls) (06/11/88)

--------------------------------------------------------------------------

	Thanks for bring to my attention the fence post behavior in
ar(v1.3).  I'm sorry I didn't get to it sooner after hearing about it
but I've been installing the 1.2 compiler on my system(had to recompile
my libraries, still haven't completely finished).  Enclosed is a
diff file to fix both the fence posting, strcpy, and the print statements.


-Monty Walls

------------------------------CUT HERE------------------------------------
echo x - ar.c.diff
gres '^X' '' > ar.c.diff << '/'
X41a42
X>  *	fixed fencepost behavior in names - 6/10/88 - nwc & mrw
X123c124
X< extern int strcmp();
X---
X> extern int strncmp();
X463c464
X< 			fprintf(stderr,"Error: %s could not creat %s\n",progname, member->ar_name);
X---
X> 			fprintf(stderr,"Error: %s could not creat %-14.14s\n",progname, member->ar_name);
X467c468
X< 			fprintf(stdout,"x - %s\n",member->ar_name);
X---
X> 			fprintf(stdout,"x - %-14.14s\n",member->ar_name);
X471c472
X< 			fprintf(stdout,"p - %s\n",member->ar_name);
X---
X> 			fprintf(stdout,"p - %-14.14s\n",member->ar_name);
X511c512
X< 			fprintf(stderr,"Error: %s - read error on %s\n",progname, member->ar_name);
X---
X> 			fprintf(stderr,"Error: %s - read error on %-14.14s\n",progname, member->ar_name);
X540c541
X< 	strcpy(member.ar_name, basename(name));
X---
X> 	strncpy(member.ar_name, basename(name),14);
X550c551
X< 				if (verbose) fprintf(stdout, "not %s - %s\n",mess, name);
X---
X> 				if (verbose) fprintf(stdout, "not %-14.14s - %-14.14s\n",mess, name);
X556c557
X< 		fprintf(stdout, "%s - %s\n",mess, name);
X---
X> 		fprintf(stdout, "%s - %-14.14s\n",mess, name);
X597c598
X< 		if (verbose) fprintf(stdout, "m - %s\n", member->ar_name);
X---
X> 		if (verbose) fprintf(stdout, "m - %-14.14s\n", member->ar_name);
X677c678
X< 				if (strcmp(basename(argv[a-1]),member->ar_name) == 0) {
X---
X> 				if (strncmp(basename(argv[a-1]),member->ar_name,14) == 0) {
X719c720
X< 		if (posname && strcmp(posname, member->ar_name) == 0)
X---
X> 		if (posname && strncmp(posname, member->ar_name, 14) == 0)
X724c725
X< 				if (strcmp(basename(argv[a-1]),member->ar_name) == 0) {
X---
X> 				if (strncmp(basename(argv[a-1]),member->ar_name,14) == 0) {
X743c744
X< 			if (verbose) fprintf(stdout,"d - %s\n",member->ar_name);
X---
X> 			if (verbose) fprintf(stdout,"d - %-14.14s\n",member->ar_name);
X751c752
X< 			fprintf(stderr,"Error: %s cannot find file %s\n",progname,posname);
X---
X> 			fprintf(stderr,"Error: %s cannot find file %-14.14s\n",progname,posname);
/
------------------------------CUT HERE------------------------------------


Monty Walls
MIS Division, Tech. Support
Oklahoma Tax Commission
2501 N. Lincoln
OKC, OK, 73194