summaryrefslogtreecommitdiff
path: root/clients/xzwrite/xzwrite.c
diff options
context:
space:
mode:
Diffstat (limited to 'clients/xzwrite/xzwrite.c')
-rw-r--r--clients/xzwrite/xzwrite.c122
1 files changed, 0 insertions, 122 deletions
diff --git a/clients/xzwrite/xzwrite.c b/clients/xzwrite/xzwrite.c
deleted file mode 100644
index 318e5e9..0000000
--- a/clients/xzwrite/xzwrite.c
+++ /dev/null
@@ -1,122 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <pwd.h>
-#include <dyn.h>
-
-#include "xzwrite.h"
-
-extern Defaults defs;
-DynObject zsigs = NULL;
-
-static void set_signature __P((void));
-static Boolean set_random_zsigs __P((void));
-
-int main(argc, argv)
- int argc;
- char **argv;
-{
- zeph_init();
-
- build_interface(&argc, argv);
-
- if (argc > 1) usage();
-
- set_signature();
- dest_init();
- yank_init();
- edit_win_init();
- menu_match_defs();
- (void) load_default_dest();
- display_dest();
-
- if (defs.track_logins)
- logins_subscribe();
- if (defs.auto_reply)
- zeph_subto_replies();
-
- go();
- return 0;
-}
-
-static void set_signature()
-{
- char *sig, sigbfr[BUFSIZ];
-
- /* Do magic with signature */
- if (defs.zsigfile)
- if (strcmp(defs.zsigfile, "*"))
- if (set_random_zsigs()) return;
-
- if (*defs.signature)
- return;
-
- sig = (char *) zeph_get_signature();
- if (!sig) {
- /* try to find name in the password file */
- register struct passwd *pwd;
- register char *cp = sigbfr;
- register char *cp2, *pp;
-
- pwd = getpwuid(getuid());
- if (pwd) {
- cp2 = pwd->pw_gecos;
- for (; *cp2 && *cp2 != ',' ; cp2++) {
- if (*cp2 == '&') {
- pp = pwd->pw_name;
- *cp++ = islower(*pp) ? toupper(*pp) : *pp;
- pp++;
- while (*pp)
- *cp++ = *pp++;
- } else
- *cp++ = *cp2;
- }
- *cp = '\0';
- sig = sigbfr;
- }
- }
-
- if (sig) {
- defs.signature = (char *) Malloc(strlen(sig) + 1,
- "getting signature",
- NULL);
- strcpy(defs.signature, sig);
- }
-}
-
-
-
-void usage()
-{
- 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");
- exit(1);
-}
-
-#define BUF_SIZE 1024
-
-static Boolean set_random_zsigs()
-{ int x, n;
- char z[BUF_SIZE], *z2;
- FILE *fp;
-
- fp = fopen(defs.zsigfile, "r");
- if (!fp) {
- fprintf(stderr, "xzwrite: cant open file \"%s\".\n", defs.zsigfile);
- return False; }
-
- zsigs = DynCreate(sizeof(char*), 5);
-
- while ( fgets(z, BUF_SIZE, fp) != NULL) {
- if (z[0] == '#' || z[0] == 0) continue;
- n = strlen(z);
- z2 = (char *) calloc (sizeof(char), n);
- if (!z2) {
- fprintf(stderr, "xzwrite: out of memory.\n"); exit(1); }
- if (z[n-1] == '\n') { n--; z[n] = 0; }
- for (x = 0; x <= n; x++) {
- if (z[x] != '\\') z2[x] = z[x];
- else z2[x] = '\n'; }
- DynAdd(zsigs, (DynPtr) &z2); }
-
- fclose(fp);
- return True;
-}