239 lines
No EOL
5.3 KiB
Text
Executable file
239 lines
No EOL
5.3 KiB
Text
Executable file
BUGS
|
|
****
|
|
|
|
cal skips first week on months with first day on sat
|
|
Yeah. Honestly, I'm not sure right now. But, then again, my
|
|
brain is currently fried in multiple ways, so, we'll check
|
|
again in the morning.
|
|
-Kat
|
|
|
|
cal gets months on some years wrong
|
|
For instance, if you run `./cal 08 08`, the first day of the
|
|
month is off by one day. It's weird, and I don't know why it
|
|
happens.
|
|
-Kat
|
|
|
|
TODOS
|
|
*****
|
|
|
|
wc needs multibyte support
|
|
It's supposed to have a flag, -m, that counts characters, as
|
|
opposed to -c which counts bytes (ASCII characters, if you
|
|
will). We need to add in support for -m proper, using some
|
|
form of multibyte.
|
|
-Kat
|
|
|
|
cal needs the ability to show a whole year calendar
|
|
This needs to be done eventually.
|
|
-Kat
|
|
|
|
sh probably needs to be trashed and restarted
|
|
When I started it, it was from a small online tutorial on the
|
|
basics of how shells work. It was more a demonstration of
|
|
things like forking and the execvp and waitpid functions. It
|
|
wasn't actually intended to grow into a proper shell. As it
|
|
stands this is just going to keep getting cobbled together
|
|
until it collapses under its own weight. It's probably better
|
|
to restart now, parse input using lex and yacc instead of
|
|
doing it ourselves, and work from there on implementation
|
|
of everything. We know the basics of how a shell does its
|
|
thing (fork, execvp, waitpid), now to use that with newer
|
|
knowledge of building language parsers with things like lex
|
|
and yacc, getting command line arguments with getopts, and
|
|
other things that will lead to a proper, fully-formed shell.
|
|
-Kat
|
|
|
|
UTILITIES
|
|
*********
|
|
|
|
O - Done . - In progress > - To be done ? - Maybe?
|
|
| - Working X - Needs fixing # - Incomplete M - man page needed
|
|
|
|
UTILITY STATUS
|
|
======= ======
|
|
admin >
|
|
ar >
|
|
asa O |
|
|
at >
|
|
awk >
|
|
basename O |
|
|
batch >
|
|
bc . #M
|
|
cal . X#M
|
|
calendar ?
|
|
cat O |
|
|
cflow >
|
|
chgrp . X#M
|
|
chmod >
|
|
chown >
|
|
cksum O |
|
|
cmp O |
|
|
comm >
|
|
compress >
|
|
cp >
|
|
crontab >
|
|
csplit >
|
|
ctags >
|
|
cut >
|
|
cxref >
|
|
date >
|
|
dd >
|
|
delta >
|
|
df >
|
|
diff >
|
|
dirname O |
|
|
du >
|
|
echo O |
|
|
ed >
|
|
ex >
|
|
expand O |
|
|
expr >
|
|
false O |
|
|
file >
|
|
find >
|
|
fold >
|
|
fort77 >
|
|
fuser >
|
|
gencat >
|
|
get >
|
|
getconf >
|
|
grep >
|
|
head O |
|
|
iconv >
|
|
id >
|
|
ipcrm >
|
|
ipcs >
|
|
join >
|
|
lex >
|
|
link O |
|
|
ln O |
|
|
locale >
|
|
localedef >
|
|
logger >
|
|
login >
|
|
logname O |
|
|
lp >
|
|
ls >
|
|
m4 >
|
|
mailx . #
|
|
make >
|
|
man >
|
|
mesg >
|
|
mkdir >
|
|
mkfifo O | M
|
|
mknod >
|
|
more >
|
|
mv >
|
|
netstat >
|
|
newgrp >
|
|
news ?
|
|
nice >
|
|
nl >
|
|
nm >
|
|
nohup >
|
|
od ?
|
|
paste >
|
|
patch >
|
|
pathchk >
|
|
pax >
|
|
ping >
|
|
pr >
|
|
printf >
|
|
prs >
|
|
ps >
|
|
pwd O |
|
|
qalter >
|
|
qdel >
|
|
qhold >
|
|
qmove >
|
|
qmsg >
|
|
qrerun >
|
|
qrls >
|
|
qselect >
|
|
qsig >
|
|
qstat >
|
|
qsub >
|
|
renice >
|
|
rev ?
|
|
rm >
|
|
rmdel >
|
|
rmdir O |
|
|
sact >
|
|
sccs >
|
|
sed >
|
|
sh . X#M
|
|
sleep O |
|
|
sort >
|
|
split >
|
|
strings >
|
|
strip >
|
|
stty >
|
|
tac ?
|
|
tail >
|
|
talk >
|
|
tee O |
|
|
tftp ?
|
|
time >
|
|
touch >
|
|
tput >
|
|
tr >
|
|
true O |
|
|
tsort >
|
|
tty O |
|
|
uname >
|
|
uncompress >
|
|
unexpand >
|
|
unget >
|
|
uniq >
|
|
unlink >
|
|
uucp >
|
|
uudecode >
|
|
uuencode >
|
|
uustat >
|
|
uux >
|
|
val >
|
|
vi >
|
|
wc O |
|
|
what >
|
|
who >
|
|
write >
|
|
xargs >
|
|
yacc >
|
|
zcat >
|
|
|
|
NOTES
|
|
*****
|
|
|
|
Some things may get added:
|
|
|
|
From the LSB:
|
|
chfn, chsh, dmesg, egrep, fgrep, groupadd, groupdel, groupmod,
|
|
groups, gunzip, gzip, hostname, install, killall, md5sum,
|
|
mknod, mktemp, mount, passwd, pidof, sendmail, seq, shutdown,
|
|
su, sync, tar, umount, useradd, userdel, usermod
|
|
|
|
In general:
|
|
a cobol compiler, a debugger, an assembler, look/spell, wall
|
|
|
|
And some need to get defined:
|
|
other
|
|
news/calendar - Both are referenced in the "Rationale" section of
|
|
The Open Group Base Specification Issue 7 as utilities that
|
|
weren't included. Both sound kinda interesting. I kinda want
|
|
to included them. Unfortunately, I have no clue what they are
|
|
or how they work. So, either I need to dig 'em up and find out,
|
|
or I need to define them myself.
|
|
*GOOD NEWS!* I found the heirloom utility set, which includes
|
|
both of these applications! Yay!
|
|
|
|
notes on things not in POSIX or other standards:
|
|
tac: it's basically cat but backwards
|
|
rev: Reverses a file line-by-line
|
|
|
|
So, POSIX-conformant applications are supposed to define the
|
|
_POSIX_C_SOURCE macro with value 200809L to enable POSIX features
|
|
and the macro _XOPEN_SOURCE with value 700 if they're XSI-compliant.
|
|
For any XSI-compliant utilities, we really should define the
|
|
_XOPEN_SOURCE macros; for any non-XSI-compliant applications, we
|
|
should really define the _POSIX_C_SOURCE macro until such a time
|
|
when/if they become XSI-compliant. |