dos2unix: tiny shrink
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index c603a16517780a1bc5558bcff1038980f2375f49..f68c9de73e01608679fd765be0c21364c1def69b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -22,26 +22,16 @@ Rob Landley <rob@landley.net>:
     The command shell situation is a big mess.  We have three or four different
     shells that don't really share any code, and the "standalone shell" doesn't
     work all that well (especially not in a chroot environment), due to apps not
-    being reentrant.  I'm writing a new shell (bbsh) to unify the various
-    shells and configurably add the minimal set of bash features people
-    actually use.  The hardest part is it has to configure down as small as
-    lash while providing lash's features.  The rest is easy in comparison.
-  bzip2
-    Compression-side support.
+    being reentrant.
+    lash is phased out. hush can be configured down to be nearly as small,
+    but less buggy :)
   init
     General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
   depmod
     busybox lacks a way to update module deps when running from firmware without the
     use of the depmod.pl (perl is to bloated for most embedded setups) and or orig
-    modutils. The orig depmod is rather pointless to have to add to a firmware image 
+    modutils. The orig depmod is rather pointless to have to add to a firmware image
     in when we already have a insmod/rmmod and friends.
-  Unify base64 handling.
-    There's base64 encoding and decoding going on in:
-      networking/wget.c:base64enc()
-      coreutils/uudecode.c:read_base64()
-      coreutils/uuencode.c:tbl_base64[]
-      networking/httpd.c:decodeBase64()
-    And probably elsewhere.  That needs to be unified into libbb functions.
   Do a SUSv3 audit
     Look at the full Single Unix Specification version 3 (available online at
     "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and
@@ -117,13 +107,19 @@ Rob Landley <rob@landley.net>:
     This one's open to everybody, but I'll wind up doing it...
 
 
-Bernhard Fischer <rep.nop@anon.at>:
-  Makefile stuff:
-    make -j is broken, -j1 is forced atm
+Bernhard Fischer <busybox@busybox.net> suggests to look at these:
   New debug options:
     -Wlarger-than-127
+    Cleanup any big users
+    -Wunused-parameter
+    Facilitate applet PROTOTYPES to provide means for having applets that
+    do a) not take any arguments b) need only one of argc or argv c) need
+    both argc and argv. All of these three options should go for the most
+    feature complete denominator.
   Collate BUFSIZ IOBUF_SIZE MY_BUF_SIZE PIPE_PROGRESS_SIZE BUFSIZE PIPESIZE
-    Use bb_common_bufsiz1?
+    make bb_common_bufsiz1 configurable, size wise.
+    make pipesize configurable, size wise.
+    Use bb_common_bufsiz1 throughout applets!
 
 As yet unclaimed:
 
@@ -147,6 +143,10 @@ patch
   And while we're at it, a new patch filename quoting format is apparently
   coming soon:  http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
 ---
+ps / top
+  Add support for both RSS and VSIZE rather than just one or the other.
+  Or make it a build option.
+---
 man
   It would be nice to have a man command.  Not one that handles troff or
   anything, just one that can handle preformatted ascii man pages, possibly
@@ -158,8 +158,19 @@ man
 ar
   Write support?
 ---
-crond
-  turn FEATURE_DEBUG_OPT into ENABLE_FEATURE_CROND_DEBUG_OPT
+stty / catv
+  stty's visible() function and catv's guts are identical. Merge them into
+  an appropriate libbb function.
+---
+struct suffix_mult
+  Several duplicate users of: grep -r "1024\*1024" * -B2 -A1
+  Merge to a single size_suffixes[] in libbb.
+  Users: head tail od_bloaty hexdump and (partially as it wouldn't hurt) svlogd
+---
+tail
+  ./busybox tail -f foo.c~ TODO
+  should not print fmt=header_fmt for subsequent date >> TODO; i.e. only
+  fmt+ if another (not the current) file did change
 
 Architectural issues:
 
@@ -255,7 +266,7 @@ FEATURE_CLEAN_UP
   jumps out of the normal flow control and bypasses any cleanup code we
   put at the end of our applets.
 
-  It's possible to add hooks to libbb functions like xmalloc() and bb_xopen()
+  It's possible to add hooks to libbb functions like xmalloc() and xopen()
   to add their entries to a linked list, which could be traversed and
   freed/closed automatically.  (This would need to be able to free just the
   entries after a checkpoint to be usable for a forkless standalone shell.
@@ -287,12 +298,12 @@ Minor stuff:
   -> fprintf(stderr, "unalias: %s not found\n", *argptr);
 ---
   possible code duplication ingroup() and is_a_group_member()
----
-  unify itoa: netstat.c, hush.c, lash.c, msh.c
-  Put one single, robust version into e.g. safe_strtol.c
 ---
   Move __get_hz() to a better place and (re)use it in route.c, ash.c, msh.c
 ---
+  See grep -r strtod
+  Alot of duplication that wants cleanup.
+---
 
 
 Code cleanup:
@@ -305,4 +316,3 @@ sigblock(), siggetmask(), sigsetmask(), sigmask() -> sigprocmask et al
 ---
 vdprintf() -> similar sized functionality
 ---
-