fixing bugs revealed by randomconfig runs
diff --git a/include/applets.h b/include/applets.h
index 465ecdb..397a8b7 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -287,7 +287,9 @@
 USE_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 USE_TEST(APPLET(test, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+#if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT
 USE_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+#endif
 USE_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_TOUCH(APPLET(touch, _BB_DIR_BIN, _BB_SUID_NEVER))
diff --git a/networking/nc.c b/networking/nc.c
index 37e658d..09d89b0 100644
--- a/networking/nc.c
+++ b/networking/nc.c
@@ -23,8 +23,8 @@
 	/* sfd sits _here_ only because of "repeat" option (-l -l). */
 	int sfd = sfd; /* for gcc */
 	int cfd = 0;
+	unsigned lport = 0;
 	SKIP_NC_SERVER(const) unsigned do_listen = 0;
-	SKIP_NC_SERVER(const) unsigned lport = 0;
 	SKIP_NC_EXTRA (const) unsigned wsecs = 0;
 	SKIP_NC_EXTRA (const) unsigned delay = 0;
 	SKIP_NC_EXTRA (const int execparam = 0;)
diff --git a/networking/tftp.c b/networking/tftp.c
index 9aa87d5..eb192d8 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -22,6 +22,8 @@
 #include "busybox.h"
 
 
+#if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT
+
 #define TFTP_BLOCKSIZE_DEFAULT 512	/* according to RFC 1350, don't change */
 #define TFTP_TIMEOUT 5	/* seconds */
 #define TFTP_NUM_RETRIES 5 /* number of retries */
@@ -56,8 +58,8 @@
 #else
 #define USE_GETPUT(a) a
 /* masks coming from getpot32 */
-#define CMD_GET(cmd) (cmd & 1)
-#define CMD_PUT(cmd) (cmd & 2)
+#define CMD_GET(cmd) ((cmd) & 1)
+#define CMD_PUT(cmd) ((cmd) & 2)
 #endif
 /* NB: in the code below
  * CMD_GET(cmd) and CMD_GET(cmd) are mutually exclusive
@@ -508,3 +510,5 @@
 	}
 	return result;
 }
+
+#endif /* ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT */