diff options
Diffstat (limited to 'sys/libn/os.c')
-rw-r--r-- | sys/libn/os.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/libn/os.c b/sys/libn/os.c new file mode 100644 index 0000000..c9cc0ae --- /dev/null +++ b/sys/libn/os.c @@ -0,0 +1,30 @@ +#include <u.h> +#include <libn.h> + +int +os·exists(byte *path, int flag) +{ + return access(path, flag) == 0; +} + +int +os·sep(void) +{ +#if defined(UNIX) || defined(__linux__) + return '/'; +#elif defined(WIN32) + return '\\'; +#else + panicf("unrecognized operating system"); + return '\0'; +#endif +} + +byte* +os·basename(byte *path) +{ + byte *sep; + + sep = utf8·findrrune(path, os·sep()); + return sep+1; +} |