|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T b
Length: 2753 (0xac1)
Types: TextFile
Names: »bbaka.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦3658e588a⟧ »EurOpenD3/mail/mh/mh-6.7.tar.Z«
└─⟦c75e36ecb⟧
└─⟦this⟧ »mh-6.7/support/bboards/bbaka.c«
/* bbaka.c - generate an alias list for BBoards */
#include "../h/strings.h"
#include "../zotnet/bboards.h"
#include <stdio.h>
#include "../zotnet/mts.h"
static int systemn = 0;
static char domain[BUFSIZ] = "";
static aka(), process();
/* \f
*/
/* ARGSUSED */
main (argc, argv)
int argc;
char **argv;
{
struct bboard *bb;
if (argc > 1 && strcmp (argv[1], "system") == 0)
systemn++;
mts_init (argv[0]);
make_lower (domain, bb_domain);
(void) setbbent (SB_STAY);
while (bb = getbbent ())
process (bb);
(void) endbbent ();
exit (0);
}
/* \f
*/
static process (bb)
struct bboard *bb;
{
char **ap,
bbaddr[BUFSIZ],
buffer[BUFSIZ],
ldaddr[BUFSIZ],
result[BUFSIZ];
if (systemn) {
#ifndef MHMTS
(void) sprintf (bbaddr, "%s@bboards", bb -> bb_name, LocalName ());
#else MHMTS
(void) strcpy (bbaddr, BBOARDS);
#endif MHMTS
if (strcmp (bb -> bb_name, bb -> bb_addr) == 0)
aka (bb -> bb_name, bbaddr);
if (domain[0]) {
(void) sprintf (buffer, "%s-%s", domain, bb -> bb_name);
if (bb -> bb_relay && *bb -> bb_relay) {
(void) sprintf (result, "%s%s@%s", DISTADR, bb -> bb_name,
bb -> bb_relay);
aka (buffer, result);
}
else
aka (buffer, bbaddr);
}
(void) sprintf (buffer, "%s%s", DISTADR, bb -> bb_name);
aka (buffer, bbaddr);
(void) sprintf (ldaddr, "%s@%s", *bb -> bb_leader, LocalName ());
for (ap = bb -> bb_leader, ap++; *ap; ap++)
(void) sprintf (ldaddr + strlen (ldaddr), ",%s@%s", *ap,
LocalName ());
if (domain[0]) {
if (bb -> bb_relay && *bb -> bb_relay
&& strcmp (*bb -> bb_leader, BBOARDS) == 0
&& --ap == bb -> bb_leader)
(void) sprintf (ldaddr, "%s-%s-request@%s",
domain, bb -> bb_name, bb -> bb_relay);
}
if (strcmp (bb -> bb_request, *bb -> bb_leader) == 0) {
(void) sprintf (buffer, "%s-request", bb -> bb_name);
aka (buffer, ldaddr);
}
if (domain[0]) {
(void) sprintf (buffer, "%s-%s-request", domain, bb -> bb_name);
if (bb -> bb_relay && *bb -> bb_relay) {
(void) sprintf (result, "%s@%s", buffer, bb -> bb_relay);
aka (buffer, result);
}
else
aka (buffer, ldaddr);
}
(void) sprintf (buffer, "local-%s-request", bb -> bb_name);
aka (buffer, ldaddr);
}
else {
if (strcmp (bb -> bb_name, bb -> bb_addr))
aka (bb -> bb_name, bb -> bb_addr);
(void) sprintf (buffer, "%s-request", bb -> bb_name);
if (strcmp (bb -> bb_request, *bb -> bb_leader))
aka (buffer, bb -> bb_request);
}
}
/* \f
*/
static aka (field, value)
char *field,
*value;
{
#ifndef MHMTS
printf ("%s: %s\n", field, value);
#else MHMTS
printf ("%s%s %s\n", field, systemn ? ":" : ";", value);
#endif MHMTS
}