The new tar for busybox is now done, and works just fine

for extracting files.  Creation of tarballs is next...
 -Erik
This commit is contained in:
Erik Andersen 2000-03-24 00:54:46 +00:00
parent e454fb68a3
commit 1ad302ac90
12 changed files with 627 additions and 1876 deletions

View File

@ -21,6 +21,8 @@
PROG := busybox PROG := busybox
VERSION := 0.43 VERSION := 0.43
BUILDTIME := $(shell TZ=GMT date "+%Y%m%d-%H%M") BUILDTIME := $(shell TZ=GMT date "+%Y%m%d-%H%M")
BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
BUILDTIME := $(shell TZ=UTC date --utc -R)
# Set the following to `true' to make a debuggable build. # Set the following to `true' to make a debuggable build.
# Leave this set to `false' for production use. # Leave this set to `false' for production use.

File diff suppressed because it is too large Load Diff

View File

@ -64,8 +64,7 @@ struct tm *date_conv_time(struct tm *tm_time, const char *t_string)
&(tm_time->tm_min), &(tm_time->tm_year)); &(tm_time->tm_min), &(tm_time->tm_year));
if (nr < 4 || nr > 5) { if (nr < 4 || nr > 5) {
fprintf(stderr, invalid_date, "date", t_string); fatalError(invalid_date, "date", t_string);
exit(FALSE);
} }
/* correct for century - minor Y2K problem here? */ /* correct for century - minor Y2K problem here? */
@ -149,10 +148,7 @@ struct tm *date_conv_ftime(struct tm *tm_time, const char *t_string)
} }
fprintf(stderr, invalid_date, "date", t_string); fatalError(invalid_date, "date", t_string);
exit(FALSE);
} }
@ -187,10 +183,8 @@ int date_main(int argc, char **argv)
break; break;
case 'u': case 'u':
utc = 1; utc = 1;
if (putenv("TZ=UTC0") != 0) { if (putenv("TZ=UTC0") != 0)
fprintf(stderr, memory_exhausted, "date"); fatalError(memory_exhausted, "date");
exit(FALSE);
}
/* Look ma, no break. Don't fix it either. */ /* Look ma, no break. Don't fix it either. */
case 'd': case 'd':
use_arg = 1; use_arg = 1;
@ -239,16 +233,13 @@ int date_main(int argc, char **argv)
/* Correct any day of week and day of year etc fields */ /* Correct any day of week and day of year etc fields */
tm = mktime(&tm_time); tm = mktime(&tm_time);
if (tm < 0) { if (tm < 0)
fprintf(stderr, invalid_date, "date", date_str); fatalError(invalid_date, "date", date_str);
exit(FALSE);
}
/* if setting time, set it */ /* if setting time, set it */
if (set_time) { if (set_time) {
if (stime(&tm) < 0) { if (stime(&tm) < 0) {
fprintf(stderr, "date: can't set date.\n"); fatalError("date: can't set date.\n");
exit(FALSE);
} }
} }
} }

View File

@ -57,8 +57,8 @@ static const char dd_usage[] =
extern int dd_main(int argc, char **argv) extern int dd_main(int argc, char **argv)
{ {
const char *inFile = NULL; char *inFile = NULL;
const char *outFile = NULL; char *outFile = NULL;
char *cp; char *cp;
int inFd; int inFd;
int outFd; int outFd;

View File

@ -90,6 +90,11 @@
#define DISP_DIRNAME 128 /* show directory name (for internal use) */ #define DISP_DIRNAME 128 /* show directory name (for internal use) */
#define DIR_RECURSE 256 /* -R (not yet implemented) */ #define DIR_RECURSE 256 /* -R (not yet implemented) */
#ifndef MAJOR
#define MAJOR(dev) (((dev)>>8)&0xff)
#define MINOR(dev) ((dev)&0xff)
#endif
static unsigned char display_fmt = FMT_AUTO; static unsigned char display_fmt = FMT_AUTO;
static unsigned short opts = 0; static unsigned short opts = 0;
static unsigned short column = 0; static unsigned short column = 0;

23
date.c
View File

@ -64,8 +64,7 @@ struct tm *date_conv_time(struct tm *tm_time, const char *t_string)
&(tm_time->tm_min), &(tm_time->tm_year)); &(tm_time->tm_min), &(tm_time->tm_year));
if (nr < 4 || nr > 5) { if (nr < 4 || nr > 5) {
fprintf(stderr, invalid_date, "date", t_string); fatalError(invalid_date, "date", t_string);
exit(FALSE);
} }
/* correct for century - minor Y2K problem here? */ /* correct for century - minor Y2K problem here? */
@ -149,10 +148,7 @@ struct tm *date_conv_ftime(struct tm *tm_time, const char *t_string)
} }
fprintf(stderr, invalid_date, "date", t_string); fatalError(invalid_date, "date", t_string);
exit(FALSE);
} }
@ -187,10 +183,8 @@ int date_main(int argc, char **argv)
break; break;
case 'u': case 'u':
utc = 1; utc = 1;
if (putenv("TZ=UTC0") != 0) { if (putenv("TZ=UTC0") != 0)
fprintf(stderr, memory_exhausted, "date"); fatalError(memory_exhausted, "date");
exit(FALSE);
}
/* Look ma, no break. Don't fix it either. */ /* Look ma, no break. Don't fix it either. */
case 'd': case 'd':
use_arg = 1; use_arg = 1;
@ -239,16 +233,13 @@ int date_main(int argc, char **argv)
/* Correct any day of week and day of year etc fields */ /* Correct any day of week and day of year etc fields */
tm = mktime(&tm_time); tm = mktime(&tm_time);
if (tm < 0) { if (tm < 0)
fprintf(stderr, invalid_date, "date", date_str); fatalError(invalid_date, "date", date_str);
exit(FALSE);
}
/* if setting time, set it */ /* if setting time, set it */
if (set_time) { if (set_time) {
if (stime(&tm) < 0) { if (stime(&tm) < 0) {
fprintf(stderr, "date: can't set date.\n"); fatalError("date: can't set date.\n");
exit(FALSE);
} }
} }
} }

