projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More stuff.
[oweals/busybox.git]
/
cat.c
diff --git
a/cat.c
b/cat.c
index 12faf55abb01ef32d3cd8fbc7b728f99cb117b36..1f4ef4af8ddce911d66d54d038ff81051b86ee54 100644
(file)
--- a/
cat.c
+++ b/
cat.c
@@
-1,7
+1,8
@@
/*
* Mini Cat implementation for busybox
*
/*
* Mini Cat implementation for busybox
*
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-22,16
+23,27
@@
#include "internal.h"
#include <stdio.h>
#include "internal.h"
#include <stdio.h>
-const char cat_usage[] = "[file ...]";
-extern int cat_more_main(int argc, char **argv)
+static void print_file( FILE *file)
{
int c;
{
int c;
- FILE *file = stdin;
+ while ((c = getc(file)) != EOF)
+ putc(c, stdout);
+ fclose(file);
+ fflush(stdout);
+}
+
+extern int cat_main(int argc, char **argv)
+{
+ FILE *file;
- if (argc < 2) {
- fprintf(stderr, "Usage: %s %s", *argv, cat_usage);
- return 1;
+ if (argc==1) {
+ print_file( stdin);
+ exit( TRUE);
+ }
+
+ if ( **(argv+1) == '-' ) {
+ usage ("cat [file ...]\n");
}
argc--;
argv++;
}
argc--;
argv++;
@@
-39,16
+51,12
@@
extern int cat_more_main(int argc, char **argv)
while (argc-- > 0) {
file = fopen(*argv, "r");
if (file == NULL) {
while (argc-- > 0) {
file = fopen(*argv, "r");
if (file == NULL) {
-
name_and_
error(*argv);
-
return 1
;
+
p
error(*argv);
+
exit(FALSE)
;
}
}
- while ((c = getc(file)) != EOF)
- putc(c, stdout);
- fclose(file);
- fflush(stdout);
-
+ print_file( file);
argc--;
argv++;
}
argc--;
argv++;
}
-
return 0
;
+
exit(TRUE)
;
}
}