Mercurial > trustbridge
view common/portpath.c @ 168:f100861dad8f
Added simple portable function to test if an file exists.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Tue, 25 Mar 2014 13:08:59 +0100 |
parents | 199878f09bf1 |
children | 701b7036c5dc |
line wrap: on
line source
#include "portpath.h" #include <libgen.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> char * port_dirname(char *path) { #ifndef _WIN32 return dirname(path); #else char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; _splitpath(path, drive, dir, NULL, NULL); /* We assume: drive + dir is shorter than * drive + dir + fname + ext */ sprintf(path, "%s%s", drive, dir); return path; #endif } char * port_realpath(char *path) { #ifndef _WIN32 return realpath(path, NULL); #else return _fullpath(NULL, path, 0); #endif } bool port_fileexits(char *path) { int ret; #ifndef _WIN32 struct stat sb; ret = stat(path, &sb); #else struct _stat sb; ret = _stat(path, &sb); #endif if (ret == 0) return true; else return false; }