|
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 }