* Several options are now moved into busybox.defs.h
* Now 'rm -R' and 'rm -r' both work.
* dd now properly handles input beyond 1 block from stdin.
+ * Fixed a bug where tar unpacked everything a directories. Moved some code
+ from createPath into mkdir where it belonged, thereby making tar work properly.
+ * Fixed an off-by-one bug in cat. Given a list of file it wouldn't cat out the
+ last file in the list.
-Erik Andrsen
--- /dev/null
+TODO list for busybox in no particular order
+
+* Add in a mini syslogd
+* Allow tar to create archives with sockets, devices, and other special files
+* Add in a mini modprobe, insmod, rmmod
+* poweroff
+* Change init so halt, reboot (and poweroff) work with an initrd
+ when init is not PID 1
+*
argv++;
while (argc-- > 0) {
- file = fopen(*argv, "r");
+ file = fopen(*(argv++), "r");
if (file == NULL) {
perror(*argv);
exit(FALSE);
}
print_file( file);
- argc--;
- argv++;
}
exit(TRUE);
}
argv++;
while (argc-- > 0) {
- file = fopen(*argv, "r");
+ file = fopen(*(argv++), "r");
if (file == NULL) {
perror(*argv);
exit(FALSE);
}
print_file( file);
- argc--;
- argv++;
}
exit(TRUE);
}
fputs(" ", stdout);
#ifdef BB_FEATURE_LS_USERNAME
if (!(opts & DISP_NUMERIC)) {
- scratch[8]='\0';
+ scratch[0]='\0';
my_getpwuid( scratch, info->st_uid);
+ scratch[8]='\0';
if (*scratch)
- fputs(scratch, stdout);
- else
- writenum((long)info->st_uid,(short)0);
+ wr(scratch,8);
+ else {
+ writenum((long) info->st_uid,(short)8);
+ fputs(" ", stdout);
+ }
} else
#endif
- writenum((long)info->st_uid,(short)0);
+ {
+ writenum((long) info->st_uid,(short)8);
+ fputs(" ", stdout);
+ }
tab(16);
#ifdef BB_FEATURE_LS_USERNAME
if (!(opts & DISP_NUMERIC)) {
- scratch[8]='\0';
+ scratch[0]='\0';
my_getgrgid( scratch, info->st_gid);
+ scratch[8]='\0';
if (*scratch)
- fputs(scratch, stdout);
- else
- writenum((long)info->st_gid,(short)0);
+ wr(scratch,8);
+ else
+ writenum((long) info->st_gid,(short)8);
} else
#endif
- writenum((long)info->st_gid,(short)0);
+ writenum((long) info->st_gid,(short)8);
tab(17);
if (S_ISBLK(mode) || S_ISCHR(mode)) {
writenum((long)MAJOR(info->st_rdev),(short)3);
fputs(" ", stdout);
#ifdef BB_FEATURE_LS_USERNAME
if (!(opts & DISP_NUMERIC)) {
- scratch[8]='\0';
+ scratch[0]='\0';
my_getpwuid( scratch, info->st_uid);
+ scratch[8]='\0';
if (*scratch)
- fputs(scratch, stdout);
- else
- writenum((long)info->st_uid,(short)0);
+ wr(scratch,8);
+ else {
+ writenum((long) info->st_uid,(short)8);
+ fputs(" ", stdout);
+ }
} else
#endif
- writenum((long)info->st_uid,(short)0);
+ {
+ writenum((long) info->st_uid,(short)8);
+ fputs(" ", stdout);
+ }
tab(16);
#ifdef BB_FEATURE_LS_USERNAME
if (!(opts & DISP_NUMERIC)) {
- scratch[8]='\0';
+ scratch[0]='\0';
my_getgrgid( scratch, info->st_gid);
+ scratch[8]='\0';
if (*scratch)
- fputs(scratch, stdout);
- else
- writenum((long)info->st_gid,(short)0);
+ wr(scratch,8);
+ else
+ writenum((long) info->st_gid,(short)8);
} else
#endif
- writenum((long)info->st_gid,(short)0);
+ writenum((long) info->st_gid,(short)8);
tab(17);
if (S_ISBLK(mode) || S_ISCHR(mode)) {
writenum((long)MAJOR(info->st_rdev),(short)3);