15ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen/*************************************************************************** 25ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * _ _ ____ _ 35ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * Project ___| | | | _ \| | 45ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * / __| | | | |_) | | 55ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * | (__| |_| | _ <| |___ 65ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * \___|\___/|_| \_\_____| 75ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. 95ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 105ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is licensed as described in the file COPYING, which 115ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * you should have received as part of this distribution. The terms 125ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * are also available at http://curl.haxx.se/docs/copyright.html. 135ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 145ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * You may opt to use, copy, modify, merge, publish, distribute and/or sell 155ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * copies of the Software, and permit persons to whom the Software is 165ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * furnished to do so, under the terms of the COPYING file. 175ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 185ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 195ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * KIND, either express or implied. 205ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 215ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen ***************************************************************************/ 22e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include "tool_setup.h" 235ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 24e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include "tool_bname.h" 255ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 26e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include "memdebug.h" /* keep this as LAST include */ 275ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 28e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#ifndef HAVE_BASENAME 295ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 30e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETchar *tool_basename(char *path) 31e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET{ 32e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET char *s1; 33e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET char *s2; 345ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 35e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET s1 = strrchr(path, '/'); 36e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET s2 = strrchr(path, '\\'); 37e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET 38e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET if(s1 && s2) { 39e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET path = (s1 > s2) ? s1 + 1 : s2 + 1; 40e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET } 41e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET else if(s1) 42e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET path = s1 + 1; 43e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET else if(s2) 44e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET path = s2 + 1; 45e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET 46e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET return path; 47e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET} 48e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET 49e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#endif /* HAVE_BASENAME */ 505ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 51