9 DynObject zsigs = NULL;
11 static void set_signature __P((void));
12 static Boolean set_random_zsigs __P((void));
20 build_interface(&argc, argv);
22 if (argc > 1) usage();
29 (void) load_default_dest();
32 if (defs.track_logins)
41 static void set_signature()
43 char *sig, sigbfr[BUFSIZ];
45 /* Do magic with signature */
47 if (strcmp(defs.zsigfile, "*"))
48 if (set_random_zsigs()) return;
53 sig = (char *) zeph_get_signature();
55 /* try to find name in the password file */
56 register struct passwd *pwd;
57 register char *cp = sigbfr;
58 register char *cp2, *pp;
60 pwd = getpwuid(getuid());
63 for (; *cp2 && *cp2 != ',' ; cp2++) {
66 *cp++ = islower(*pp) ? toupper(*pp) : *pp;
79 defs.signature = (char *) Malloc(strlen(sig) + 1,
82 strcpy(defs.signature, sig);
90 fprintf(stderr, "Usage: xzwrite [ -toolkitoption ... ] [-s signature] [+d | -d] [+n | -n]\n\t[+v | -v] [+yd | -yd] [+av | -av] [+ci | -ci] [-my yanks]\n\t[+l | -l] [+a | -a] [+x | -x] [+z | -z] [+pong | -pong] [+reply | -reply]\n");
96 static Boolean set_random_zsigs()
98 char z[BUF_SIZE], *z2;
101 fp = fopen(defs.zsigfile, "r");
103 fprintf(stderr, "xzwrite: cant open file \"%s\".\n", defs.zsigfile);
106 zsigs = DynCreate(sizeof(char*), 5);
108 while ( fgets(z, BUF_SIZE, fp) != NULL) {
109 if (z[0] == '#' || z[0] == 0) continue;
111 z2 = (char *) calloc (sizeof(char), n);
113 fprintf(stderr, "xzwrite: out of memory.\n"); exit(1); }
114 if (z[n-1] == '\n') { n--; z[n] = 0; }
115 for (x = 0; x <= n; x++) {
116 if (z[x] != '\\') z2[x] = z[x];
118 DynAdd(zsigs, (DynPtr) &z2); }