b7bc0e626ae1b6a8175ad83a9bd842b68d2ecdaf
[platform/upstream/busybox.git] / libbb / get_last_path_component.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * bb_get_last_path_component implementation for busybox
4  *
5  * Copyright (C) 2001  Manuel Novoa III  <mjn3@codepoet.org>
6  *
7  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8  */
9
10 #include "libbb.h"
11
12 char *bb_get_last_path_component(char *path)
13 {
14         char *first = path;
15         char *last;
16
17         last = path - 1;
18
19         while (*path) {
20                 if ((*path != '/') && (path > ++last)) {
21                         last = first = path;
22                 }
23                 ++path;
24         }
25
26         if (*first == '/') {
27                 last = first;
28         }
29         last[1] = '\0';
30
31         return first;
32 }