summaryrefslogtreecommitdiff
path: root/src/libstddjb/basename.c
blob: 4eb408059678909c5cca0aacc2c2517bd3ed7d33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* ISC license. */

/* MT-unsafe */

#include <skalibs/bytestr.h>
#include <skalibs/stralloc.h>
#include <skalibs/djbunix.h>

char *basename (char *s)
{
  static stralloc basename_sa = STRALLOC_ZERO ;
  static char dot0[2] = "." ;
  char *dot = dot0 ;
  if (!s) return dot ;
  basename_sa.len = 0 ;
  if (!sabasename(&basename_sa, s, str_len(s))) return 0 ;
  if (!stralloc_0(&basename_sa)) return 0 ;
  return basename_sa.s ;
}