4
dd.c
View File

@ -57,8 +57,8 @@ static const char dd_usage[] =
extern int dd_main(int argc, char **argv) extern int dd_main(int argc, char **argv)
{ {
const char *inFile = NULL; char *inFile = NULL;
const char *outFile = NULL; char *outFile = NULL;
char *cp; char *cp;
int inFd; int inFd;
int outFd; int outFd;

View File

@ -47,11 +47,6 @@
#define EXPAND_ALLOC 1024 #define EXPAND_ALLOC 1024
#ifndef MAJOR
#define MAJOR(dev) (((dev)>>8)&0xff)
#define MINOR(dev) ((dev)&0xff)
#endif
#define isBlank(ch) (((ch) == ' ') || ((ch) == '\t')) #define isBlank(ch) (((ch) == ' ') || ((ch) == '\t'))
#define isDecimal(ch) (((ch) >= '0') && ((ch) <= '9')) #define isDecimal(ch) (((ch) >= '0') && ((ch) <= '9'))
#define isOctal(ch) (((ch) >= '0') && ((ch) <= '7')) #define isOctal(ch) (((ch) >= '0') && ((ch) <= '7'))
@ -168,8 +163,8 @@ extern int yes_main(int argc, char** argv);
extern void usage(const char *usage) __attribute__ ((noreturn)); extern void usage(const char *usage) __attribute__ ((noreturn));
extern void errorMsg(char *s, ...); extern void errorMsg(const char *s, ...);
extern void fatalError(char *s, ...) __attribute__ ((noreturn)); extern void fatalError(const char *s, ...) __attribute__ ((noreturn));
const char *modeString(int mode); const char *modeString(int mode);
const char *timeString(time_t timeVal); const char *timeString(time_t timeVal);
@ -203,6 +198,7 @@ const char* timeString(time_t timeVal);
extern int createPath (const char *name, int mode); extern int createPath (const char *name, int mode);
extern int parse_mode( const char* s, mode_t* theMode); extern int parse_mode( const char* s, mode_t* theMode);
extern int get_kernel_revision(void);
extern uid_t my_getpwnam(char *name); extern uid_t my_getpwnam(char *name);
extern gid_t my_getgrnam(char *name); extern gid_t my_getgrnam(char *name);
extern void my_getpwuid(char* name, uid_t uid); extern void my_getpwuid(char* name, uid_t uid);

5
ls.c
View File

@ -90,6 +90,11 @@
#define DISP_DIRNAME 128 /* show directory name (for internal use) */ #define DISP_DIRNAME 128 /* show directory name (for internal use) */
#define DIR_RECURSE 256 /* -R (not yet implemented) */ #define DIR_RECURSE 256 /* -R (not yet implemented) */
#ifndef MAJOR
#define MAJOR(dev) (((dev)>>8)&0xff)
#define MINOR(dev) ((dev)&0xff)
#endif
static unsigned char display_fmt = FMT_AUTO; static unsigned char display_fmt = FMT_AUTO;
static unsigned short opts = 0; static unsigned short opts = 0;
static unsigned short column = 0; static unsigned short column = 0;

View File

@ -56,4 +56,7 @@ BB_DEF_MESSAGE(name_too_long, "%s: file name too long\n")
#if defined bb_need_invalid_option || ! defined BB_DECLARE_EXTERN #if defined bb_need_invalid_option || ! defined BB_DECLARE_EXTERN
BB_DEF_MESSAGE(invalid_option, "%s: invalid option -- %c\n") BB_DEF_MESSAGE(invalid_option, "%s: invalid option -- %c\n")
#endif #endif
#if defined bb_need_io_error || ! defined BB_DECLARE_EXTERN
BB_DEF_MESSAGE(io_error, "%s: input/output error -- %s\n")
#endif
#endif /* _BB_MESSAGES_C */ #endif /* _BB_MESSAGES_C */

1207
tar.c

File diff suppressed because it is too large Load Diff

View File

@ -89,7 +89,7 @@ extern void usage(const char *usage)
exit FALSE; exit FALSE;
} }
extern void errorMsg(char *s, ...) extern void errorMsg(const char *s, ...)
{ {
va_list p; va_list p;
@ -100,7 +100,7 @@ extern void errorMsg(char *s, ...)
fflush(stderr); fflush(stderr);
} }
extern void fatalError(char *s, ...) extern void fatalError(const char *s, ...)
{ {
va_list p; va_list p;
@ -117,7 +117,7 @@ extern void fatalError(char *s, ...)
* so, for example, to check if the kernel is greater than 2.2.11: * so, for example, to check if the kernel is greater than 2.2.11:
* if (get_kernel_revision() <= 2*65536+2*256+11) { <stuff> } * if (get_kernel_revision() <= 2*65536+2*256+11) { <stuff> }
*/ */
int get_kernel_revision() extern int get_kernel_revision(void)
{ {
struct utsname name; struct utsname name;
int major = 0, minor = 0, patch = 0; int major = 0, minor = 0, patch = 0;