aboutsummaryrefslogtreecommitdiff
path: root/ipsvd
diff options
context:
space:
mode:
Diffstat (limited to 'ipsvd')
-rw-r--r--ipsvd/tcpudp.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/ipsvd/tcpudp.c b/ipsvd/tcpudp.c
index 6a11539c7..537a5240f 100644
--- a/ipsvd/tcpudp.c
+++ b/ipsvd/tcpudp.c
@@ -40,11 +40,24 @@
40#include "ssl_io.h" 40#include "ssl_io.h"
41#endif 41#endif
42 42
43static unsigned verbose; 43struct globals {
44static unsigned max_per_host; 44 unsigned verbose;
45static unsigned cur_per_host; 45 unsigned max_per_host;
46static unsigned cnum; 46 unsigned cur_per_host;
47static unsigned cmax = 30; 47 unsigned cnum;
48 unsigned cmax;
49};
50#define G (*(struct globals*)&bb_common_bufsiz1)
51#define verbose (G.verbose )
52#define max_per_host (G.max_per_host)
53#define cur_per_host (G.cur_per_host)
54#define cnum (G.cnum )
55#define cmax (G.cmax )
56#define INIT_G() \
57 do { \
58 cmax = 30; \
59 } while (0)
60
48 61
49static void xsetenv_proto(const char *proto, const char *n, const char *v) 62static void xsetenv_proto(const char *proto, const char *n, const char *v)
50{ 63{
@@ -147,6 +160,8 @@ int tcpudpsvd_main(int argc, char **argv)
147 int conn; 160 int conn;
148 unsigned backlog = 20; 161 unsigned backlog = 20;
149 162
163 INIT_G();
164
150 tcp = (applet_name[0] == 't'); 165 tcp = (applet_name[0] == 't');
151 166
152 /* 3+ args, -i at most once, -p implies -h, -v is counter */ 167 /* 3+ args, -i at most once, -p implies -h, -v is counter */