|
|
1.1 root 1:
2: static char SCCSID[] = "@(#)pupu.c 2.1 DKHOST 85/01/15";
3:
4: #include <stdio.h>
5: #include <sysexits.h>
6: #include <string.h>
7: #include <ipc.h>
8: #include "tdefs.h"
9:
10: XcharP iam;
11: int DEBUG;
12:
13:
14: Xchar ebuf[BUFSIZ];
15:
16: Efn printerr;
17:
18: int dkverbose;
19:
20: extern char * maphost() ;
21: extern char * miscfield() ;
22:
23: main(argc, argv)
24: PcharP argv[];
25: {
26: RcharP p;
27: Aint fd;
28: AcharP dir;
29:
30: if (strcmp(&argv[0][strlen(argv[0])-2], "cc") == 0)
31: argv[0][strlen(argv[0])-2] = '\0' ;
32: iam = &argv[0][strlen(argv[0]) - 4];
33:
34: if (strcmp(argv[1], "-d") == 0) {
35: DEBUG = 1 ;
36: argv++ ; argc-- ;
37: } else
38: DEBUG = 0 ;
39: if(strcmp(iam, "pupu") == 0)
40: exit(ppremote(0));
41:
42: /* setbuf(stderr, ebuf);/**/
43:
44: if(argc < 4){
45: fprintf(stderr, "Usage: %s host file ... directory\n", iam);
46: exit(EX_USAGE);
47: }
48:
49: fd = ipcopen(ipcpath (argv[1], "dk", "pupu"), "heavy delim");
50:
51: if(fd < 0) {
52: fprintf(stderr, "call to %s failed: %s\n", argv[1], errstr);
53: exit(-fd);
54: }
55:
56: dir = argv[argc - 1];
57:
58: argv[argc - 1] = 0;
59:
60: if(strcmp(iam, "push") == 0)
61: exit(push(fd, &argv[2], dir, printerr, ""));
62: else if(strcmp(iam, "pull") == 0)
63: exit(pull(fd, &argv[2], dir, printerr, ""));
64: else{
65: fprintf(stderr, "Command name unrecognized -- must be 'push' or 'pull'\n");
66: exit(EX_USAGE);
67: }
68: /* NOTREACHED */
69: }
70:
71: printerr(msg)
72: PcharP msg;
73: {
74: fprintf(stderr, "%s%s\n", iam, msg);
75:
76: fflush(stderr);
77:
78: return(0);
79: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.