Split fl_path_exists() into Unix and Windows
This commit is contained in:
parent
3448e8f150
commit
7025b8cd32
|
@ -2,7 +2,6 @@
|
|||
Extra femtoLisp builtin functions
|
||||
*/
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
@ -346,17 +345,11 @@ static value_t fl_path_cwd(value_t *args, uint32_t nargs)
|
|||
return FL_T;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
#define stat _stat
|
||||
#endif
|
||||
static value_t fl_path_exists(value_t *args, uint32_t nargs)
|
||||
{
|
||||
argcount("path.exists?", nargs, 1);
|
||||
char *str = tostring(args[0], "path.exists?");
|
||||
struct stat sbuf;
|
||||
if (stat(str, &sbuf) == -1)
|
||||
return FL_F;
|
||||
return FL_T;
|
||||
return os_path_exists(str) ? FL_T : FL_F;
|
||||
}
|
||||
|
||||
static value_t fl_os_getenv(value_t *args, uint32_t nargs)
|
||||
|
|
1
c/ios.c
1
c/ios.c
|
@ -21,7 +21,6 @@
|
|||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/select.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
|
|
1
c/os.h
1
c/os.h
|
@ -2,3 +2,4 @@ void path_to_dirname(char *path);
|
|||
void get_cwd(char *buf, size_t size);
|
||||
int set_cwd(char *buf);
|
||||
char *get_exename(char *buf, size_t size);
|
||||
int os_path_exists(const char *path);
|
||||
|
|
12
c/os_unix.c
12
c/os_unix.c
|
@ -1,5 +1,7 @@
|
|||
#include <sys/types.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
|
@ -99,3 +101,13 @@ value_t builtin_user_real_uid(value_t *args, uint32_t nargs)
|
|||
argcount("user-real-uid", nargs, 0);
|
||||
return fixnum(getuid());
|
||||
}
|
||||
|
||||
int os_path_exists(const char *path)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
if (stat(path, &st) == -1) {
|
||||
return FL_F;
|
||||
}
|
||||
return FL_T;
|
||||
}
|
||||
|
|
|
@ -31,3 +31,13 @@ char *get_exename(char *buf, size_t size)
|
|||
return NULL;
|
||||
return buf;
|
||||
}
|
||||
|
||||
int os_path_exists(const char *path)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
if (_stat(path, &st) == -1) {
|
||||
return FL_F;
|
||||
}
|
||||
return FL_T;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue