Minix1.1/usr/src/commands/basename.c

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

/* basename - print the last part of a path:	Author: Blaine Garfolo */

#define NULL 0

main(argc,argv)

int argc;
char *argv[];
{
  int j,suflen;
  char *c;
  char *d;
  extern char *rindex();

  if (argc < 2)     {
	std_err("Usage: basename string [suffix]  \n");
	exit(1);
  }
  c=argv[1];
  d = rindex(argv[1],'/');
  if (d == NULL) 
	d = argv[1]; 
  else        
	d++;

  if (argc == 2) {       /* if no suffix */
	prints("%s \n",d);
	exit(0);
  } else {		    /* if suffix is present */
	c = d;
	suflen = strlen(argv[2]);
	j = strlen(c) - suflen;
	if (strcmp(c+j, argv[2]) == 0) *(c+j) = 0;
  }
  prints("%s \n",c);
}