Minix1.5/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);
}