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
This commit is contained in:
parent
4dd4e6d6b9
commit
3982407ba4
@ -222,6 +222,9 @@ struct BUG_too_small {
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct servtab_t {
|
typedef struct servtab_t {
|
||||||
|
/* The most frequently referenced one: */
|
||||||
|
int se_fd; /* open descriptor */
|
||||||
|
/* NB: 'biggest fields last' saves on code size (~250 bytes) */
|
||||||
char *se_hostaddr; /* host address to listen on */
|
char *se_hostaddr; /* host address to listen on */
|
||||||
char *se_service; /* name of service */
|
char *se_service; /* name of service */
|
||||||
char *se_proto; /* protocol used */
|
char *se_proto; /* protocol used */
|
||||||
@ -242,10 +245,14 @@ typedef struct servtab_t {
|
|||||||
#ifdef INETD_FEATURE_ENABLED
|
#ifdef INETD_FEATURE_ENABLED
|
||||||
const struct builtin *se_bi; /* if built-in, description */
|
const struct builtin *se_bi; /* if built-in, description */
|
||||||
#endif
|
#endif
|
||||||
|
int se_ctrladdr_size;
|
||||||
|
int se_max; /* max # of instances of this service */
|
||||||
|
int se_count; /* number started since se_time */
|
||||||
|
struct servtab_t *se_next;
|
||||||
|
struct timeval se_time; /* start of se_count */
|
||||||
char *se_server; /* server program */
|
char *se_server; /* server program */
|
||||||
#define MAXARGV 20
|
#define MAXARGV 20
|
||||||
char *se_argv[MAXARGV + 1]; /* program arguments */
|
char *se_argv[MAXARGV + 1]; /* program arguments */
|
||||||
int se_fd; /* open descriptor */
|
|
||||||
union {
|
union {
|
||||||
struct sockaddr se_un_ctrladdr;
|
struct sockaddr se_un_ctrladdr;
|
||||||
struct sockaddr_in se_un_ctrladdr_in;
|
struct sockaddr_in se_un_ctrladdr_in;
|
||||||
@ -258,11 +265,6 @@ typedef struct servtab_t {
|
|||||||
#define se_ctrladdr_in se_un.se_un_ctrladdr_in
|
#define se_ctrladdr_in se_un.se_un_ctrladdr_in
|
||||||
#define se_ctrladdr_in6 se_un.se_un_ctrladdr_in6
|
#define se_ctrladdr_in6 se_un.se_un_ctrladdr_in6
|
||||||
#define se_ctrladdr_un se_un.se_un_ctrladdr_un
|
#define se_ctrladdr_un se_un.se_un_ctrladdr_un
|
||||||
int se_ctrladdr_size;
|
|
||||||
int se_max; /* max # of instances of this service */
|
|
||||||
int se_count; /* number started since se_time */
|
|
||||||
struct timeval se_time; /* start of se_count */
|
|
||||||
struct servtab_t *se_next;
|
|
||||||
} servtab_t;
|
} servtab_t;
|
||||||
|
|
||||||
#ifdef INETD_FEATURE_ENABLED
|
#ifdef INETD_FEATURE_ENABLED
|
||||||
|
Loading…
Reference in New Issue
Block a user