]> diplodocus.org Git - nmh/blob - docs/historical/mh-6.8.5/support/bboards/RCS/bbaka.c,v
sbr/mts.c: Delete mmdlm2; use same-valued mmdlm1 instead.
[nmh] / docs / historical / mh-6.8.5 / support / bboards / RCS / bbaka.c,v
1 head 2.4;
2 access;
3 symbols;
4 locks; strict;
5 comment @ * @;
6
7
8 2.4
9 date 92.12.15.00.20.22; author jromine; state Exp;
10 branches;
11 next 2.3;
12
13 2.3
14 date 90.04.05.15.32.45; author sources; state Exp;
15 branches;
16 next 2.2;
17
18 2.2
19 date 90.04.05.14.50.27; author sources; state Exp;
20 branches;
21 next 2.1;
22
23 2.1
24 date 90.03.20.16.23.45; author sources; state Exp;
25 branches;
26 next 2.0;
27
28 2.0
29 date 89.11.17.15.57.46; author sources; state Exp;
30 branches;
31 next 1.1;
32
33 1.1
34 date 89.06.26.14.33.36; author sources; state Exp;
35 branches;
36 next ;
37
38
39 desc
40 @@
41
42
43 2.4
44 log
45 @endif sugar
46 @
47 text
48 @/* bbaka.c - generate an alias list for BBoards */
49 #ifndef lint
50 static char ident[] = "@@(#)$Id: bbaka.c,v 2.3 1990/04/05 15:32:45 sources Exp jromine $";
51 #endif lint
52
53 #include "../h/strings.h"
54 #include "../zotnet/bboards.h"
55 #include <stdio.h>
56 #include "../zotnet/mts.h"
57
58
59 static int systemn = 0;
60 static char domain[BUFSIZ] = "";
61
62 static aka(), process();
63
64 /* \f */
65
66 /* ARGSUSED */
67
68 main (argc, argv)
69 int argc;
70 char **argv;
71 {
72 struct bboard *bb;
73
74 if (argc > 1 && strcmp (argv[1], "system") == 0)
75 systemn++;
76
77 mts_init (argv[0]);
78 make_lower (domain, bb_domain);
79
80 (void) setbbent (SB_STAY);
81 while (bb = getbbent ())
82 process (bb);
83 (void) endbbent ();
84
85 exit (0);
86 }
87
88 /* \f */
89
90 static process (bb)
91 struct bboard *bb;
92 {
93 char **ap,
94 bbaddr[BUFSIZ],
95 buffer[BUFSIZ],
96 ldaddr[BUFSIZ],
97 result[BUFSIZ];
98
99 if (systemn) {
100 #ifndef MHMTS
101 (void) sprintf (bbaddr, "%s@@bboards", bb -> bb_name, LocalName ());
102 #else /* MHMTS */
103 (void) strcpy (bbaddr, BBOARDS);
104 #endif /* MHMTS */
105
106 if (strcmp (bb -> bb_name, bb -> bb_addr) == 0)
107 aka (bb -> bb_name, bbaddr);
108 if (domain[0]) {
109 (void) sprintf (buffer, "%s-%s", domain, bb -> bb_name);
110 if (bb -> bb_relay && *bb -> bb_relay) {
111 (void) sprintf (result, "%s%s@@%s", DISTADR, bb -> bb_name,
112 bb -> bb_relay);
113 aka (buffer, result);
114 }
115 else
116 aka (buffer, bbaddr);
117 }
118 (void) sprintf (buffer, "%s%s", DISTADR, bb -> bb_name);
119 aka (buffer, bbaddr);
120
121 (void) sprintf (ldaddr, "%s@@%s", *bb -> bb_leader, LocalName ());
122 for (ap = bb -> bb_leader, ap++; *ap; ap++)
123 (void) sprintf (ldaddr + strlen (ldaddr), ",%s@@%s", *ap,
124 LocalName ());
125 if (domain[0]) {
126 if (bb -> bb_relay && *bb -> bb_relay
127 && strcmp (*bb -> bb_leader, BBOARDS) == 0
128 && --ap == bb -> bb_leader)
129 (void) sprintf (ldaddr, "%s-%s-request@@%s",
130 domain, bb -> bb_name, bb -> bb_relay);
131 }
132 if (strcmp (bb -> bb_request, *bb -> bb_leader) == 0) {
133 (void) sprintf (buffer, "%s-request", bb -> bb_name);
134 aka (buffer, ldaddr);
135 }
136 if (domain[0]) {
137 (void) sprintf (buffer, "%s-%s-request", domain, bb -> bb_name);
138 if (bb -> bb_relay && *bb -> bb_relay) {
139 (void) sprintf (result, "%s@@%s", buffer, bb -> bb_relay);
140 aka (buffer, result);
141 }
142 else
143 aka (buffer, ldaddr);
144 }
145 (void) sprintf (buffer, "local-%s-request", bb -> bb_name);
146 aka (buffer, ldaddr);
147 }
148 else {
149 if (strcmp (bb -> bb_name, bb -> bb_addr))
150 aka (bb -> bb_name, bb -> bb_addr);
151
152 (void) sprintf (buffer, "%s-request", bb -> bb_name);
153 if (strcmp (bb -> bb_request, *bb -> bb_leader))
154 aka (buffer, bb -> bb_request);
155 }
156 }
157
158 /* \f */
159
160 static aka (field, value)
161 char *field,
162 *value;
163 {
164 #ifndef MHMTS
165 printf ("%s: %s\n", field, value);
166 #else /* MHMTS */
167 printf ("%s%s %s\n", field, systemn ? ":" : ";", value);
168 #endif /* MHMTS */
169 }
170 @
171
172
173 2.3
174 log
175 @add ID
176 @
177 text
178 @d3 1
179 a3 1
180 static char ident[] = "@@(#)$Id:$";
181 d55 1
182 a55 1
183 #else MHMTS
184 d57 1
185 a57 1
186 #endif MHMTS
187 d119 1
188 a119 1
189 #else MHMTS
190 d121 1
191 a121 1
192 #endif MHMTS
193 @
194
195
196 2.2
197 log
198 @add ID
199 @
200 text
201 @d3 1
202 a3 1
203 static char ident[] = "$Id:";
204 @
205
206
207 2.1
208 log
209 @ansi fixup
210 @
211 text
212 @d2 3
213 @
214
215
216 2.0
217 log
218 @changes for SUN40 shared libraries and NNTP under bbc
219 @
220 text
221 @d12 2
222 @
223
224
225 1.1
226 log
227 @Initial revision
228 @
229 text
230 @d9 1
231 a9 1
232 static int system = 0;
233 d23 1
234 a23 1
235 system++;
236 d47 1
237 a47 1
238 if (system) {
239 d115 1
240 a115 1
241 printf ("%s%s %s\n", field, system ? ":" : ";", value);
242 @