/* $Id: basename 3.2.0.1 1998/07/16 11:59:07 stoklund Exp $ */
/* basename.c: return the last element in a path.

   Copyright (C) 1992, 94, 95, 96 Free Software Foundation, Inc.
   Copyright (C) 1998 Jakob Stoklund Olesen

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */

/* Have to include this first to get c-auto.h.  */
#include "kpathsea:config.h"

#ifndef HAVE_BASENAME		/* rest of file */

/* Return NAME with any leading path stripped off.  This returns a
   pointer into NAME.

   Completely rewritten for RISC OS. A base name is either foo.bar or
   foo/bar, where bar has no slash.
 */

const_string
basename P1C (const_string, name)
{
  const_string base, leaf, p;

  p = base = leaf = name;

  while (*p)
    switch (*p++)
      {
      case ':':		/* basename must be later */
	base = leaf = p;
	break;
      case '/':		/* extension given by '/' */
	base = leaf;
	break;
      case '.':		/* base name is previous leaf */
	base = leaf;
	leaf = p;
	break;
      }

  return base;
}

#endif /* not HAVE_BASENAME */
