Use our own SUN_LEN if libc doesn't provide it.
This commit is contained in:
parent
365211d588
commit
4daf03e513
3 changed files with 14 additions and 5 deletions
4
TODO
4
TODO
|
@ -1,5 +1,9 @@
|
||||||
Core
|
Core
|
||||||
~~~~
|
~~~~
|
||||||
|
- socket open failure should not be fatal
|
||||||
|
- &&,||: priorities
|
||||||
|
- client: `?' in BGP masks
|
||||||
|
- filters: function for BGP path length
|
||||||
|
|
||||||
Globals
|
Globals
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "lib/resource.h"
|
#include "lib/resource.h"
|
||||||
#include "lib/string.h"
|
#include "lib/string.h"
|
||||||
#include "client/client.h"
|
#include "client/client.h"
|
||||||
|
#include "sysdep/unix/unix.h"
|
||||||
|
|
||||||
static char *opt_list = "s:v";
|
static char *opt_list = "s:v";
|
||||||
static int verbose;
|
static int verbose;
|
||||||
|
@ -69,7 +70,7 @@ parse_args(int argc, char **argv)
|
||||||
/*** Input ***/
|
/*** Input ***/
|
||||||
|
|
||||||
static void server_send(char *);
|
static void server_send(char *);
|
||||||
static void io_loop(int);
|
static void select_loop(int);
|
||||||
|
|
||||||
/* HACK: libreadline internals we need to access */
|
/* HACK: libreadline internals we need to access */
|
||||||
extern int _rl_vis_botlin;
|
extern int _rl_vis_botlin;
|
||||||
|
@ -112,7 +113,7 @@ got_line(char *cmd_buffer)
|
||||||
{
|
{
|
||||||
server_send(cmd);
|
server_send(cmd);
|
||||||
input_hidden = -1;
|
input_hidden = -1;
|
||||||
io_loop(0);
|
select_loop(0);
|
||||||
input_hidden = 0;
|
input_hidden = 0;
|
||||||
}
|
}
|
||||||
free(cmd);
|
free(cmd);
|
||||||
|
@ -316,7 +317,7 @@ server_read(void)
|
||||||
static fd_set select_fds;
|
static fd_set select_fds;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
io_loop(int mode)
|
select_loop(int mode)
|
||||||
{
|
{
|
||||||
server_reply = -1;
|
server_reply = -1;
|
||||||
while (mode || server_reply < 0)
|
while (mode || server_reply < 0)
|
||||||
|
@ -384,10 +385,10 @@ main(int argc, char **argv)
|
||||||
parse_args(argc, argv);
|
parse_args(argc, argv);
|
||||||
cmd_build_tree();
|
cmd_build_tree();
|
||||||
server_connect();
|
server_connect();
|
||||||
io_loop(0);
|
select_loop(0);
|
||||||
|
|
||||||
input_init();
|
input_init();
|
||||||
|
|
||||||
io_loop(1);
|
select_loop(1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,10 @@ typedef struct sockaddr_in6 sockaddr;
|
||||||
typedef struct sockaddr_in sockaddr;
|
typedef struct sockaddr_in sockaddr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef SUN_LEN
|
||||||
|
#define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) + strlen ((ptr)->sun_path))
|
||||||
|
#endif
|
||||||
|
|
||||||
struct birdsock;
|
struct birdsock;
|
||||||
|
|
||||||
void io_init(void);
|
void io_init(void);
|
||||||
|
|
Loading…
Reference in a new issue