Archived
1
0
Fork 0

path.c: Added is_dir function

This commit is contained in:
Henrik Hautakoski 2010-11-20 08:06:05 +01:00
parent dd0f1ae393
commit fca8bba289
3 changed files with 21 additions and 0 deletions

View file

@ -14,6 +14,8 @@
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "debug.h"
#include "strbuf.h"
@ -56,6 +58,15 @@ int is_abspath(const char *path) {
return 1;
}
int is_dir(const char *path) {
struct stat st;
if (path && stat(path, &st) >= 0)
return S_ISDIR(st.st_mode);
return 0;
}
static char* expand_home() {
char *home = getenv("HOME");

View file

@ -16,6 +16,8 @@
int is_abspath(const char *path);
int is_dir(const char *path);
char* path_normalize(const char *base, const char *name, unsigned char dir);
#endif /* __PATH_H */

View file

@ -51,6 +51,13 @@ void test_isabspath() {
assert(is_abspath("/ab/..xy/file") ==1);
}
void test_isdir() {
assert(is_dir("t_path.c") == 0);
assert(is_dir("../src") == 1);
assert(is_dir("/") == 1);
}
void test_basename() {
int i;
@ -98,6 +105,7 @@ void test_dirname() {
int main(int argc, char *argv[]) {
test_isabspath();
test_isdir();
test_normalize();
test_basename();
test_dirname();