annotate lib/basename.c @ 379:0c05dc8a5d05

(basename): Use strrchr, not rindex. [!STDC_HEADERS && !HAVE_STRING_H]: Define strrchr to rindex.
author Jim Meyering <jim@meyering.net>
date Fri, 27 Jan 1995 15:23:48 +0000
parents f8dce34b5ab0
children 24a13fb1b0c5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 /* basename.c -- return the last element in a path
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2 Copyright (C) 1990 Free Software Foundation, Inc.
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
3
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 the Free Software Foundation; either version 2, or (at your option)
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7 any later version.
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 GNU General Public License for more details.
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 along with this program; if not, write to the Free Software
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
17
379
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
18 #ifdef HAVE_CONFIG_H
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
19 #include <config.h>
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
20 #endif
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
21
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
22 #if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
9
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23 #include <string.h>
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
24 #else
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
25 #include <strings.h>
379
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
26 #ifndef strrchr
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
27 #define strrchr rindex
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
28 #endif
9
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29 #endif
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 /* Return NAME with any leading path stripped off. */
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33 char *
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 basename (name)
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35 char *name;
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 {
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 char *base;
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38
379
0c05dc8a5d05 (basename): Use strrchr, not rindex.
Jim Meyering <jim@meyering.net>
parents: 9
diff changeset
39 base = strrchr (name, '/');
9
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 return base ? base + 1 : name;
f8dce34b5ab0 Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41 }