1 /* bbaka.c - generate an alias list for BBoards */
3 static char ident[] = "@(#)$Id: bbaka.c,v 2.4 1992/12/15 00:20:22 jromine Exp $";
6 #include "../h/strings.h"
7 #include "../zotnet/bboards.h"
9 #include "../zotnet/mts.h"
12 static int systemn = 0;
13 static char domain[BUFSIZ] = "";
15 static aka(), process();
27 if (argc > 1 && strcmp (argv[1], "system") == 0)
31 make_lower (domain, bb_domain);
33 (void) setbbent (SB_STAY);
34 while (bb = getbbent ())
54 (void) sprintf (bbaddr, "%s@bboards", bb -> bb_name, LocalName ());
56 (void) strcpy (bbaddr, BBOARDS);
59 if (strcmp (bb -> bb_name, bb -> bb_addr) == 0)
60 aka (bb -> bb_name, bbaddr);
62 (void) sprintf (buffer, "%s-%s", domain, bb -> bb_name);
63 if (bb -> bb_relay && *bb -> bb_relay) {
64 (void) sprintf (result, "%s%s@%s", DISTADR, bb -> bb_name,
71 (void) sprintf (buffer, "%s%s", DISTADR, bb -> bb_name);
74 (void) sprintf (ldaddr, "%s@%s", *bb -> bb_leader, LocalName ());
75 for (ap = bb -> bb_leader, ap++; *ap; ap++)
76 (void) sprintf (ldaddr + strlen (ldaddr), ",%s@%s", *ap,
79 if (bb -> bb_relay && *bb -> bb_relay
80 && strcmp (*bb -> bb_leader, BBOARDS) == 0
81 && --ap == bb -> bb_leader)
82 (void) sprintf (ldaddr, "%s-%s-request@%s",
83 domain, bb -> bb_name, bb -> bb_relay);
85 if (strcmp (bb -> bb_request, *bb -> bb_leader) == 0) {
86 (void) sprintf (buffer, "%s-request", bb -> bb_name);
90 (void) sprintf (buffer, "%s-%s-request", domain, bb -> bb_name);
91 if (bb -> bb_relay && *bb -> bb_relay) {
92 (void) sprintf (result, "%s@%s", buffer, bb -> bb_relay);
98 (void) sprintf (buffer, "local-%s-request", bb -> bb_name);
102 if (strcmp (bb -> bb_name, bb -> bb_addr))
103 aka (bb -> bb_name, bb -> bb_addr);
105 (void) sprintf (buffer, "%s-request", bb -> bb_name);
106 if (strcmp (bb -> bb_request, *bb -> bb_leader))
107 aka (buffer, bb -> bb_request);
113 static aka (field, value)
118 printf ("%s: %s\n", field, value);
120 printf ("%s%s %s\n", field, systemn ? ":" : ";", value);