k9core

Unnamed repository
Log | Files | Refs | LICENSE

commit 97e5f8eeef9475bf36b35448e3558c6daf2f7321
parent 96d5493476e68989fc23992ca608b8899e977bb8
Author: qorg11 <qorg@vxempire.xyz>
Date:   Sat, 19 Dec 2020 00:38:01 +0100

Added a bunch of things (mostly indetation), and changelog

Diffstat:
ACHANGELOG | 160+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MSTYLE.org | 2+-
Msrc/chgrp.c | 60++++++++++++++++++++++++++++++------------------------------
Msrc/chmod.c | 24++++++++++++------------
Msrc/head.c | 70+++++++++++++++++++++++++++++++++++-----------------------------------
Msrc/tee.c | 2+-
Msrc/uname.c | 108++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/wc.c | 2--
8 files changed, 293 insertions(+), 135 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG @@ -0,0 +1,160 @@ +96d5493 Fixed stuff in rmdir +74047ab proto -l in ls +8a477a0 trying EBIN indentation style :-------DDDDDDDDDDDD +fbff968 wait i'm fucking stupid, lmao, well musl, good luck searching for a file called -<CHAR>, but if it makes you happy, go for it my dude +e4192c6 don't take - as stdin if it is a flag (solves musl getopt() bullshit) +dc61ade sorry, my emacs indentation was retarded +342a885 less long line +dd949ba Tabs instead of spaces in indentation lol +34a3f38 added contributing guideliness +609309e im an idiot +36f49ec cat: ignore -u and - can be used for stdin +8627b3b shit to cat.c read the diff lmao +997b2ed https://lainsafe.delegao.moe/files/160545969573108.png +cc03664 Cleanup code +c322cdd %c is better since gnu date gives that by default so take it +b0ca123 Added a probably non posix compliant date(1) but it works :DDD +8dc1039 Added the -p flag to ls +a43985b Holy cow, I added comments but I made another commit to k9core! +1d78c2c It seems that, somehow, i typed 1 instead of 0 +8f16928 POSIX, I don't really get you sometimes... +f487111 Added tee! +8eed6cc added -h flag to chgrp +b244eb3 added chgrp +ea00641 wc prints the filename +21718a0 Modified the style +571b6c7 Is this ok, POSIX? +98f9bd9 Remove useless headers +016c4f6 Whatever this does lmao +20eb8d5 cleaned up chmod.c +0a5169b generic case for uname +8cde471 what the hell is -m flag posix is literally the same as -c +9713636 Finally fixed wc :D +4d96265 Improved uname.c +d8c6dd6 Modified the readme because this also has util-linux packes +7f38565 git you're a bit dumb +a8ae0f1 moved non coreutils programs to a nonuserland folder since they are not userland programs +b653b75 Better style and stuff to uname.c +2b3baec In GNU's uname(1) if you pass no arguments it prints the kernel name so mine does that too. +41fac48 Added uname, works but probably not as it should, initial commit for this and i'll fix it if needed later (probably i forgot some flags, programming is hard) +7f4a6e2 added chroot +dfa79c9 im stupid +015f021 added cat the posix -u flag which is useless +07c86b1 Improved makefile +30bc675 added a bunch of programs +d832f81 added groups +f0712c3 lmao +e5464f8 Added logname.c differences with whoami.c: * whoami prints who you are * logname prints the username you logged with meaning that if you run logname with doas(1) or sudo(8) you'll get the real username instead of root +cd73c58 tty(1), which prints the name of the teletypewriter you're using. +fdd3579 improved sleep by using usleep() instead of sleep() which allows more precise times +0d806ef add sync +cb32179 added ernno things +2d60914 im a bit dumb you know +32e3a82 lol +069bde6 i kinda hate posix because -n, but there it is i just have to add a for loop so it iterates every file passed by args +642d6f3 added head +61a4887 modified kill.c so doesn't use getopt (which in this case was a complete overkill). Also a warning if nothing given. +0d9b8f2 sleep +0f8f9dc exec +fecba9a Almost done wc only pick from stdin if no file given. but all flags are working! +dcf829a somebody pls fix flags and stdin +3a44055 Merge branch 'master' of gitlab.com:call-cc/k9core into master +8d1bf0e added flags to wc +1a37413 improve ls (make it look cleaner) +371c5f0 What the fuck is this +c0935a1 added errno to ln.c +0ee58eb idk whats this git told me isnt' staged so hre's your commit +a1f38d5 Edited some stuff in wc and mv +bb78561 Fixed shred +7bedf74 use stat() instead of a own function to count bytes. +ab00cba Added shred +801cf9d Added unlink, not really sure of that this do but well here it is +3823f62 less bad mv +9c856f4 yeah so now the thing closes the file descriptors +2996e21 cp now supports binary data and touch.c uses the saner creat() instead of open() because using open() there was simply stupid +1d8f3bf fprintf in mount.c +59d1ef6 Better errno +b574d18 added id.c. +43d55a3 -f flag for umount.c (now we use umount2 though) +636072c lol +69d0fae Added stuff to mount.c +8065fed Better whoami +7d414e2 Mount and whoami +7cb95b3 added umount +755222a I just do a prototype of mkdir -p that does not work because it does not work so is commented don't uncomment it unless you can fix it thank you +b339661 Merge branch 'master' of gitlab.com:call-cc/k9core +5238638 Added -l to kill.c +b263799 Fix to remove error in -Wall -Wextra +87c139e Fix ln slightly by removing instead of unlinking. +2401662 whoops +f317faa Aded cp and mv +61245b5 This will save a lot of time +e1e3f9f more readable cat.c +c037341 Cat prints binary data now +c904af6 Someone make this read binary shit +268a888 Rewritten cat so it's not literally 9base's +9d6db6f Improved wc +971e32a bare bones version of wc +e4c35b7 unistd.h was useless in ls.c +8ac5f0b Add -a flag for ls. +8c81a09 Do not print dot files in ls.c +a6bfb92 Added ls.c +530bb5c Added chown.c +f4dc088 Added variable guidelines +1c6f622 Improve echo, or fix -n flag +538adce printf -> fprintf in src/chmod.c +60b3510 Added chmod +d2be0fe Added false and true +aff3c77 Readme in org +a4d4d90 Fixed style in src/echo.c +82b36c8 Clean code in src/echo.c +73ab1c7 Sorry i haven't slept in 21 hours +2f5f39a goddammit +eba3830 I don't know I was really drunk at the time +e4cdd7d slight fix +2214494 Add -n flag to echo +79ec3ad License update +4ca78b4 Improve makefile and mark ln as complete +85f3c31 I don't know how to use gdb +8adf347 Switch statement +9c7fec7 Added kill +559fd48 Change STYLE.ORG file name because it trips up gitlab +c1115b3 Add to README +81244ae Add to TODO and migrate to the kill-9 public license +e27abc9 Improve yes +0670f46 Fix errors in style, plus more stuff about C standardization +02699d5 Add error alert to ln and another item to the todo +fbacc8d Style written in org +bc423b1 Add todo.org, fix pwd.c +8dcc572 Added new style thing +f4e746e Change errors in rmdir to warns +9486a50 Add -f flag to ln +f458b93 More makefile improvements +e4758c0 Remove note, improve makefile +66dbeda I hate git. +36adf54 Fixed makefile +fe104b8 Merge branch 'master' of https://gitlab.com/call-cc/k9core +c68d449 Add note to ln.c +bdbe212 Add to TODO and clean up ln +14e32f3 Improved makefile +3843efd Tried to add symlinks the worst way possible. Please fix +0575e4d Add ln +87681f9 Added yes +976d1ed idk why is this merge important tbh Merge branch 'master' of gitlab.com:call-cc/k9core +62ecbde Added src/mkdir.c, src/rm.c, some tips for commiters and close file descriptor in src/touch.c +30192ae Adhere to style guidelines +cb17679 added coding style guide +d4eb349 Make dirname more posix compliant +d2c5b8a Add dirname +83af9b4 Errors count to rmdir +9077404 Rewritten rmdir +5450b0c add multiple-argument deletion to rmdir +35c7b05 Add rmdir +7db446d Add makefile +ff4f7c1 Added touch +36b7302 Add README +ba25b37 Add pwd +152ad26 Very slight cat fix +602dd40 Fix echo, shorten file size +9301665 Add echo +0e055db Initial commit diff --git a/STYLE.org b/STYLE.org @@ -5,7 +5,7 @@ :CUSTOM_ID: k9core-coding-style :END: - Pretty similar to the GNU code standards. + literally k&r ** Functions definition :PROPERTIES: diff --git a/src/chgrp.c b/src/chgrp.c @@ -7,35 +7,35 @@ int main(int argc, char *argv[]) { - int c; - int follow_symlink; - while((c = getopt(argc,argv,"h")) != -1 ) - { - switch(c) - { - case 'h': follow_symlink = 1; break; - } - } - if(argc == 1 || argc == 2) - { - fprintf(stderr,"usage: chgrp group file...\n"); - return 1; - } - struct group *group_data = getgrnam(argv[optind - ]); - gid_t gid = group_data->gr_gid; - for(int i = optind+1; i<argc; i++) - { - if(follow_symlink) - { - if(lchown(argv[i],gid,getuid()) == -1) - fprintf(stderr,"Error: %i = %s\n",errno,strerror(errno)); - } - else - if(chown(argv[i],gid,getuid()) == -1) - { - fprintf(stderr,"Error: %i = %s\n",errno,strerror(errno)); - } - } + int c; + int follow_symlink; + while((c = getopt(argc,argv,"h")) != -1 ) + { + switch(c) + { + case 'h': follow_symlink = 1; break; + } + } + if(argc == 1 || argc == 2) + { + fprintf(stderr,"usage: chgrp group file...\n"); + return 1; + } + struct group *group_data = getgrnam(argv[optind + ]); + gid_t gid = group_data->gr_gid; + for(int i = optind+1; i<argc; i++) + { + if(follow_symlink) + { + if(lchown(argv[i],gid,getuid()) == -1) + fprintf(stderr,"Error: %i = %s\n",errno,strerror(errno)); + } + else + if(chown(argv[i],gid,getuid()) == -1) + { + fprintf(stderr,"Error: %i = %s\n",errno,strerror(errno)); + } + } } diff --git a/src/chmod.c b/src/chmod.c @@ -7,17 +7,17 @@ int main(int argc, char *argv[]) { - mode_t mode = atoi(argv[1]); - for(int i = 2; i<argc;i++) - { - int fd = chmod(argv[i],mode); - if(fd == -1) - fprintf(stderr,"Error setting %i on %s\n %i = %s", - mode, - argv[i], - errno, - strerror(errno)); - } + mode_t mode = atoi(argv[1]); + for(int i = 2; i<argc;i++) + { + int fd = chmod(argv[i],mode); + mu if(fd == -1) + fprintf(stderr,"Error setting %i on %s\n %i = %s", + mode, + argv[i], + errno, + strerror(errno)); + } - return 0; + return 0; } diff --git a/src/head.c b/src/head.c @@ -6,47 +6,47 @@ int head(FILE *file, int lines) { - if(file == NULL) - { - fprintf(stderr,"error opening file: %i = %s\n",errno,strerror(errno)); - return 1; - } - int a; - int c = 0; + if(file == NULL) + { + fprintf(stderr,"error opening file: %i = %s\n",errno,strerror(errno)); + return 1; + } + int a; + int c = 0; - while((a = fgetc(file)) != EOF) - { - if(a == '\n') - ++c; + while((a = fgetc(file)) != EOF) + { + if(a == '\n') + ++c; - putchar(a); - if(c == lines) - return lines; - } - return lines; + putchar(a); + if(c == lines) + return lines; + } + return lines; } int main(int argc, char *argv[]) { - int lines = 10; - switch(argc) - { - case 1: - head(stdin,lines); - break; - case 2: - head(fopen(argv[1],"r"),lines); - break; - case 3: - lines = abs(atoi(argv[1])); - head(fopen(argv[2],"r"),lines); - break; - default: - lines = atoi(argv[2]); - head(fopen(argv[3],"r"),lines); - break; - } - return 0; + int lines = 10; + switch(argc) + { + case 1: + head(stdin,lines); + break; + case 2: + head(fopen(argv[1],"r"),lines); + break; + case 3: + lines = abs(atoi(argv[1])); + head(fopen(argv[2],"r"),lines); + break; + default: + lines = atoi(argv[2]); + head(fopen(argv[3],"r"),lines); + break; + } + return 0; } diff --git a/src/tee.c b/src/tee.c @@ -31,7 +31,7 @@ main(int argc, char *argv[]) int append = 0; int ignore_signt = 0; int fd = 0; - int FLAGS = O_WRONLY; /* yeah, it will overwrite the thing if it + int FLAGS = O_WRONLY|O_CREAT; /* yeah, it will overwrite the thing if it * can't read what's in the file, thanks * POSIX! */ while((c = getopt(argc, argv,"ai")) != -1) diff --git a/src/uname.c b/src/uname.c @@ -7,74 +7,74 @@ const char *get_operating_system() { #ifdef __gnu_linux__ - return "GNU/Linux"; + return "GNU/Linux"; #endif #ifdef __FreeBSD__ - return "FreeBSD"; + return "FreeBSD"; #endif #ifdef __OpenBSD__ - return "OpenBSD"; + return "OpenBSD"; #endif #ifdef _WIN32 - return "Here's a USB stick kid, get a real operating system"; + return "Here's a USB stick kid, get a real operating system"; #endif - return "Unknown operating system"; + return "Unknown operating system"; } int main(int argc, char *argv[]) { - int c; - int all = 0; - int machine = 0; - int node_name = 0; - int kernel_release = 0; - int kernel_name = 0; - int operating_system = 0; - int nothing = 0; - struct utsname kernel_info; + int c; + int all = 0; + int machine = 0; + int node_name = 0; + int kernel_release = 0; + int kernel_name = 0; + int operating_system = 0; + int nothing = 0; + struct utsname kernel_info; - if(argc == 1) - nothing = 1; - while((c = getopt(argc, argv, "amnrsv")) != -1) - { - switch(c) - { - case 'a': all = 1; break; - case 'm': machine = 1; break; - case 'n': node_name = 1; break; - case 'r': kernel_release = 1; break; - case 's': kernel_name = 1; break; - case 'v': operating_system = 1; break; - } - } + if(argc == 1) + nothing = 1; + while((c = getopt(argc, argv, "amnrsv")) != -1) + { + switch(c) + { + case 'a': all = 1; break; + case 'm': machine = 1; break; + case 'n': node_name = 1; break; + case 'r': kernel_release = 1; break; + case 's': kernel_name = 1; break; + case 'v': operating_system = 1; break; + } + } - uname(&kernel_info); + uname(&kernel_info); - if(all) - { - printf("%s %s %s %s %s %s\n", - kernel_info.sysname, - kernel_info.nodename, - kernel_info.release, - kernel_info.version, - kernel_info.machine, - get_operating_system()); - } - else - { - if(machine) - printf("%s ",kernel_info.machine); - if(node_name) - printf("%s ",kernel_info.nodename); - if(kernel_release) - printf("%s ",kernel_info.release); - if(kernel_name || nothing) - printf("%s ",kernel_info.sysname); - if(operating_system) - printf("%s",get_operating_system()); - printf("\n"); + if(all) + { + printf("%s %s %s %s %s %s\n", + kernel_info.sysname, + kernel_info.nodename, + kernel_info.release, + kernel_info.version, + kernel_info.machine, + get_operating_system()); + } + else + { + if(machine) + printf("%s ",kernel_info.machine); + if(node_name) + printf("%s ",kernel_info.nodename); + if(kernel_release) + printf("%s ",kernel_info.release); + if(kernel_name || nothing) + printf("%s ",kernel_info.sysname); + if(operating_system) + printf("%s",get_operating_system()); + printf("\n"); - } - return 0; + } + return 0; } diff --git a/src/wc.c b/src/wc.c @@ -17,9 +17,7 @@ struct wc_values wc(FILE *file) { if(file == NULL) - { fprintf(stderr,"error opening file\n"); - } struct wc_values foobar; char c; int newlines, spaces, bytes = 0;