Don't use strings directly in calls to usage(). This is in preparation

for their extraction to a separate file.
This commit is contained in:
Matt Kraai 2000-07-14 23:28:47 +00:00
parent 464c5de00d
commit 3bd8bd89ee
31 changed files with 325 additions and 293 deletions

15
chvt.c
View File

@ -15,18 +15,19 @@
#define VT_ACTIVATE 0x5606 /* make vt active */ #define VT_ACTIVATE 0x5606 /* make vt active */
#define VT_WAITACTIVE 0x5607 /* wait for vt active */ #define VT_WAITACTIVE 0x5607 /* wait for vt active */
const char chvt_usage[] =
"chvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChanges the foreground virtual terminal to /dev/ttyN\n"
#endif
;
int chvt_main(int argc, char **argv) int chvt_main(int argc, char **argv)
{ {
int fd, num; int fd, num;
if ((argc != 2) || (**(argv + 1) == '-')) { if ((argc != 2) || (**(argv + 1) == '-'))
usage ("chvt N\n" usage (chvt_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChanges the foreground virtual terminal to /dev/ttyN\n"
#endif
);
}
fd = get_console_fd("/dev/console"); fd = get_console_fd("/dev/console");
num = atoi(argv[1]); num = atoi(argv[1]);
if (ioctl(fd, VT_ACTIVATE, num)) { if (ioctl(fd, VT_ACTIVATE, num)) {

View File

@ -15,18 +15,19 @@
#define VT_ACTIVATE 0x5606 /* make vt active */ #define VT_ACTIVATE 0x5606 /* make vt active */
#define VT_WAITACTIVE 0x5607 /* wait for vt active */ #define VT_WAITACTIVE 0x5607 /* wait for vt active */
const char chvt_usage[] =
"chvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChanges the foreground virtual terminal to /dev/ttyN\n"
#endif
;
int chvt_main(int argc, char **argv) int chvt_main(int argc, char **argv)
{ {
int fd, num; int fd, num;
if ((argc != 2) || (**(argv + 1) == '-')) { if ((argc != 2) || (**(argv + 1) == '-'))
usage ("chvt N\n" usage (chvt_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChanges the foreground virtual terminal to /dev/ttyN\n"
#endif
);
}
fd = get_console_fd("/dev/console"); fd = get_console_fd("/dev/console");
num = atoi(argv[1]); num = atoi(argv[1]);
if (ioctl(fd, VT_ACTIVATE, num)) { if (ioctl(fd, VT_ACTIVATE, num)) {

View File

@ -13,19 +13,19 @@
/* From <linux/vt.h> */ /* From <linux/vt.h> */
#define VT_DISALLOCATE 0x5608 /* free memory associated to vt */ #define VT_DISALLOCATE 0x5608 /* free memory associated to vt */
const char deallocvt_usage[] =
"deallocvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDeallocate unused virtual terminal /dev/ttyN\n"
#endif
;
int deallocvt_main(int argc, char *argv[]) int deallocvt_main(int argc, char *argv[])
{ {
int fd, num, i; int fd, num, i;
if ((argc != 2) || (**(argv + 1) == '-')) { if ((argc != 2) || (**(argv + 1) == '-'))
usage usage(deallocvt_usage);
("deallocvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDeallocate unused virtual terminal /dev/ttyN\n"
#endif
);
}
fd = get_console_fd("/dev/console"); fd = get_console_fd("/dev/console");

View File

@ -206,6 +206,19 @@ void cut()
} }
} }
const char cut_usage[] =
"cut [OPTION]... [FILE]...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints selected fields from each input FILE to standard output.\n\n"
"Options:\n"
"\t-b LIST\tOutput only bytes from LIST\n"
"\t-c LIST\tOutput only characters from LIST\n"
"\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
"\t-s\tOnly output Lines if the include DELIM\n"
"\t-f N\tPrint only these fields\n"
"\t-n\tIgnored\n"
#endif
;
int cut_main(int argc, char **argv) int cut_main(int argc, char **argv)
{ {
@ -213,18 +226,7 @@ int cut_main(int argc, char **argv)
int numberFilenames = 0; int numberFilenames = 0;
if (argc == 1 || strcmp(argv[1], dash_dash_help)==0) if (argc == 1 || strcmp(argv[1], dash_dash_help)==0)
usage( "cut [OPTION]... [FILE]...\n" usage(cut_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints selected fields from each input FILE to standard output.\n\n"
"Options:\n"
"\t-b LIST\tOutput only bytes from LIST\n"
"\t-c LIST\tOutput only characters from LIST\n"
"\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
"\t-s\tOnly output Lines if the include DELIM\n"
"\t-f N\tPrint only these fields\n"
"\t-n\tIgnored\n"
#endif
);
while (i < argc) { while (i < argc) {
if (argv[i][0] == '-') { if (argv[i][0] == '-') {

View File

@ -23,17 +23,19 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char dirname_usage[] =
"dirname [FILENAME ...]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nStrips non-directory suffix from FILENAME\n"
#endif
;
extern int dirname_main(int argc, char **argv) extern int dirname_main(int argc, char **argv)
{ {
char* s; char* s;
if ((argc < 2) || (**(argv + 1) == '-')) { if ((argc < 2) || (**(argv + 1) == '-'))
usage("dirname [FILENAME ...]\n" usage(dirname_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nStrips non-directory suffix from FILENAME\n"
#endif
);
}
argv++; argv++;
s=*argv+strlen(*argv)-1; s=*argv+strlen(*argv)-1;

View File

@ -4,15 +4,17 @@
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
const char length_usage[] =
"length STRING\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints out the length of the specified STRING.\n"
#endif
;
extern int length_main(int argc, char **argv) extern int length_main(int argc, char **argv)
{ {
if (argc != 2 || **(argv + 1) == '-') { if (argc != 2 || **(argv + 1) == '-')
usage("length STRING\n" usage(length_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints out the length of the specified STRING.\n"
#endif
);
}
printf("%lu\n", (long)strlen(argv[1])); printf("%lu\n", (long)strlen(argv[1]));
return (TRUE); return (TRUE);
} }

View File

@ -26,17 +26,17 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char rmdir_usage[] =
"rmdir [OPTION]... DIRECTORY...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRemove the DIRECTORY(ies), if they are empty.\n"
#endif
;
extern int rmdir_main(int argc, char **argv) extern int rmdir_main(int argc, char **argv)
{ {
if (argc == 1 || **(argv + 1) == '-') { if (argc == 1 || **(argv + 1) == '-')
usage usage(rmdir_usage);
("rmdir [OPTION]... DIRECTORY...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRemove the DIRECTORY(ies), if they are empty.\n"
#endif
);
}
while (--argc > 0) { while (--argc > 0) {
if (rmdir(*(++argv)) == -1) { if (rmdir(*(++argv)) == -1) {

View File

@ -24,14 +24,16 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char sync_usage[] =
"sync\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nWrite all buffered filesystem blocks to disk.\n"
#endif
;
extern int sync_main(int argc, char **argv) extern int sync_main(int argc, char **argv)
{ {
if (argc > 1 && **(argv + 1) == '-') { if (argc > 1 && **(argv + 1) == '-')
usage("sync\n" usage(sync_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nWrite all buffered filesystem blocks to disk.\n"
#endif
);
}
return(sync()); return(sync());
} }

View File

@ -178,6 +178,15 @@ static int test_eaccess();
static int is_a_group_member(); static int is_a_group_member();
static void initialize_group_array(); static void initialize_group_array();
const char test_usage[] =
"test EXPRESSION\n"
"or [ EXPRESSION ]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChecks file types and compares values returning an exit\n"
"code determined by the value of EXPRESSION.\n"
#endif
;
extern int extern int
test_main(int argc, char** argv) test_main(int argc, char** argv)
{ {
@ -188,15 +197,8 @@ test_main(int argc, char** argv)
fatalError("missing ]\n"); fatalError("missing ]\n");
argv[argc] = NULL; argv[argc] = NULL;
} }
if (strcmp(argv[1], dash_dash_help) == 0) { if (strcmp(argv[1], dash_dash_help) == 0)
usage("test EXPRESSION\n" usage(test_usage);
"or [ EXPRESSION ]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChecks file types and compares values returning an exit\n"
"code determined by the value of EXPRESSION.\n"
#endif
);
}
/* Implement special cases from POSIX.2, section 4.62.4 */ /* Implement special cases from POSIX.2, section 4.62.4 */
switch (argc) { switch (argc) {

View File

@ -23,17 +23,19 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char yes_usage[] =
"yes [OPTION]... [STRING]...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n"
#endif
;
extern int yes_main(int argc, char **argv) extern int yes_main(int argc, char **argv)
{ {
int i; int i;
if (argc >= 2 && *argv[1] == '-') { if (argc >= 2 && *argv[1] == '-')
usage("yes [OPTION]... [STRING]...\n" usage(yes_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n"
#endif
);
}
if (argc == 1) { if (argc == 1) {
while (1) while (1)

42
cp_mv.c
View File

@ -46,25 +46,33 @@
#define is_cp 0 #define is_cp 0
#define is_mv 1 #define is_mv 1
static int dz_i; /* index into cp_mv_usage */ static int dz_i; /* index into cp_mv_usage */
const char cp_usage[] =
"cp [OPTION]... SOURCE DEST\n"
" or: cp [OPTION]... SOURCE... DIRECTORY\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n"
"\n"
"\t-a\tSame as -dpR\n"
"\t-d\tPreserves links\n"
"\t-p\tPreserves file attributes if possible\n"
"\t-f\tforce (implied; ignored) - always set\n"
"\t-R\tCopies directories recursively\n"
#endif
;
const char mv_usage[] =
"mv SOURCE DEST\n"
" or: mv SOURCE... DIRECTORY\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n"
#endif
;
static const char *cp_mv_usage[] = /* .rodata */ static const char *cp_mv_usage[] = /* .rodata */
{ {
"cp [OPTION]... SOURCE DEST\n" cp_usage,
" or: cp [OPTION]... SOURCE... DIRECTORY\n" mv_usage
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n"
"\n"
"\t-a\tSame as -dpR\n"
"\t-d\tPreserves links\n"
"\t-p\tPreserves file attributes if possible\n"
"\t-f\tforce (implied; ignored) - always set\n"
"\t-R\tCopies directories recursively\n"
#endif
,
"mv SOURCE DEST\n"
" or: mv SOURCE... DIRECTORY\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n"
#endif
}; };
static int recursiveFlag; static int recursiveFlag;

26
cut.c
View File

@ -206,6 +206,19 @@ void cut()
} }
} }
const char cut_usage[] =
"cut [OPTION]... [FILE]...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints selected fields from each input FILE to standard output.\n\n"
"Options:\n"
"\t-b LIST\tOutput only bytes from LIST\n"
"\t-c LIST\tOutput only characters from LIST\n"
"\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
"\t-s\tOnly output Lines if the include DELIM\n"
"\t-f N\tPrint only these fields\n"
"\t-n\tIgnored\n"
#endif
;
int cut_main(int argc, char **argv) int cut_main(int argc, char **argv)
{ {
@ -213,18 +226,7 @@ int cut_main(int argc, char **argv)
int numberFilenames = 0; int numberFilenames = 0;
if (argc == 1 || strcmp(argv[1], dash_dash_help)==0) if (argc == 1 || strcmp(argv[1], dash_dash_help)==0)
usage( "cut [OPTION]... [FILE]...\n" usage(cut_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints selected fields from each input FILE to standard output.\n\n"
"Options:\n"
"\t-b LIST\tOutput only bytes from LIST\n"
"\t-c LIST\tOutput only characters from LIST\n"
"\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
"\t-s\tOnly output Lines if the include DELIM\n"
"\t-f N\tPrint only these fields\n"
"\t-n\tIgnored\n"
#endif
);
while (i < argc) { while (i < argc) {
if (argv[i][0] == '-') { if (argv[i][0] == '-') {

View File

@ -13,19 +13,19 @@
/* From <linux/vt.h> */ /* From <linux/vt.h> */
#define VT_DISALLOCATE 0x5608 /* free memory associated to vt */ #define VT_DISALLOCATE 0x5608 /* free memory associated to vt */
const char deallocvt_usage[] =
"deallocvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDeallocate unused virtual terminal /dev/ttyN\n"
#endif
;
int deallocvt_main(int argc, char *argv[]) int deallocvt_main(int argc, char *argv[])
{ {
int fd, num, i; int fd, num, i;
if ((argc != 2) || (**(argv + 1) == '-')) { if ((argc != 2) || (**(argv + 1) == '-'))
usage usage(deallocvt_usage);
("deallocvt N\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDeallocate unused virtual terminal /dev/ttyN\n"
#endif
);
}
fd = get_console_fd("/dev/console"); fd = get_console_fd("/dev/console");

View File

@ -23,17 +23,19 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char dirname_usage[] =
"dirname [FILENAME ...]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nStrips non-directory suffix from FILENAME\n"
#endif
;
extern int dirname_main(int argc, char **argv) extern int dirname_main(int argc, char **argv)
{ {
char* s; char* s;
if ((argc < 2) || (**(argv + 1) == '-')) { if ((argc < 2) || (**(argv + 1) == '-'))
usage("dirname [FILENAME ...]\n" usage(dirname_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nStrips non-directory suffix from FILENAME\n"
#endif
);
}
argv++; argv++;
s=*argv+strlen(*argv)-1; s=*argv+strlen(*argv)-1;

View File

@ -26,6 +26,12 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/param.h> #include <sys/param.h>
const char which_usage[] =
"which [COMMAND ...]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nLocates a COMMAND.\n"
#endif
;
extern int which_main(int argc, char **argv) extern int which_main(int argc, char **argv)
{ {
@ -34,13 +40,8 @@ extern int which_main(int argc, char **argv)
struct stat filestat; struct stat filestat;
int count = 0; int count = 0;
if (argc <= 1 || **(argv + 1) == '-') { if (argc <= 1 || **(argv + 1) == '-')
usage("which [COMMAND ...]\n" usage(which_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nLocates a COMMAND.\n"
#endif
);
}
argc--; argc--;
path_list = getenv("PATH"); path_list = getenv("PATH");

16
free.c
View File

@ -25,6 +25,12 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char free_usage[] =
"free\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDisplays the amount of free and used system memory\n"
#endif
;
extern int free_main(int argc, char **argv) extern int free_main(int argc, char **argv)
{ {
@ -53,14 +59,8 @@ extern int free_main(int argc, char **argv)
info.sharedram*=info.mem_unit; info.sharedram*=info.mem_unit;
info.bufferram*=info.mem_unit; info.bufferram*=info.mem_unit;
} }
if (argc > 1 && **(argv + 1) == '-') { if (argc > 1 && **(argv + 1) == '-')
usage("free\n" usage(free_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDisplays the amount of free and used system memory\n"
#endif
);
}
printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free", printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free",
"shared", "buffers"); "shared", "buffers");

View File

@ -288,25 +288,24 @@ static void leave(int status)
exit(status); exit(status);
} }
const char fsck_minix_usage[] =
"Usage: fsck.minix [-larvsmf] /dev/name\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPerforms a consistency check for MINIX filesystems.\n\n"
"Options:\n"
"\t-l\tLists all filenames\n"
"\t-r\tPerform interactive repairs\n"
"\t-a\tPerform automatic repairs\n"
"\t-v\tverbose\n"
"\t-s\tOutputs super-block information\n"
"\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n"
"\t-f\tForce file system check.\n\n"
#endif
;
static void show_usage(void) static void show_usage(void)
{ {
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n", usage(fsck_minix_usage);
BB_VER, BB_BT);
fprintf(stderr, "Usage: %s [-larvsmf] /dev/name\n", applet_name);
#ifndef BB_FEATURE_TRIVIAL_HELP
fprintf(stderr,
"\nPerforms a consistency check for MINIX filesystems.\n\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t-l\tLists all filenames\n");
fprintf(stderr, "\t-r\tPerform interactive repairs\n");
fprintf(stderr, "\t-a\tPerform automatic repairs\n");
fprintf(stderr, "\t-v\tverbose\n");
fprintf(stderr, "\t-s\tOutputs super-block information\n");
fprintf(stderr,
"\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n");
fprintf(stderr, "\t-f\tForce file system check.\n\n");
#endif
leave(16);
} }
static void die(const char *str) static void die(const char *str)

View File

@ -4,15 +4,17 @@
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
const char length_usage[] =
"length STRING\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints out the length of the specified STRING.\n"
#endif
;
extern int length_main(int argc, char **argv) extern int length_main(int argc, char **argv)
{ {
if (argc != 2 || **(argv + 1) == '-') { if (argc != 2 || **(argv + 1) == '-')
usage("length STRING\n" usage(length_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPrints out the length of the specified STRING.\n"
#endif
);
}
printf("%lu\n", (long)strlen(argv[1])); printf("%lu\n", (long)strlen(argv[1]));
return (TRUE); return (TRUE);
} }

View File

@ -26,18 +26,20 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char mktemp_usage[] =
"mktemp [-q] TEMPLATE\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCreates a temporary file with its name based on TEMPLATE.\n"
"TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n"
#endif
;
extern int mktemp_main(int argc, char **argv) extern int mktemp_main(int argc, char **argv)
{ {
if (argc != 2 && (argc != 3 || strcmp(argv[1], "-q"))) if (argc != 2 && (argc != 3 || strcmp(argv[1], "-q")))
usage ("mktemp [-q] TEMPLATE\n" usage(mktemp_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCreates a temporary file with its name based on TEMPLATE.\n"
"TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n"
#endif
);
if(mkstemp(argv[argc-1]) < 0) if(mkstemp(argv[argc-1]) < 0)
exit(FALSE); exit(FALSE);
(void) puts(argv[argc-1]); (void) puts(argv[argc-1]);
return(TRUE); return(TRUE);
} }

View File

@ -267,27 +267,23 @@ static volatile void die(char *str)
exit(8); exit(8);
} }
const char mkfs_minix_usage[] =
"mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nMake a MINIX filesystem.\n\n"
"Options:\n"
"\t-c\t\tCheck the device for bad blocks\n"
"\t-n [14|30]\tSpecify the maximum length of filenames\n"
"\t-i INODES\tSpecify the number of inodes for the filesystem\n"
"\t-l FILENAME\tRead the bad blocks list from FILENAME\n"
"\t-v\t\tMake a Minix version 2 filesystem\n\n"
#endif
;
static volatile void show_usage() __attribute__ ((noreturn)); static volatile void show_usage() __attribute__ ((noreturn));
static volatile void show_usage() static volatile void show_usage()
{ {
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n", usage(mkfs_minix_usage);
BB_VER, BB_BT);
fprintf(stderr,
"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n",
applet_name);
#ifndef BB_FEATURE_TRIVIAL_HELP
fprintf(stderr, "\nMake a MINIX filesystem.\n\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t-c\t\tCheck the device for bad blocks\n");
fprintf(stderr,
"\t-n [14|30]\tSpecify the maximum length of filenames\n");
fprintf(stderr,
"\t-i INODES\tSpecify the number of inodes for the filesystem\n");
fprintf(stderr,
"\t-l FILENAME\tRead the bad blocks list from FILENAME\n");
fprintf(stderr, "\t-v\t\tMake a Minix version 2 filesystem\n\n");
#endif
exit(16);
} }
/* /*

View File

@ -26,18 +26,20 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char mktemp_usage[] =
"mktemp [-q] TEMPLATE\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCreates a temporary file with its name based on TEMPLATE.\n"
"TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n"
#endif
;
extern int mktemp_main(int argc, char **argv) extern int mktemp_main(int argc, char **argv)
{ {
if (argc != 2 && (argc != 3 || strcmp(argv[1], "-q"))) if (argc != 2 && (argc != 3 || strcmp(argv[1], "-q")))
usage ("mktemp [-q] TEMPLATE\n" usage(mktemp_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nCreates a temporary file with its name based on TEMPLATE.\n"
"TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n"
#endif
);
if(mkstemp(argv[argc-1]) < 0) if(mkstemp(argv[argc-1]) < 0)
exit(FALSE); exit(FALSE);
(void) puts(argv[argc-1]); (void) puts(argv[argc-1]);
return(TRUE); return(TRUE);
} }

View File

@ -25,6 +25,12 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char free_usage[] =
"free\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDisplays the amount of free and used system memory\n"
#endif
;
extern int free_main(int argc, char **argv) extern int free_main(int argc, char **argv)
{ {
@ -53,14 +59,8 @@ extern int free_main(int argc, char **argv)
info.sharedram*=info.mem_unit; info.sharedram*=info.mem_unit;
info.bufferram*=info.mem_unit; info.bufferram*=info.mem_unit;
} }
if (argc > 1 && **(argv + 1) == '-') { if (argc > 1 && **(argv + 1) == '-')
usage("free\n" usage(free_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nDisplays the amount of free and used system memory\n"
#endif
);
}
printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free", printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free",
"shared", "buffers"); "shared", "buffers");

View File

@ -114,6 +114,13 @@ static void parse_proc_status(char *S, proc_t * P)
} }
const char ps_usage[] =
"ps\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nReport process status\n"
"\nThis version of ps accepts no options.\n"
#endif
;
extern int ps_main(int argc, char **argv) extern int ps_main(int argc, char **argv)
{ {
@ -134,14 +141,8 @@ extern int ps_main(int argc, char **argv)
if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0) { if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0)
usage ("ps\n" usage(ps_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nReport process status\n"
"\nThis version of ps accepts no options.\n"
#endif
);
}
dir = opendir("/proc"); dir = opendir("/proc");
if (!dir) if (!dir)
@ -223,7 +224,7 @@ extern int ps_main(int argc, char **argv)
#endif #endif
if (argc > 1 && **(argv + 1) == '-') if (argc > 1 && **(argv + 1) == '-')
usage("ps-devps\n\nReport process status\n\nThis version of ps accepts no options.\n\n"); usage(ps_usage);
/* open device */ /* open device */
fd = open(device, O_RDONLY); fd = open(device, O_RDONLY);

19
ps.c
View File

@ -114,6 +114,13 @@ static void parse_proc_status(char *S, proc_t * P)
} }
const char ps_usage[] =
"ps\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nReport process status\n"
"\nThis version of ps accepts no options.\n"
#endif
;
extern int ps_main(int argc, char **argv) extern int ps_main(int argc, char **argv)
{ {
@ -134,14 +141,8 @@ extern int ps_main(int argc, char **argv)
if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0) { if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0)
usage ("ps\n" usage(ps_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nReport process status\n"
"\nThis version of ps accepts no options.\n"
#endif
);
}
dir = opendir("/proc"); dir = opendir("/proc");
if (!dir) if (!dir)
@ -223,7 +224,7 @@ extern int ps_main(int argc, char **argv)
#endif #endif
if (argc > 1 && **(argv + 1) == '-') if (argc > 1 && **(argv + 1) == '-')
usage("ps-devps\n\nReport process status\n\nThis version of ps accepts no options.\n\n"); usage(ps_usage);
/* open device */ /* open device */
fd = open(device, O_RDONLY); fd = open(device, O_RDONLY);

16
rmdir.c
View File

@ -26,17 +26,17 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
const char rmdir_usage[] =
"rmdir [OPTION]... DIRECTORY...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRemove the DIRECTORY(ies), if they are empty.\n"
#endif
;
extern int rmdir_main(int argc, char **argv) extern int rmdir_main(int argc, char **argv)
{ {
if (argc == 1 || **(argv + 1) == '-') { if (argc == 1 || **(argv + 1) == '-')
usage usage(rmdir_usage);
("rmdir [OPTION]... DIRECTORY...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRemove the DIRECTORY(ies), if they are empty.\n"
#endif
);
}
while (--argc > 0) { while (--argc > 0) {
if (rmdir(*(++argv)) == -1) { if (rmdir(*(++argv)) == -1) {

16
sync.c
View File

@ -24,14 +24,16 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char sync_usage[] =
"sync\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nWrite all buffered filesystem blocks to disk.\n"
#endif
;
extern int sync_main(int argc, char **argv) extern int sync_main(int argc, char **argv)
{ {
if (argc > 1 && **(argv + 1) == '-') { if (argc > 1 && **(argv + 1) == '-')
usage("sync\n" usage(sync_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nWrite all buffered filesystem blocks to disk.\n"
#endif
);
}
return(sync()); return(sync());
} }

20
test.c
View File

@ -178,6 +178,15 @@ static int test_eaccess();
static int is_a_group_member(); static int is_a_group_member();
static void initialize_group_array(); static void initialize_group_array();
const char test_usage[] =
"test EXPRESSION\n"
"or [ EXPRESSION ]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChecks file types and compares values returning an exit\n"
"code determined by the value of EXPRESSION.\n"
#endif
;
extern int extern int
test_main(int argc, char** argv) test_main(int argc, char** argv)
{ {
@ -188,15 +197,8 @@ test_main(int argc, char** argv)
fatalError("missing ]\n"); fatalError("missing ]\n");
argv[argc] = NULL; argv[argc] = NULL;
} }
if (strcmp(argv[1], dash_dash_help) == 0) { if (strcmp(argv[1], dash_dash_help) == 0)
usage("test EXPRESSION\n" usage(test_usage);
"or [ EXPRESSION ]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nChecks file types and compares values returning an exit\n"
"code determined by the value of EXPRESSION.\n"
#endif
);
}
/* Implement special cases from POSIX.2, section 4.62.4 */ /* Implement special cases from POSIX.2, section 4.62.4 */
switch (argc) { switch (argc) {

View File

@ -288,25 +288,24 @@ static void leave(int status)
exit(status); exit(status);
} }
const char fsck_minix_usage[] =
"Usage: fsck.minix [-larvsmf] /dev/name\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nPerforms a consistency check for MINIX filesystems.\n\n"
"Options:\n"
"\t-l\tLists all filenames\n"
"\t-r\tPerform interactive repairs\n"
"\t-a\tPerform automatic repairs\n"
"\t-v\tverbose\n"
"\t-s\tOutputs super-block information\n"
"\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n"
"\t-f\tForce file system check.\n\n"
#endif
;
static void show_usage(void) static void show_usage(void)
{ {
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n", usage(fsck_minix_usage);
BB_VER, BB_BT);
fprintf(stderr, "Usage: %s [-larvsmf] /dev/name\n", applet_name);
#ifndef BB_FEATURE_TRIVIAL_HELP
fprintf(stderr,
"\nPerforms a consistency check for MINIX filesystems.\n\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t-l\tLists all filenames\n");
fprintf(stderr, "\t-r\tPerform interactive repairs\n");
fprintf(stderr, "\t-a\tPerform automatic repairs\n");
fprintf(stderr, "\t-v\tverbose\n");
fprintf(stderr, "\t-s\tOutputs super-block information\n");
fprintf(stderr,
"\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n");
fprintf(stderr, "\t-f\tForce file system check.\n\n");
#endif
leave(16);
} }
static void die(const char *str) static void die(const char *str)

View File

@ -267,27 +267,23 @@ static volatile void die(char *str)
exit(8); exit(8);
} }
const char mkfs_minix_usage[] =
"mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nMake a MINIX filesystem.\n\n"
"Options:\n"
"\t-c\t\tCheck the device for bad blocks\n"
"\t-n [14|30]\tSpecify the maximum length of filenames\n"
"\t-i INODES\tSpecify the number of inodes for the filesystem\n"
"\t-l FILENAME\tRead the bad blocks list from FILENAME\n"
"\t-v\t\tMake a Minix version 2 filesystem\n\n"
#endif
;
static volatile void show_usage() __attribute__ ((noreturn)); static volatile void show_usage() __attribute__ ((noreturn));
static volatile void show_usage() static volatile void show_usage()
{ {
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n", usage(mkfs_minix_usage);
BB_VER, BB_BT);
fprintf(stderr,
"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n",
applet_name);
#ifndef BB_FEATURE_TRIVIAL_HELP
fprintf(stderr, "\nMake a MINIX filesystem.\n\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t-c\t\tCheck the device for bad blocks\n");
fprintf(stderr,
"\t-n [14|30]\tSpecify the maximum length of filenames\n");
fprintf(stderr,
"\t-i INODES\tSpecify the number of inodes for the filesystem\n");
fprintf(stderr,
"\t-l FILENAME\tRead the bad blocks list from FILENAME\n");
fprintf(stderr, "\t-v\t\tMake a Minix version 2 filesystem\n\n");
#endif
exit(16);
} }
/* /*

15
which.c
View File

@ -26,6 +26,12 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/param.h> #include <sys/param.h>
const char which_usage[] =
"which [COMMAND ...]\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nLocates a COMMAND.\n"
#endif
;
extern int which_main(int argc, char **argv) extern int which_main(int argc, char **argv)
{ {
@ -34,13 +40,8 @@ extern int which_main(int argc, char **argv)
struct stat filestat; struct stat filestat;
int count = 0; int count = 0;
if (argc <= 1 || **(argv + 1) == '-') { if (argc <= 1 || **(argv + 1) == '-')
usage("which [COMMAND ...]\n" usage(which_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nLocates a COMMAND.\n"
#endif
);
}
argc--; argc--;
path_list = getenv("PATH"); path_list = getenv("PATH");

16
yes.c
View File

@ -23,17 +23,19 @@
#include "internal.h" #include "internal.h"
#include <stdio.h> #include <stdio.h>
const char yes_usage[] =
"yes [OPTION]... [STRING]...\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n"
#endif
;
extern int yes_main(int argc, char **argv) extern int yes_main(int argc, char **argv)
{ {
int i; int i;
if (argc >= 2 && *argv[1] == '-') { if (argc >= 2 && *argv[1] == '-')
usage("yes [OPTION]... [STRING]...\n" usage(yes_usage);
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n"
#endif
);
}
if (argc == 1) { if (argc == 1) {
while (1) while (1)