AUSAM/source/S/ln.c

Compare this file to the similar file:
Show the results in this format:

#
#include	<errnos.h>
/*
 * ln target [ new name ]
 */

main(argc, argv)
char **argv;
{
	extern errno;
	register char *np;

	if (argc<2) {
		prints(2, "Usage: ln target [ newname ]\n");
		return 1;
	}
	if (argc==2) {
		np = argv[1];
		while(*np++);
		while (*--np!='/' && np>argv[1]);
		if( np == argv[1] )
		{
			prints(2, "Can't link to self\n");
			return 1;
		}
		np++;
		argv[2] = np;
	}
	if (link(argv[1], argv[2])<0) {
		if(errno == EEXIST)
			perror(argv[2]);
		  else
			perror(argv[1]);
		return 1;
	}
	return 0;
}