9
0
Fork 0

move dirname() and basename() to lib/libgen.c and add header file

This commit is contained in:
Sascha Hauer 2007-09-24 16:57:12 +02:00
parent 3cbc5c5c12
commit d4ba2f9001
3 changed files with 35 additions and 27 deletions

8
include/libgen.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef __LIBGEN_H
#define __LIBGEN_H
char *basename (char *path);
char *dirname (char *path);
#endif /* __LIBGEN_H */

26
lib/libgen.c Normal file
View File

@ -0,0 +1,26 @@
char *basename (char *path)
{
char *fname;
fname = path + strlen(path) - 1;
while (fname >= path) {
if (*fname == '/') {
fname++;
break;
}
fname--;
}
return fname;
}
char *dirname (char *path)
{
char *fname;
fname = basename (path);
--fname;
*fname = '\0';
return path;
}

View File

@ -27,6 +27,7 @@
#include <clock.h>
#include <net.h>
#include <malloc.h>
#include <libgen.h>
#include "nfs.h"
#include "bootp.h"
@ -75,33 +76,6 @@ store_block (uchar * src, unsigned offset, unsigned len)
return 0;
}
static char*
basename (char *path)
{
char *fname;
fname = path + strlen(path) - 1;
while (fname >= path) {
if (*fname == '/') {
fname++;
break;
}
fname--;
}
return fname;
}
static char*
dirname (char *path)
{
char *fname;
fname = basename (path);
--fname;
*fname = '\0';
return path;
}
/**************************************************************************
RPC_ADD_CREDENTIALS - Add RPC authentication/verifier entries
**************************************************************************/