summaryrefslogtreecommitdiffstats
path: root/freebsd/usr.bin/netstat/main.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-30 15:42:53 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:18:54 +0100
commit6da9b2397b6ed81c8d73d040a10543330af4659b (patch)
treed3930e0973052defe663ad6a77e3d2cd61a540fb /freebsd/usr.bin/netstat/main.c
parentNETSTAT(1): Fix isalpha() and isdigit() usage (diff)
downloadrtems-libbsd-6da9b2397b6ed81c8d73d040a10543330af4659b.tar.bz2
NETSTAT(1): Initialize global variables
Use BSD program lock.
Diffstat (limited to 'freebsd/usr.bin/netstat/main.c')
-rw-r--r--freebsd/usr.bin/netstat/main.c47
1 files changed, 44 insertions, 3 deletions
diff --git a/freebsd/usr.bin/netstat/main.c b/freebsd/usr.bin/netstat/main.c
index fd08002c..acb256d5 100644
--- a/freebsd/usr.bin/netstat/main.c
+++ b/freebsd/usr.bin/netstat/main.c
@@ -364,13 +364,54 @@ int af; /* address family */
int live; /* true if we are examining a live system */
#ifdef __rtems__
+int protopr_initialized;
+int do_rtent;
+struct radix_node_head **rt_tables;
+
static int main(int argc, char *argv[]);
int rtems_bsd_command_netstat(int argc, char *argv[])
{
- noutputs = 0;
-
- return rtems_bsd_program_call_main("netstat", main, argc, argv);
+ int exit_code;
+
+ rtems_bsd_program_lock();
+
+ Aflag = 0;
+ aflag = 0;
+ bflag = 0;
+ dflag = 0;
+ gflag = 0;
+ hflag = 0;
+ iflag = 0;
+ Lflag = 0;
+ mflag = 0;
+ noutputs = 0;
+ numeric_addr = 0;
+ numeric_port = 0;
+ pflag = 0;
+ rflag = 0;
+ sflag = 0;
+ tflag = 0;
+ Wflag = 0;
+ xflag = 0;
+ zflag = 0;
+ interval = 0;
+ interface = 0;
+ unit = 0;
+ af = 0;
+ live = 0;
+
+ protopr_initialized = 0;
+ do_rtent = 0;
+
+ exit_code = rtems_bsd_program_call_main("netstat", main, argc, argv);
+
+ free(rt_tables);
+ rt_tables = NULL;
+
+ rtems_bsd_program_unlock();
+
+ return exit_code;
}
#endif /* __rtems__ */
int