diff options
Diffstat (limited to 'clients/xzwrite/xzwrite.c')
-rw-r--r-- | clients/xzwrite/xzwrite.c | 122 |
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; -} |