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
|
||||
~~~~
|
||||
- socket open failure should not be fatal
|
||||
- &&,||: priorities
|
||||
- client: `?' in BGP masks
|
||||
- filters: function for BGP path length
|
||||
|
||||
Globals
|
||||
~~~~~~~
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "lib/resource.h"
|
||||
#include "lib/string.h"
|
||||
#include "client/client.h"
|
||||
#include "sysdep/unix/unix.h"
|
||||
|
||||
static char *opt_list = "s:v";
|
||||
static int verbose;
|
||||
|
@ -69,7 +70,7 @@ parse_args(int argc, char **argv)
|
|||
/*** Input ***/
|
||||
|
||||
static void server_send(char *);
|
||||
static void io_loop(int);
|
||||
static void select_loop(int);
|
||||
|
||||
/* HACK: libreadline internals we need to access */
|
||||
extern int _rl_vis_botlin;
|
||||
|
@ -112,7 +113,7 @@ got_line(char *cmd_buffer)
|
|||
{
|
||||
server_send(cmd);
|
||||
input_hidden = -1;
|
||||
io_loop(0);
|
||||
select_loop(0);
|
||||
input_hidden = 0;
|
||||
}
|
||||
free(cmd);
|
||||
|
@ -316,7 +317,7 @@ server_read(void)
|
|||
static fd_set select_fds;
|
||||
|
||||
static void
|
||||
io_loop(int mode)
|
||||
select_loop(int mode)
|
||||
{
|
||||
server_reply = -1;
|
||||
while (mode || server_reply < 0)
|
||||
|
@ -384,10 +385,10 @@ main(int argc, char **argv)
|
|||
parse_args(argc, argv);
|
||||
cmd_build_tree();
|
||||
server_connect();
|
||||
io_loop(0);
|
||||
select_loop(0);
|
||||
|
||||
input_init();
|
||||
|
||||
io_loop(1);
|
||||
select_loop(1);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,10 @@ typedef struct sockaddr_in6 sockaddr;
|
|||
typedef struct sockaddr_in sockaddr;
|
||||
#endif
|
||||
|
||||
#ifndef SUN_LEN
|
||||
#define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) + strlen ((ptr)->sun_path))
|
||||
#endif
|
||||
|
||||
struct birdsock;
|
||||
|
||||
void io_init(void);
|
||||
|
|
Loading…
Reference in a new issue