1/*
2 *  OpenVPN -- An application to securely tunnel IP networks
3 *             over a single UDP port, with support for SSL/TLS-based
4 *             session authentication and key exchange,
5 *             packet encryption, packet authentication, and
6 *             packet compression.
7 *
8 *  Copyright (C) 2011 - David Sommerseth <davids@redhat.com>
9 *
10 *  This program is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 2
12 *  as published by the Free Software Foundation.
13 *
14 *  This program is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this program (see the file COPYING included with this
21 *  distribution); if not, write to the Free Software Foundation, Inc.,
22 *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23 */
24
25#ifdef HAVE_CONFIG_H
26#include "config.h"
27#elif defined(_MSC_VER)
28#include "config-msvc.h"
29#endif
30
31#ifndef HAVE_BASENAME
32
33#include "compat.h"
34#include <string.h>
35
36/* Modified version based on glibc-2.14.1 by Roland McGrath <roland@gnu.org>
37 * This version is extended to handle both / and \ in path names
38 */
39char *
40basename (char *filename)
41{
42  char *p = strrchr (filename, '/');
43  if (!p) {
44    /* If NULL, check for \ instead ... might be Windows a path */
45    p = strrchr (filename, '\\');
46  }
47  return p ? p + 1 : (char *) filename;
48}
49
50#endif /* HAVE_BASENAME */
51