1 extern char *strdup (const char *__s
)
2 __attribute__ ((__nothrow__
, __leaf__
, __malloc__
, __nonnull__ (1)));
4 extern void abort (void)
5 __attribute__ ((__nothrow__
, __leaf__
, __noreturn__
));
7 extern int getopt (int ___argc
, char *const *___argv
, const char *__shortopts
)
8 __attribute__ ((__nothrow__
, __leaf__
, __nonnull__ (2, 3)));
11 extern void free (void *__ptr
)
12 __attribute__ ((__nothrow__
, __leaf__
));
18 const char *state_dir_prefix
;
21 static inline char *xstrdup(const char *s
) {
22 char *val
= strdup(s
);
28 int config_init(struct state
*config
);
30 int main(int argc
, char *argv
[]) {
32 struct state state
= { 0 };
36 if ((rc
= getopt(argc
, argv
, "H:p:")) != -1) {
39 free((void*)state
.host
);
40 state
.host
= xstrdup(optarg
);
43 free((void*)state
.port
);
44 state
.port
= xstrdup(optarg
);
49 free((void*)state
.host
);
50 free((void*)state
.port
);