code = Template('_fail = !inet_aton(argv[_i]->arg, &$varname);')
class IP6Handler(IPBase):
argtype = 'struct in6_addr'
- decl = Template('struct in6_addr $varname = IN6ADDR_ANY_INIT;')
+ decl = Template('struct in6_addr $varname = {};')
code = Template('_fail = !inet_pton(AF_INET6, argv[_i]->arg, &$varname);')
class IPGenHandler(IPBase):
argtype = 'const union sockunion *'
struct stat sb;
char buf[32];
- sprintf(buf, "/proc/%d/exe", pid);
+ sprintf(buf, "/proc/%ld/exe", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_dev == esb->st_dev && sb.st_ino == esb->st_ino);
struct stat sb;
char buf[32];
- sprintf(buf, "/proc/%d", pid);
+ sprintf(buf, "/proc/%ld", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_uid == uid);
FILE *f;
int c;
- sprintf(buf, "/proc/%d/stat", pid);
+ sprintf(buf, "/proc/%ld/stat", (long)pid);
f = fopen(buf, "r");
if (!f)
return 0;
static void do_pidfile(const char *name)
{
FILE *f;
- pid_t pid;
+ long pid;
f = fopen(name, "r");
if (f) {
- if (fscanf(f, "%d", &pid) == 1)
- check(pid);
+ if (fscanf(f, "%ld", &pid) == 1)
+ check((pid_t)pid);
fclose(f);
} else if (errno != ENOENT)
fatal("open pidfile %s: %s", name, strerror(errno));
DIR *procdir;
struct dirent *entry;
int foundany;
- pid_t pid;
+ long pid;
procdir = opendir("/proc");
if (!procdir)
foundany = 0;
while ((entry = readdir(procdir)) != NULL) {
- if (sscanf(entry->d_name, "%d", &pid) != 1)
+ if (sscanf(entry->d_name, "%ld", &pid) != 1)
continue;
foundany++;
- check(pid);
+ check((pid_t)pid);
}
closedir(procdir);
if (!foundany)
for (p = found; p; p = p->next) {
if (testmode)
- printf("Would send signal %d to %d.\n", signal_nr,
- p->pid);
+ printf("Would send signal %d to %ld.\n", signal_nr,
+ (long)p->pid);
else if (kill(p->pid, signal_nr) == 0) {
push(&killed, p->pid);
(*n_killed)++;
} else {
- printf("%s: warning: failed to kill %d: %s\n", progname,
- p->pid, strerror(errno));
+ printf("%s: warning: failed to kill %ld: %s\n",
+ progname, (long)p->pid, strerror(errno));
(*n_notkilled)++;
}
}
if (quietmode < 0 && killed) {
printf("Stopped %s (pid", what_stop);
for (p = killed; p; p = p->next)
- printf(" %d", p->pid);
+ printf(" %ld", (long)p->pid);
putchar(')');
if (retry_nr > 0)
printf(", retry #%d", retry_nr);
if (pidf == NULL)
fatal("Unable to open pidfile `%s' for writing: %s",
pidfile, strerror(errno));
- fprintf(pidf, "%d\n", pidt);
+ fprintf(pidf, "%ld\n", (long)pidt);
fclose(pidf);
}
set_namespaces();
#include "zebra/interface.h"
#include "zebra/ioctl_solaris.h"
#include "zebra/rib.h"
+#include "zebra/rt.h"
static int if_get_addr(struct interface *, struct sockaddr *, const char *);
static void interface_info_ioctl(struct interface *);
struct lifconf lifconf;
struct interface *ifp;
int n;
- int save_errno;
size_t needed, lastneeded = 0;
char *buf = NULL;
lifn.lifn_flags = LIFC_NOXMIT;
/* we want NOXMIT interfaces too */
ret = ioctl(sock, SIOCGLIFNUM, &lifn);
- save_errno = errno;
-
}
if (ret < 0) {
zlog_warn("interface_list_ioctl: SIOCGLIFNUM failed %s",
- safe_strerror(save_errno));
+ safe_strerror(errno));
close(sock);
return -1;
}