nckernel
0.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
slibc
src
dirname.c
Go to the documentation of this file.
1
#include <
sys/types.h
>
2
#include <
stdio.h
>
3
#include <
stddef.h
>
4
#include <
limits.h
>
5
#include <
libgen.h
>
6
7
char
*
dirname
(
char
*s)
8
{
9
static
char
ret[
PATH_MAX
];
10
int
sep;
11
int
i;
12
13
sep = 0;
14
for
(sep = i = 0; s[i]; i++) {
15
if
(s[i] ==
'/'
&& s[i+1] !=
'\0'
) {
16
sep = i;
17
}
18
19
ret[i] = s[i];
20
}
21
22
if
(sep) {
23
ret[sep] =
'\0'
;
24
}
else
{
25
if
(i > 1 && (s[0] !=
'/'
|| s[1] !=
'\0'
)) {
26
ret[0] =
'.'
;
27
}
28
29
ret[1] =
'\0'
;
30
}
31
32
return
ret;
33
}
34
35
/* End of a file */
Generated on Thu Nov 7 2013 02:45:26 for nckernel by
1.8.4