]>
diplodocus.org Git - nmh/blob - docs/historical/mh-6.8.5/support/bboards/bbaka.c
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
);