Wolfgang Thalleradd binutils-2.20.15d96d8014 years agoHistory
62 lines · 1.3 KB · C
RawDownload
/* Return the basename of a pathname.   This file is in the public domain. */ /* @deftypefn Supplemental char* basename (const char *@var{name}) Returns a pointer to the last component of pathname @var{name}.Behavior is undefined if the pathname ends in a directory separator. @end deftypefn */ #ifdef HAVE_CONFIG_H#include "config.h"#endif#include "ansidecl.h"#include "libiberty.h"#include "safe-ctype.h" #ifndef DIR_SEPARATOR#define DIR_SEPARATOR '/'#endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \  defined (__OS2__)#define HAVE_DOS_BASED_FILE_SYSTEM#ifndef DIR_SEPARATOR_2 #define DIR_SEPARATOR_2 '\\'#endif#endif /* Define IS_DIR_SEPARATOR.  */#ifndef DIR_SEPARATOR_2# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)#else /* DIR_SEPARATOR_2 */# define IS_DIR_SEPARATOR(ch) \	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))#endif /* DIR_SEPARATOR_2 */ char *basename (const char *name){  const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM)  /* Skip over the disk name in MSDOS pathnames. */  if (ISALPHA (name[0]) && name[1] == ':')     name += 2;#endif   for (base = name; *name; name++)    {      if (IS_DIR_SEPARATOR (*name))	{	  base = name + 1;	}    }  return (char *) base;} 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t