Squash commits for public release

This commit is contained in:
2025-02-12 09:54:05 -05:00
commit 7118adc514
1108 changed files with 80873 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
APPS += TOUCH
TOUCH_NAME = touch
TOUCH_LIBS = c
TOUCH_INSTALL_PATH = bin/

View File

@@ -0,0 +1,8 @@
import("//build/userland/TEMPLATE.gni")
xOS_executable("touch") {
install_path = "bin/"
sources = [ "main.c" ]
configs = [ "//build/userland:userland_flags" ]
deplibs = [ "libc" ]
}

View File

@@ -0,0 +1,25 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
int main(int argc, char** argv)
{
int fd;
if (argc < 2) {
write(1, "Usage: touch files...\n", 22);
return 0;
}
mode_t std_mode = S_IFREG | S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
for (int i = 1; i < argc; i++) {
if ((fd = creat(argv[i], std_mode)) < 0) {
write(1, "touch: failed to create\n", 24);
break;
}
close(fd);
}
return 0;
}