c089196e15
On older kernels (<=linux-5.17), argv[0] can be null. Basename would call strrchr with null if argc==0. Fixes issue #680
32 lines
713 B
C
32 lines
713 B
C
/*
|
|
* SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh
|
|
* SPDX-FileCopyrightText: 1996 - 1997, Marek Michałkiewicz
|
|
* SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
/*
|
|
* basename.c - not worth copyrighting :-). Some versions of Linux libc
|
|
* already have basename(), other versions don't. To avoid confusion,
|
|
* we will not use the function from libc and use a different name here.
|
|
* --marekm
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#ident "$Id$"
|
|
|
|
#include "defines.h"
|
|
#include "prototypes.h"
|
|
/*@observer@*/const char *Basename (const char *str)
|
|
{
|
|
if (str == NULL) {
|
|
abort ();
|
|
}
|
|
|
|
char *cp = strrchr (str, '/');
|
|
|
|
return (NULL != cp) ? cp + 1 : str;
|
|
}
|