Commit Graph

383 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 99f27d5eb1 Fix pwd(1) unsetting PWD and exit code. 2014-12-04 18:12:50 +01:00
Jonas 'Sortie' Termansen 4e9746c314 Add yes(1). 2014-12-03 15:20:03 +01:00
Jonas 'Sortie' Termansen 3ad7ab4fc3 Add gethostname(2) and sethostname(2). 2014-12-03 13:58:29 +01:00
Jonas 'Sortie' Termansen d668c5558e Fix sprintf uses in sh. 2014-12-02 18:00:23 +01:00
Jonas 'Sortie' Termansen bb3f591057 Add symbolic links. 2014-12-02 17:36:36 +01:00
Jonas 'Sortie' Termansen 2586685061 Ongoing build system maintainance. 2014-12-02 17:09:28 +01:00
Jonas 'Sortie' Termansen 2b2dd347ec Add symbolic link support to ls(1). 2014-12-02 16:28:46 +01:00
Jonas 'Sortie' Termansen b1a2817ada Add symbolic link support to cp(1). 2014-12-02 16:28:46 +01:00
Jonas 'Sortie' Termansen 0dc951b94e Improve cp's install(1) emulation. 2014-12-01 23:34:43 +01:00
Jonas 'Sortie' Termansen 3d091f39bf Harden strcpy calls. 2014-11-30 19:53:42 +01:00
Jonas 'Sortie' Termansen 0329192ba8 Ignore unsupported cp --preserve option. 2014-11-30 16:09:01 +01:00
Jonas 'Sortie' Termansen 7482a13195 Rewrite column(1). 2014-11-27 20:55:34 +01:00
Jonas 'Sortie' Termansen ba29cad8a3 Improve cp(1). 2014-11-27 01:36:52 +01:00
Jonas 'Sortie' Termansen e5d07072f3 Set TERM=sortix in init. 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen 0cd7fb6b76 Remove objtype environment variable from init. 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen 91a1df02b1 Remove calc(1).
This program was mostly replaced with the standard expr(1) tool and the code
quality was not up to the standards. Finally, it was not very useful.
2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen d56dcafd27 Add sleep(1). 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen 99d1c61b24 Use a proper shell as sh(1) backend if available. 2014-11-26 21:41:09 +01:00
Jonas 'Sortie' Termansen f8c5adf20f Add #! support to execve(2). 2014-11-26 21:14:13 +01:00
Jonas 'Sortie' Termansen 3577cb81fe Improve execvpe(3) logic and run shell on ENOEXEC. 2014-11-25 23:52:12 +01:00
Jonas 'Sortie' Termansen a334ede4c4 Rewrite ls(1). 2014-11-25 18:53:31 +01:00
Jonas 'Sortie' Termansen 87be32b948 Remove obsolete uninstall Makefile target from projects. 2014-11-24 21:32:24 +01:00
Jonas 'Sortie' Termansen a7cf2c4b36 Add unicode support to editor(1). 2014-11-24 17:41:26 +01:00
Jonas 'Sortie' Termansen 9e6148f6ff Refactor default compiler options logic. 2014-11-24 17:10:50 +01:00
Jonas 'Sortie' Termansen fbbb33287b Implement standard library feature macros. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen d2cea190a8 Remove DEFAULT_STUFF environmental variable from init(1). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen e9b81ccaa5 Rewrite chvideomode(1). 2014-11-19 00:08:49 +01:00
Jonas 'Sortie' Termansen c2f9c0bb12 Remove --usage options from shell utilities in favor of --help. 2014-11-18 20:29:18 +01:00
Jonas 'Sortie' Termansen c5fa54aa08 Use fmemopen(3) internally in sh(1). 2014-11-17 19:18:16 +01:00
Jonas 'Sortie' Termansen d7e1c926a2 Run command-not-found in sh only if errno is ENOENT. 2014-11-17 16:23:02 +01:00
Jonas 'Sortie' Termansen 2697711dc1 Add tr(1). 2014-11-17 16:23:02 +01:00
Jonas 'Sortie' Termansen 760f21c670 Add dirname(1). 2014-11-01 21:33:49 +01:00
Jonas 'Sortie' Termansen 94bc05307a Add basename(1). 2014-11-01 21:33:48 +01:00
Jonas 'Sortie' Termansen af66244bd6 Add uniq(1). 2014-11-01 20:58:13 +01:00
Jonas 'Sortie' Termansen 9f9af783d9 Add sort(1). 2014-11-01 17:26:13 +01:00
Jonas 'Sortie' Termansen 2f9e2e4e9d Add expr(1). 2014-11-01 16:55:19 +01:00
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
Jonas 'Sortie' Termansen c4264d9c2a Ported the user-space programs to use stdin for keyboard access.
The old keyboard API is hereby deprecated and unused.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen ff9221de1a Updated ls(1) to use the DIR API. 2012-01-15 00:51:35 +01:00
Jonas 'Sortie' Termansen d6d404f3f0 Added a simple pager program while we wait for less(1) to be ported. 2011-12-26 17:23:40 +01:00
Jonas 'Sortie' Termansen fdbd4ca90d Implemented large parts of the stdio(3), including fprintf.
Made FILE an interface to various backends. This allows application writers
to override the standard FILE API functions with their own backends. This
is highly unportable - it'd be nice if a real standard existed for this.
glibc already does something like this internally, but AFAIK you can't hook
into it.

