aboutsummaryrefslogtreecommitdiff
path: root/sys/base/os.c
diff options
context:
space:
mode:
authorNicholas Noll <nnoll523@gmail.com>2021-10-23 11:17:25 -0700
committerNicholas Noll <nnoll523@gmail.com>2021-10-26 11:11:57 -0700
commitc8e1e71eb526475dd431443345262c2e5a627831 (patch)
treeea9f7bcbba18a13f7ba8b32fcb1433ac2f4dd8b4 /sys/base/os.c
parent40f4c7305a041d4214df117491593898d04d0134 (diff)
chore(rename): libn -> base
Diffstat (limited to 'sys/base/os.c')
-rw-r--r--sys/base/os.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/base/os.c b/sys/base/os.c
new file mode 100644
index 0000000..d5277b5
--- /dev/null
+++ b/sys/base/os.c
@@ -0,0 +1,30 @@
+#include <u.h>
+#include <base.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 == nil) ? path : sep+1;
+}