route(1): Pull static buffer out of the function and into function scope.
This will make it easier to link as a library. Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> Discussed on: -hackers
This commit is contained in:
parent
2dc8692dec
commit
8899d0bd6d
@ -97,6 +97,7 @@ static char domain[MAXHOSTNAMELEN + 1];
|
|||||||
static bool domain_initialized;
|
static bool domain_initialized;
|
||||||
static int rtm_seq;
|
static int rtm_seq;
|
||||||
static char rt_line[NI_MAXHOST];
|
static char rt_line[NI_MAXHOST];
|
||||||
|
static char net_line[MAXHOSTNAMELEN + 1];
|
||||||
|
|
||||||
static int atalk_aton(const char *, struct at_addr *);
|
static int atalk_aton(const char *, struct at_addr *);
|
||||||
static char *atalk_ntoa(struct at_addr, char [ATALK_BUF_SIZE]);
|
static char *atalk_ntoa(struct at_addr, char [ATALK_BUF_SIZE]);
|
||||||
@ -627,7 +628,6 @@ static const char *
|
|||||||
netname(struct sockaddr *sa)
|
netname(struct sockaddr *sa)
|
||||||
{
|
{
|
||||||
struct sockaddr_dl *sdl;
|
struct sockaddr_dl *sdl;
|
||||||
static char line[MAXHOSTNAMELEN + 1];
|
|
||||||
char atalk_buf[ATALK_BUF_SIZE];
|
char atalk_buf[ATALK_BUF_SIZE];
|
||||||
int n;
|
int n;
|
||||||
#ifdef INET
|
#ifdef INET
|
||||||
@ -653,17 +653,17 @@ netname(struct sockaddr *sa)
|
|||||||
}
|
}
|
||||||
#define C(x) (unsigned)((x) & 0xff)
|
#define C(x) (unsigned)((x) & 0xff)
|
||||||
if (cp != NULL)
|
if (cp != NULL)
|
||||||
strncpy(line, cp, sizeof(line));
|
strncpy(net_line, cp, sizeof(net_line));
|
||||||
else if ((in.s_addr & 0xffffff) == 0)
|
else if ((in.s_addr & 0xffffff) == 0)
|
||||||
(void)sprintf(line, "%u", C(in.s_addr >> 24));
|
(void)sprintf(net_line, "%u", C(in.s_addr >> 24));
|
||||||
else if ((in.s_addr & 0xffff) == 0)
|
else if ((in.s_addr & 0xffff) == 0)
|
||||||
(void)sprintf(line, "%u.%u", C(in.s_addr >> 24),
|
(void)sprintf(net_line, "%u.%u", C(in.s_addr >> 24),
|
||||||
C(in.s_addr >> 16));
|
C(in.s_addr >> 16));
|
||||||
else if ((in.s_addr & 0xff) == 0)
|
else if ((in.s_addr & 0xff) == 0)
|
||||||
(void)sprintf(line, "%u.%u.%u", C(in.s_addr >> 24),
|
(void)sprintf(net_line, "%u.%u.%u", C(in.s_addr >> 24),
|
||||||
C(in.s_addr >> 16), C(in.s_addr >> 8));
|
C(in.s_addr >> 16), C(in.s_addr >> 8));
|
||||||
else
|
else
|
||||||
(void)sprintf(line, "%u.%u.%u.%u", C(in.s_addr >> 24),
|
(void)sprintf(net_line, "%u.%u.%u.%u", C(in.s_addr >> 24),
|
||||||
C(in.s_addr >> 16), C(in.s_addr >> 8),
|
C(in.s_addr >> 16), C(in.s_addr >> 8),
|
||||||
C(in.s_addr));
|
C(in.s_addr));
|
||||||
#undef C
|
#undef C
|
||||||
@ -683,15 +683,15 @@ netname(struct sockaddr *sa)
|
|||||||
if (nflag)
|
if (nflag)
|
||||||
niflags |= NI_NUMERICHOST;
|
niflags |= NI_NUMERICHOST;
|
||||||
if (getnameinfo((struct sockaddr *)&sin6, sin6.sin6_len,
|
if (getnameinfo((struct sockaddr *)&sin6, sin6.sin6_len,
|
||||||
line, sizeof(line), NULL, 0, niflags) != 0)
|
net_line, sizeof(net_line), NULL, 0, niflags) != 0)
|
||||||
strncpy(line, "invalid", sizeof(line));
|
strncpy(net_line, "invalid", sizeof(net_line));
|
||||||
|
|
||||||
return(line);
|
return(net_line);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case AF_APPLETALK:
|
case AF_APPLETALK:
|
||||||
(void)snprintf(line, sizeof(line), "atalk %s",
|
(void)snprintf(net_line, sizeof(net_line), "atalk %s",
|
||||||
atalk_ntoa(((struct sockaddr_at *)(void *)sa)->sat_addr,
|
atalk_ntoa(((struct sockaddr_at *)(void *)sa)->sat_addr,
|
||||||
atalk_buf));
|
atalk_buf));
|
||||||
break;
|
break;
|
||||||
@ -702,11 +702,11 @@ netname(struct sockaddr *sa)
|
|||||||
if (sdl->sdl_nlen == 0 &&
|
if (sdl->sdl_nlen == 0 &&
|
||||||
sdl->sdl_alen == 0 &&
|
sdl->sdl_alen == 0 &&
|
||||||
sdl->sdl_slen == 0) {
|
sdl->sdl_slen == 0) {
|
||||||
n = snprintf(line, sizeof(line), "link#%d",
|
n = snprintf(net_line, sizeof(net_line), "link#%d",
|
||||||
sdl->sdl_index);
|
sdl->sdl_index);
|
||||||
if (n > (int)sizeof(line))
|
if (n > (int)sizeof(net_line))
|
||||||
line[0] = '\0';
|
net_line[0] = '\0';
|
||||||
return (line);
|
return (net_line);
|
||||||
} else
|
} else
|
||||||
return (link_ntoa(sdl));
|
return (link_ntoa(sdl));
|
||||||
break;
|
break;
|
||||||
@ -715,8 +715,8 @@ netname(struct sockaddr *sa)
|
|||||||
{
|
{
|
||||||
u_short *sp = (u_short *)(void *)sa->sa_data;
|
u_short *sp = (u_short *)(void *)sa->sa_data;
|
||||||
u_short *splim = sp + ((sa->sa_len + 1)>>1);
|
u_short *splim = sp + ((sa->sa_len + 1)>>1);
|
||||||
char *cps = line + sprintf(line, "af %d:", sa->sa_family);
|
char *cps = net_line + sprintf(net_line, "af %d:", sa->sa_family);
|
||||||
char *cpe = line + sizeof(line);
|
char *cpe = net_line + sizeof(net_line);
|
||||||
|
|
||||||
while (sp < splim && cps < cpe)
|
while (sp < splim && cps < cpe)
|
||||||
if ((n = snprintf(cps, cpe - cps, " %x", *sp++)) > 0)
|
if ((n = snprintf(cps, cpe - cps, " %x", *sp++)) > 0)
|
||||||
@ -726,7 +726,7 @@ netname(struct sockaddr *sa)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (line);
|
return (net_line);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user