aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-26 10:46:18 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-26 10:46:18 +0000
commit3982407ba4bb39f09a0eb5873003130245ad5512 (patch)
tree53305ad44bfe47d05d944e893e0277dad624111b
parent4dd4e6d6b98001d164cddbdfa8fe90460257884a (diff)
downloadbusybox-w32-3982407ba4bb39f09a0eb5873003130245ad5512.tar.gz
busybox-w32-3982407ba4bb39f09a0eb5873003130245ad5512.tar.bz2
busybox-w32-3982407ba4bb39f09a0eb5873003130245ad5512.zip
inetd: move struct fields around -> save .25 k of code
function old new delta freeconfig 75 76 +1 register_rpc 200 196 -4 dupconfig 165 159 -6 reapchild 173 166 -7 retry 93 82 -11 goaway 112 101 -11 getconfigent 1241 1222 -19 setup 645 592 -53 inetd_main 2160 2107 -53 config 1602 1518 -84 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/9 up/down: 1/-248) Total: -247 bytes text data bss dec hex filename 773951 1038 10332 785321 bfba9 busybox_old 773703 1038 10332 785073 bfab1 busybox_unstripped
-rw-r--r--networking/inetd.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/networking/inetd.c b/networking/inetd.c
index b3a00cfa5..b16427882 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -222,6 +222,9 @@ struct BUG_too_small {
222}; 222};
223 223
224typedef struct servtab_t { 224typedef struct servtab_t {
225 /* The most frequently referenced one: */
226 int se_fd; /* open descriptor */
227 /* NB: 'biggest fields last' saves on code size (~250 bytes) */
225 char *se_hostaddr; /* host address to listen on */ 228 char *se_hostaddr; /* host address to listen on */
226 char *se_service; /* name of service */ 229 char *se_service; /* name of service */
227 char *se_proto; /* protocol used */ 230 char *se_proto; /* protocol used */
@@ -242,10 +245,14 @@ typedef struct servtab_t {
242#ifdef INETD_FEATURE_ENABLED 245#ifdef INETD_FEATURE_ENABLED
243 const struct builtin *se_bi; /* if built-in, description */ 246 const struct builtin *se_bi; /* if built-in, description */
244#endif 247#endif
248 int se_ctrladdr_size;
249 int se_max; /* max # of instances of this service */
250 int se_count; /* number started since se_time */
251 struct servtab_t *se_next;
252 struct timeval se_time; /* start of se_count */
245 char *se_server; /* server program */ 253 char *se_server; /* server program */
246#define MAXARGV 20 254#define MAXARGV 20
247 char *se_argv[MAXARGV + 1]; /* program arguments */ 255 char *se_argv[MAXARGV + 1]; /* program arguments */
248 int se_fd; /* open descriptor */
249 union { 256 union {
250 struct sockaddr se_un_ctrladdr; 257 struct sockaddr se_un_ctrladdr;
251 struct sockaddr_in se_un_ctrladdr_in; 258 struct sockaddr_in se_un_ctrladdr_in;
@@ -258,11 +265,6 @@ typedef struct servtab_t {
258#define se_ctrladdr_in se_un.se_un_ctrladdr_in 265#define se_ctrladdr_in se_un.se_un_ctrladdr_in
259#define se_ctrladdr_in6 se_un.se_un_ctrladdr_in6 266#define se_ctrladdr_in6 se_un.se_un_ctrladdr_in6
260#define se_ctrladdr_un se_un.se_un_ctrladdr_un 267#define se_ctrladdr_un se_un.se_un_ctrladdr_un
261 int se_ctrladdr_size;
262 int se_max; /* max # of instances of this service */
263 int se_count; /* number started since se_time */
264 struct timeval se_time; /* start of se_count */
265 struct servtab_t *se_next;
266} servtab_t; 268} servtab_t;
267 269
268#ifdef INETD_FEATURE_ENABLED 270#ifdef INETD_FEATURE_ENABLED