diff --git a/include/chmode.h b/include/chmode.h
index a4fc8f3..1eea5e2 100644
--- a/include/chmode.h
+++ b/include/chmode.h
@@ -85,6 +85,7 @@ extern void chm_voice(struct Client *source_p, struct Channel *chptr,
 extern unsigned int cflag_add(char c, ChannelModeFunc function);
 extern void cflag_orphan(char c);
 extern void construct_cflags_strings(void);
+extern void construct_cflag_param_string(void);
 extern char cflagsbuf[256];
 extern char cflagsmyinfo[256];
 extern char cflagsparaminfo[256];
diff --git a/src/listener.c b/src/listener.c
index b5fe775..a93ba7b 100644
--- a/src/listener.c
+++ b/src/listener.c
@@ -167,7 +167,6 @@ static int
 inetport(struct Listener *listener)
 {
 	rb_fde_t *F;
-	int ret;
 	int opt = 1;
 
 	/*
diff --git a/src/newconf.c b/src/newconf.c
index 597dedb..d77d095 100644
--- a/src/newconf.c
+++ b/src/newconf.c
@@ -1932,7 +1932,7 @@ conf_call_set(struct TopConf *tc, char *item, conf_parm_t * value, int type)
 
 	/* if it takes one thing, make sure they only passed one thing,
 	   and handle as needed. */
-	if(value->type & CF_FLIST && !cf->cf_type & CF_FLIST)
+	if(value->type & CF_FLIST && !(cf->cf_type & CF_FLIST))
 	{
 		conf_report_error
 			("Option %s::%s does not take a list of values.", tc->tc_name, item);
diff --git a/src/s_conf.c b/src/s_conf.c
index bbe7293..e04941f 100644
--- a/src/s_conf.c
+++ b/src/s_conf.c
@@ -1766,8 +1766,6 @@ yyerror(const char *msg)
 int
 conf_fgets(char *lbuf, int max_size, FILE * fb)
 {
-	char *buff;
-
 	if(fgets(lbuf, max_size, fb) == NULL)
 		return (0);