Commit Graph

297 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 3ca139b4c2 Add chmod(1). 2014-10-28 20:16:51 +01:00
Jonas 'Sortie' Termansen d8a66ac86f Add -t option to ls(1). 2014-10-21 16:11:17 +02:00
Jonas 'Sortie' Termansen 05a124467e Add -i option to ls(1). 2014-10-21 16:11:17 +02:00
Jonas 'Sortie' Termansen 2194bdb8b9 Add -d option to ls(1). 2014-10-21 16:11:17 +02:00
Jonas 'Sortie' Termansen f3d1b9d0e4 Improve mv(1). 2014-10-21 16:11:17 +02:00
Jonas 'Sortie' Termansen 2492f0bad7 Fix how the shell appends. 2014-10-04 17:22:59 +02:00
Jonas 'Sortie' Termansen 12780c8eb0 Add env(1). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen f84bfe5e89 Fix paste in editor not deleting the selection. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen cbd46f610c Fix init having its own poor vasprintf(3). 2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen c451de1bc2 Fix uninitalized memory accesses in editor. 2014-08-23 21:26:17 +02:00
Jonas 'Sortie' Termansen 5f9da2a651 Fix format string problems in error(3) calls. 2014-08-23 21:04:39 +02:00
Jonas 'Sortie' Termansen 901467520f Fix init using usleep instead of nanosleep. 2014-06-17 23:53:26 +02:00
Jonas 'Sortie' Termansen 6f35797e19 Fix editor not displaying an error when stdio is not a terminal. 2014-05-16 14:48:27 +02:00
Jonas 'Sortie' Termansen 812d071481 Fix buffer overflow in which(1). 2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen 4674017303 Fix editor writing NUL bytes to terminal. 2014-04-22 18:06:14 +02:00
Jonas 'Sortie' Termansen c93a434749 Fix init not respecting the home directory from /etc/passwd. 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen b7bf21bfff Open stdin, stdout and stderr in the kernel rather than init. 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen e91cde379a Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen 687096ec8a Add uname(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen 1a92a6991d Rename mxsh to sh. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen fba2e26b05 Fix wc(1) argument parsing. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen 3d64567bae Fix pwd(1) argument parsing. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen 820bafeabf Fix ls(1) argument parsing. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen 10daa40f01 Fix du(1) argument parsing. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen 581edfb422 Fix cat(1) argument parsing. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen a66bb2900a Fix unportable pid_t parsing in sh(1). 2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen 7651519f96 Color executables in ls(1). 2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen f8e7553187 Add false(1) and true(1). 2013-12-19 17:42:07 +01:00
Jonas 'Sortie' Termansen 184fce3cf3 Add basic wildcard support to the shell. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 5703540c0f Start the initial root shell in root's home directory. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen b3b2e99b9c Perform only home path substitution in the shell if HOME is set. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 5582cb4065 Set the root user's home directory, username and shell in init. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 6a9eee3238 Add brand.h. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen b5509037bc Add command-not-found utility. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 3de23d8cec Rewrite the Sortix text editor. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 4e45844334 Add chain boot support to init. 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 0708482d9b Rewrite echo(1). 2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen 2f261b3848 Port column(1) to GNU and POSIX systems. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 0738e9bf3c Add du(1). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 51d965d6eb Add wc(1). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 3e5a6644c8 Improve implementation of pwd(1). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen a7b03af9cc Improve implementation of cat(1). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 97621d4661 Use getlogin(3) in the shell instead of the USERNAME variable. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen dd5a59e5f6 Expand variables before running shell builtins. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 20b67f18bc Update libc system calls to follow coding conventions. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen 311423856e Add foreground process support to init and sh. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen c8f302df1a Add process group support to init and sh. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen 6ea41cc620 Retrieve init process id from INIT_PID environmental variable. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen f8f65d5713 Store init process pid in INIT_PID environmental variable. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen 94cd049473 Add chroot(1). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 3c6ecd6512 Add umask(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 277e2e8626 Add modification date to ls long format. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 82ffdb5ca8 Add date(1). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 3a76e33459 Add time(1). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen a15ffa955b Obsolete uptime(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 12a8bb91aa Update help program to search PATH. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen e249533d99 Add home directory syntax to shell. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen 8b7dad7d4d Add colormake(1). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen 15c48f4efc Add PATH variable. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen e97990e144 Add install(1) stub. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen fc8d64013d Refactor datatype declarations. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 5ce53a2a30 Wait for orphans in init. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 266a02ad71 Add find(1) stub. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen de41c02ded Add mv(1) utility. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen c9289e839c Sort util/Makefile program list. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen fab7b7dfc8 Rewrite cp(1). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 4e095906fb Add -c option to shell. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 7637e835b5 Allow setting shell username and hostname. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 36f8d6e273 Add exit-on-error option to shell. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 71be9b9b08 Add support for shell scripts. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen dbab4e7683 Add shell non-interactive mode and shell comments. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen 94dcefb05c Improve implementation of rm(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen 25aebe4cd8 Align ls long format. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen cd48a35074 Add colors to sh(1) and ls(1).
This makes Sortix a happier place to be.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen 0453ff9532 Add ln(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen c32dac0e16 Add which(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen fe542c9276 Add rmdir(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen 2169710127 Add mkdir(1). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen 1444683ea8 Refactor kernel VFS.
Note: This is an incompatible ABI change.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 9634a0c3d2 Add --version option to chvideomode(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 8a2630fbee Add --version option to column(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 238de22ce8 Add --version option to kernelinfo(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 5f003c2d87 Add --version option to ls(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 9986edce84 Add --version option to head(1) and tail(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 3879c0a774 Add --version option to type(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 9a08acb8f3 Add --version option to uname(1) 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 59edfdb787 Remove <readparamstring.h>. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 90036ca6a8 Update copyright headers of old files to the current format. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen eb5be61d20 Fix trailing blank lines. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen 7eb9e3c33f Refactor Sortix build system and de-autoconf mxmpp. 2013-12-17 14:30:22 +01:00
Jonas 'Sortie' Termansen f8793bc53e Port chvideomode to <sys/display.h> interface. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen 9a608e5bb2 Fix exit code in chvideomode. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen 53005fc01f Fix shell buffer overflow on long argument lists. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen c8b795aab3 Correctly request SIZE_MAX in chvideomode. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen 1ca946af2f Fix ls exit code. 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen cd1df6d088 Correct error detection in echo(1). 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen 7a8687e063 Handle ANSI Escape codes in column(1). 2012-12-14 14:18:38 +01:00
Jonas 'Sortie' Termansen a041c107d5 Fix shell crash if PWD is unset. 2012-12-14 14:18:02 +01:00
Jonas 'Sortie' Termansen 9cf092d32e Use cross compiler in build system. 2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen 0b94239912 Fix missing WEXITSTATUS in init and kernel. 2012-09-09 23:08:03 +02:00
Jonas 'Sortie' Termansen ab1901976c Add support for escaping spaces and tabs in shell. 2012-09-09 21:03:02 +02:00
Jonas 'Sortie' Termansen b9b697f2cb Implement proper W* error codes in sys/wait.h and kernel.
Note that signals can't really kill a process at this time.
2012-09-09 12:21:39 +02:00
Jonas 'Sortie' Termansen 1369aa9da9 Fix wrong datatypes to printf in ls.
gcc still complains, but that is because uintmax_t is declared incorrectly.
2012-09-09 12:20:58 +02:00
Jonas 'Sortie' Termansen 46d02b784b Fix compile warnings in userspace programs. 2012-09-08 20:55:43 +02:00
Jonas 'Sortie' Termansen d855c6cec7 Add warnings to userspace compile flags. 2012-09-08 20:33:52 +02:00
Jonas 'Sortie' Termansen c9eb1b2cb3 Better collection of zombie processes.
Note that there seems to be a deadlock if a process exits when there are
zombies around. Init also doesn't handle zombie children correctly as there
is sent no SIGCHLD signal yet.
2012-09-08 19:25:13 +02:00
Jonas 'Sortie' Termansen 32a1be0008 Increased tab size from 4 to 8. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 13c0ab638a Sort the output of ls(1). 2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 17a93359dd Add . and .. support to kernel filesystems.
This makes the hack in ls(1) not needed and is hence removed.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen fc811af890 Increased shell limit for line length.
Yes this is hacky, I'll fix it with a better shell.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 66b8d23713 Init defaults $objtype to $cputype. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen e230854ee9 Removed the idle program. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen f1f0c44a12 Made the shell more compatible with signals. 2012-09-08 18:45:41 +02:00
Jonas 'Sortie' Termansen 47ae712419 pager(1) now detects the terminal resolution. 2012-07-31 16:48:56 +02:00
Jonas 'Sortie' Termansen ce43f9c306 Add chvideomode(1) using the /dev/video interface. 2012-07-30 19:00:24 +02:00
Jonas 'Sortie' Termansen ab7ee4fd1e column(1) now queries the terminal width. 2012-07-30 00:35:42 +02:00
Jonas 'Sortie' Termansen 829e63f0e9 editor(1) now bails if the terminal resolution isn't 80x25.
This isn't perfect, but support for other resolutions is near!
2012-07-29 23:41:36 +02:00
Jonas 'Sortie' Termansen 5eb48d32fb Fixed a bug in --usage of uname(1). 2012-07-26 18:51:50 +02:00
Jonas 'Sortie' Termansen ba07631aa2 uname(1) now behaves much more like its GNU coreutils counterpart. 2012-07-26 16:04:45 +02:00
Jonas 'Sortie' Termansen 38f06d505c Better detection of environmental variables in mxsh. 2012-07-24 19:56:33 +02:00
Jonas 'Sortie' Termansen b7788610da Added error detection to echo(1). 2012-07-24 19:56:32 +02:00
Jonas 'Sortie' Termansen 12326f2e34 Added $LINES and $COLUMNS to the shell.
This tests the fancy new system call tcgetwinsize(2).
2012-07-24 18:51:22 +02:00
Jonas 'Sortie' Termansen 92c5533820 Improved the implementation of the exec* functions. 2012-04-30 21:10:02 +02:00
Jonas 'Sortie' Termansen 042aeb0181 Added the $PWD environmental variable to the shell. 2012-04-13 23:01:04 +02:00
Jonas 'Sortie' Termansen b554eb2dfb The shell now implements $$, $PPID, and $? as normal variables. 2012-04-13 22:41:07 +02:00
Jonas 'Sortie' Termansen a24e86e751 init(1) now restarts the shell upon crash. 2012-04-13 21:47:47 +02:00
Jonas 'Sortie' Termansen 2331a1a234 Added hacky support for environmental variables to the shell. 2012-04-03 22:03:58 +02:00
Jonas 'Sortie' Termansen 9ab0bc5474 Added {,p}{read,write}{all,least}(3). 2012-03-24 15:34:30 +01:00
Jonas 'Sortie' Termansen db79994e64 Refactored all the sortix headers into a include directory.
Also got rid of trailing white space. That corrupted .git/.

Big ass-commit because of recovered .git directory.
2012-03-22 00:52:29 +01:00
Jonas 'Sortie' Termansen fa6d445b0d Added type(1), a replacement for the "traditional" Sortix cat(1).
cat(1) now work as you would expect.
2012-03-16 15:56:09 +01:00
Jonas 'Sortie' Termansen a6a296a971 Fixed bug where pager(1) prints a line too much. 2012-03-11 18:16:55 +01:00
Jonas 'Sortie' Termansen 5e317c9726 Made kernelinfo(1) a little more friendly on bad string name. 2012-03-11 18:14:21 +01:00
Jonas 'Sortie' Termansen c403c1d798 Greatly improved ls(1). 2012-03-11 17:58:25 +01:00
Jonas 'Sortie' Termansen cadac5ce2a Moved the /bin and /dev hack into the kernel.
This makes ls seem less hacky.
2012-03-11 17:25:32 +01:00
Jonas 'Sortie' Termansen dc0f78f6b7 Added copyright headers to benchmarks, games and utilities.
It's all GPLv3 or later.
2012-03-11 15:57:13 +01:00
Jonas 'Sortie' Termansen 9ed2031dd2 pager(1) now supports reading from stdin. 2012-03-07 21:06:29 +01:00
Jonas 'Sortie' Termansen bd7cb5195a Removed debug string from mxsh(1). 2012-03-07 18:26:02 +01:00
Jonas 'Sortie' Termansen 87248fbce9 Aded kernelinfo(1) as a frontend of kernelinfo(2). 2012-03-07 18:20:40 +01:00
Jonas 'Sortie' Termansen a7658d5b8c uname(1) now uses kernelinfo(2) to determine kernel version. 2012-03-07 18:06:23 +01:00
Jonas 'Sortie' Termansen 7d4c79bc8c Improved error message upon line reading failure in head(1) and tail(1). 2012-03-07 15:52:59 +01:00
Jonas 'Sortie' Termansen 563f831545 The shell now support the >> operator.
Note that the RAM filesystem, however, doesn't.
2012-03-04 16:50:44 +01:00
Jonas 'Sortie' Termansen 3c12de760f cat(1) now only uses "traditional" mode if both stdin and stdout isatty(2). 2012-03-04 16:49:51 +01:00
Jonas 'Sortie' Termansen 617c4333c6 Added head(1), tail(1). 2012-03-03 00:29:24 +01:00
Jonas 'Sortie' Termansen 7b9e15baf2 Made cat(1) read from stdin if it isn't a tty. 2012-03-02 18:15:55 +01:00
Jonas 'Sortie' Termansen 98d1ccfa7d Improved the shell with pipes, background processes and semicolons.
It's really hacky, but it's an improvement.
2012-03-02 18:02:31 +01:00
Jonas 'Sortie' Termansen 0ed0082070 Added execv(3) and execve(3).
Removed the older libmaxsi system call.
2012-03-02 15:00:11 +01:00
Jonas 'Sortie' Termansen f2f4b2ca60 Better argument parsing in column(1). 2012-03-01 16:59:53 +01:00
Jonas 'Sortie' Termansen 158909033e ls(1) now pipe(2) into column(1) if stdout(3) isatty(2).
This saves precious screen space as Sortix only supports 25-line ttys.
2012-03-01 14:37:28 +01:00
Jonas 'Sortie' Termansen caddf8c191 Added column(1). 2012-03-01 14:36:56 +01:00
Jonas 'Sortie' Termansen 081bb6481c Added pwd(1). 2012-03-01 00:27:30 +01:00