Added fdopen(3), fopen(3), fregister(3), funregister(3), fread(3),
fwrite(3), fseek(3), clearerr(3), ferror(3), feof(3), rewind(3), ftell(3),
fflush(3), fclose(3), fileno(3), fnewline(3), fcloseall(3), memset(3),
stdio(3), vfprintf(3), fprintf(3), and vprintf(3).

Added a file-descriptor backend to the FILE API.

fd's {0, 1, 2} are now initialized as stdin, stdout, and stderr when the
standard library initializes.

fcloseall(3) is now called on exit(3).

decl/intn_t_.h now @include(size_t.h) instead of declaring it itself.

Added <stdint.h>.

The following programs now flush stdout: cat(1), clear(1), editor(1),
init(1), mxsh(1).

printf(3) is now hooked up against vprintf(3), while Maxsi::PrintF
remains using the system call, for now.
2011-12-24 04:28:34 +01:00
Jonas 'Sortie' Termansen b5fe020b7a Fixed bad variable name in uptime(1), it's usecs not msecs. 2011-12-23 19:53:47 +01:00
Jonas 'Sortie' Termansen ee125f01e2 Made the memstat program a little more 64-bit friendly.
I think.
2011-12-23 16:54:34 +01:00
Steve Dougherty 567786d26b Added calc, an integer-based reverse polish notation calculator. 2011-12-17 11:40:16 +01:00
Jonas 'Sortie' Termansen 854d9b171a uptime(2) now reports usecs instead of msecs. 2011-12-04 21:27:21 +01:00
Jonas 'Sortie' Termansen f5b46a89ed uname(1) now reports whether the system is 32-bit or 64-bit. 2011-12-01 15:30:17 +01:00
Jonas 'Sortie' Termansen 8c146f14c0 Added uptime(1). 2011-11-28 16:29:53 +01:00
Jonas 'Sortie' Termansen d96d790de7 Oops, meant 'used' instead of 'free' in memstat. 2011-11-26 21:10:08 +01:00
Jonas 'Sortie' Termansen bd1b1fe3bc Added isatty(2), which is used by editor. 2011-11-26 21:00:40 +01:00
Jonas 'Sortie' Termansen 9152443816 Added memstat, a program for displaying memory usage. 2011-11-26 20:14:57 +01:00
Jonas 'Sortie' Termansen f45def4a68 cat(1) now writes to fd 1 instead of /dev/tty. 2011-11-26 19:14:08 +01:00