#define NETSTAT_CONNECTED 0x01
#define NETSTAT_LISTENING 0x02
#define NETSTAT_NUMERIC 0x04
-/* Must match getopt_ulflags option string */
+/* Must match getopt32 option string */
#define NETSTAT_TCP 0x10
#define NETSTAT_UDP 0x20
#define NETSTAT_RAW 0x40
static void do_info(const char *file, const char *name, void (*proc)(int, const char *))
{
- char buffer[8192];
int lnr = 0;
FILE *procinfo;
if (errno != ENOENT) {
perror(file);
} else {
- bb_error_msg("no support for `%s' on this system", name);
+ bb_error_msg("no support for '%s' on this system", name);
}
} else {
do {
- if (fgets(buffer, sizeof(buffer), procinfo))
+ char *buffer = xmalloc_fgets(procinfo);
+ if (buffer) {
(proc)(lnr++, buffer);
+ free(buffer);
+ }
} while (!feof(procinfo));
fclose(procinfo);
}
OPT_extended = 0x4,
OPT_showroute = 0x100,
};
- unsigned long opt;
+ unsigned opt;
#ifdef CONFIG_FEATURE_IPV6
int inet = 1;
int inet6 = 1;
#endif
/* Option string must match NETSTAT_xxx constants */
- opt = bb_getopt_ulflags(argc, argv, "laentuwxr");
+ opt = getopt32(argc, argv, "laentuwxr");
if (opt & 0x1) { // -l
flags &= ~NETSTAT_CONNECTED;
flags |= NETSTAT_LISTENING;
else
printf("(w/o servers)");
}
- printf("\nProto Recv-Q Send-Q Local Address Foreign Address State \n");
+ printf("\nProto Recv-Q Send-Q Local Address Foreign Address State\n");
}
if (inet && flags&NETSTAT_TCP)
do_info(_PATH_PROCNET_TCP,"AF INET (tcp)",tcp_do_one);