static int usage(char *name)
{
- fprintf(stderr, "%s: hostname:port\n", name);
+ fprintf(stderr, "... | %s: hostname:port\n", name);
return 1;
}
return error("stat");
if (!S_ISFIFO(sb.st_mode)) {
fprintf(stderr, "stdin must be a pipe\n");
- return 1;
+ return usage(argv[0]);
}
hname = strdup(argv[1]);
return 0;
}
+static int usage(char *name)
+{
+ fprintf(stderr, "... | %s: outfile\n", name);
+ return 1;
+}
+
int main(int argc, char *argv[])
{
struct stat sb;
int fd;
- if (argc < 2) {
- fprintf(stderr, "%s: outfile\n", argv[0]);
- return 1;
- }
+ if (argc < 2)
+ return usage(argv[0]);
if (fstat(STDIN_FILENO, &sb) < 0)
return error("stat");
if (!S_ISFIFO(sb.st_mode)) {
fprintf(stderr, "stdout must be a pipe\n");
- return 1;
+ return usage(argv[0]);
}
fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
#include "splice.h"
+static int usage(char *name)
+{
+ fprintf(stderr, "%s: infile | ...\n", name);
+ return 1;
+}
+
int main(int argc, char *argv[])
{
struct stat sb;
int fd;
- if (argc < 2) {
- printf("%s: infile\n", argv[0]);
- return 1;
+ if (argc < 2)
+ return usage(argv[0]);
+
+ if (fstat(STDOUT_FILENO, &sb) < 0)
+ return error("stat");
+ if (!S_ISFIFO(sb.st_mode)) {
+ fprintf(stderr, "stdout must be a pipe\n");
+ return usage(argv[0]);
}
fd = open(argv[1], O_RDONLY);
#include "splice.h"
+static int usage(char *name)
+{
+ fprintf(stderr, "%s: target port\n", name);
+ return 1;
+}
+
int main(int argc, char *argv[])
{
struct sockaddr_in addr;
int fd, ret;
struct stat sb;
- if (argc < 3) {
- printf("%s: target port\n", argv[0]);
- return 1;
- }
+ if (argc < 3)
+ return usage(argv[0]);
if (fstat(STDIN_FILENO, &sb) < 0)
return error("stat");
if (!S_ISFIFO(sb.st_mode)) {
fprintf(stderr, "stdin must be a pipe\n");
- return 1;
+ return usage(argv[0]);
}
port = atoi(argv[2]);
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
+#include <sys/stat.h>
#include "splice.h"
static int usage(char *name)
{
- fprintf(stderr, "%s: [-m] out_file\n", name);
+ fprintf(stderr, "... | %s: [-m] out_file\n", name);
return 1;
}
int main(int argc, char *argv[])
{
+ struct stat sb;
int fd, index;
+ if (fstat(STDIN_FILENO, &sb) < 0)
+ return error("stat");
+ if (!S_ISFIFO(sb.st_mode)) {
+ fprintf(stderr, "stdin must be a pipe\n");
+ return usage(argv[0]);
+ }
+
index = parse_options(argc, argv);
if (index == -1 || index + 1 > argc)
return usage(argv[0]);
static int usage(char *name)
{
- fprintf(stderr, "%s: [-c(lear)] [-u(nalign)\n", name);
+ fprintf(stderr, "%s: [-c(lear)] [-u(nalign)] | ...\n", name);
return 1;
}
return error("stat");
if (!S_ISFIFO(sb.st_mode)) {
fprintf(stderr, "stdout must be a pipe\n");
- return 1;
+ return usage(argv[0]);
}
b1 = ALIGN(malloc(SPLICE_SIZE + align_mask));