diff options
-rw-r--r-- | common/compat.c | 3 | ||||
-rw-r--r-- | common/config-parser.c | 1 | ||||
-rw-r--r-- | common/config-parser.h | 2 | ||||
-rw-r--r-- | common/hash.c | 1 | ||||
-rw-r--r-- | common/server-mainloop.c | 18 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | daemon/Makefile.am | 2 | ||||
-rw-r--r-- | daemon/config.c | 7 | ||||
-rw-r--r-- | daemon/rrd-update.c | 4 | ||||
-rw-r--r-- | daemon/rrdbotd.c | 14 | ||||
-rw-r--r-- | daemon/snmp-engine.c | 5 | ||||
-rw-r--r-- | mib/parse-compat.inc.c | 6 | ||||
-rw-r--r-- | mib/parse.c | 1 | ||||
-rw-r--r-- | mibs/Makefile | 2 | ||||
-rw-r--r-- | tools/rrdbot-create.c | 12 |
15 files changed, 49 insertions, 31 deletions
diff --git a/common/compat.c b/common/compat.c index 247560e..67d3997 100644 --- a/common/compat.c +++ b/common/compat.c @@ -42,6 +42,7 @@ #include <syslog.h> #include <stdlib.h> #include <stdio.h> +#include <err.h> #include <strings.h> #include "usuals.h" @@ -238,7 +239,7 @@ xcalloc(size_t size) { register void* value = calloc(1, size); if(value == NULL) - errx("out of memory"); + errx(1, "out of memory"); return value; } diff --git a/common/config-parser.c b/common/config-parser.c index 5c1aa98..10bf20f 100644 --- a/common/config-parser.c +++ b/common/config-parser.c @@ -121,7 +121,6 @@ cfg_parse_file(const char* filename, void* data, char** memory) int ret = -1; char* p; char* t; - int pos; ASSERT(filename); diff --git a/common/config-parser.h b/common/config-parser.h index 94d96c9..174bac2 100644 --- a/common/config-parser.h +++ b/common/config-parser.h @@ -41,7 +41,7 @@ /* Callbacks must be defined by the caller */ extern int cfg_value(const char* filename, const char* header, const char* name, char* value, void* data); -extern int cfg_errcallback(const char* filename, const char* errmsg, void* data); +extern int cfg_error(const char* filename, const char* errmsg, void* data); /* Calling these will call the callbacks above */ int cfg_parse_dir(const char* dirname, void* data); diff --git a/common/hash.c b/common/hash.c index 789e85c..c99a689 100644 --- a/common/hash.c +++ b/common/hash.c @@ -53,6 +53,7 @@ #include <sys/types.h> #include <stdlib.h> +#include <string.h> #include "hash.h" #define KEY_DATA(he) ((he)->key) diff --git a/common/server-mainloop.c b/common/server-mainloop.c index 07f02b2..6ea8985 100644 --- a/common/server-mainloop.c +++ b/common/server-mainloop.c @@ -97,18 +97,14 @@ timeval_compare(struct timeval* t1, struct timeval* t2) #define timeval_to_ms(tv) \ ((((uint64_t)(tv).tv_sec) * 1000L) + (((uint64_t)(tv).tv_usec) / 1000L)) -static int -timeval_dump(struct timeval* tv) -{ - fprintf(stderr, "{ %d:%d }", tv->tv_sec, tv->tv_usec / 1000); -} +#define timeval_dump(tv) \ + (fprintf(stderr, "{ %d:%d }", (uint)((tv)->tv_sec), (uint)((tv)->tv_usec / 1000)) static int add_timer(int ms, int oneshot, server_timer_callback callback, void* arg) { struct timeval interval; timer_callback* cb; - int i; ASSERT(ms > 0); ASSERT(callback != NULL); @@ -150,10 +146,9 @@ remove_timer(timer_callback* timcb) { timer_callback* cb; timer_callback* next; - int i; if(!ctx.timers) - return; + return NULL; /* First in list */; if(ctx.timers == timcb) @@ -175,6 +170,9 @@ remove_timer(timer_callback* timcb) return cb->next; } } + + /* Couldn't remove, return self */ + return timcb; } void @@ -232,7 +230,7 @@ server_run() timer_callback* timcb; socket_callback* sockcb; fd_set rfds, wfds; - int r, i; + int r; /* No watches have been set */ ASSERT(ctx.max_fd > -1); @@ -346,7 +344,6 @@ int server_watch(int fd, int type, server_socket_callback callback, void* arg) { socket_callback* cb; - int i; ASSERT(type != 0); ASSERT(fd != -1); ASSERT(callback != NULL); @@ -380,7 +377,6 @@ void server_unwatch(int fd) { socket_callback* cb; - int i; ASSERT(fd != -1); diff --git a/configure.in b/configure.in index 9dc3570..7c0468f 100644 --- a/configure.in +++ b/configure.in @@ -8,6 +8,8 @@ CFLAGS="$CFLAGS -I/usr/local/include" AC_CONFIG_SRCDIR([daemon/rrdbotd.c]) AM_CONFIG_HEADER([config.h]) +CFLAGS="$CFLAGS -Wall" + # Debug mode AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], diff --git a/daemon/Makefile.am b/daemon/Makefile.am index dda6ceb..466353b 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -1,7 +1,7 @@ sbin_PROGRAMS = rrdbotd -rrdbotd_SOURCES = rrdbotd.c rrdbotd.h config.c usuals.h \ +rrdbotd_SOURCES = rrdbotd.c rrdbotd.h config.c \ snmp-help.c snmp-engine.c rrd-update.c \ ../common/server-mainloop.c ../common/server-mainloop.h \ ../common/sock-any.h ../common/sock-any.c \ diff --git a/daemon/config.c b/daemon/config.c index 8c20c4a..ce6e397 100644 --- a/daemon/config.c +++ b/daemon/config.c @@ -42,8 +42,10 @@ #include <syslog.h> #include <dirent.h> #include <string.h> +#include <err.h> #include "rrdbotd.h" +#include "config-parser.h" /* * These routines parse the configuration files and setup the in memory @@ -279,7 +281,7 @@ parse_item(const char* field, char* uri, config_ctx *ctx) { rb_message(LOG_WARNING, "couldn't resolve host address (ignoring): %s", host); free(rhost); - return; + return NULL; } /* And add it to the list */ @@ -305,6 +307,8 @@ parse_item(const char* field, char* uri, config_ctx *ctx) /* And add it to the list */ ritem->next = ctx->items; ctx->items = ritem; + + return ritem; } static void @@ -349,7 +353,6 @@ config_value(const char* header, const char* name, char* value, /* If it starts with "field." */ else if(strncmp(name, CONFIG_FIELD, KL(CONFIG_FIELD)) == 0) { - rb_poller* poll; const char* field; const char* t; diff --git a/daemon/rrd-update.c b/daemon/rrd-update.c index 295eea6..ca8d71b 100644 --- a/daemon/rrd-update.c +++ b/daemon/rrd-update.c @@ -43,6 +43,8 @@ #include <syslog.h> #include <unistd.h> +#include <rrd.h> + #include "rrdbotd.h" #define MAX_NUMLEN 40 @@ -120,7 +122,7 @@ void rb_rrd_update(rb_poller *poll) rb_messagex(LOG_DEBUG, "> values: %s", items); rrd_clear_error(); - r = rrd_update(5, argv); + r = rrd_update(5, (char**)argv); if(r != 0) rb_messagex(LOG_ERR, "couldn't update rrd file: %s: %s", diff --git a/daemon/rrdbotd.c b/daemon/rrdbotd.c index c28825d..261955d 100644 --- a/daemon/rrdbotd.c +++ b/daemon/rrdbotd.c @@ -42,11 +42,13 @@ #include <stdarg.h> #include <syslog.h> #include <signal.h> +#include <err.h> #include <bsnmp/asn1.h> #include <bsnmp/snmp.h> #include "rrdbotd.h" +#include "server-mainloop.h" /* The default command line options */ #define DEFAULT_CONFIG CONF_PREFIX "/rrdbot" @@ -72,11 +74,12 @@ static int debug_level = LOG_ERR; #include "mib/parse.h" +#ifdef TEST + static void test(int argc, char* argv[]) { struct snmp_value val; - mib_node n, n2; debug_level = 4; @@ -98,6 +101,8 @@ test(int argc, char* argv[]) exit(1); } +#endif /* TEST */ + /* ----------------------------------------------------------------------------- * LOGGING */ @@ -211,7 +216,10 @@ main(int argc, char* argv[]) char ch; char* t; - /* test(argc, argv); */ +#ifdef TEST + test(argc, argv); + return 1; +#endif /* Initialize the state stuff */ memset(&g_state, 0, sizeof(g_state)); @@ -310,7 +318,7 @@ main(int argc, char* argv[]) { /* Fork a daemon nicely */ if(daemon(0, 0) == -1) - err("couldn't fork as a daemon"); + err(1, "couldn't fork as a daemon"); rb_messagex(LOG_DEBUG, "running as a daemon"); daemonized = 1; diff --git a/daemon/snmp-engine.c b/daemon/snmp-engine.c index 66cc047..37637ab 100644 --- a/daemon/snmp-engine.c +++ b/daemon/snmp-engine.c @@ -38,7 +38,9 @@ #include "usuals.h" #include <errno.h> +#include <unistd.h> #include <syslog.h> +#include <err.h> #include <bsnmp/asn1.h> #include <bsnmp/snmp.h> @@ -121,7 +123,7 @@ new_req() { rb_request* req = NULL; uint num; - int i, first, overlap = 0; + int i, overlap = 0; if(nrequests) { @@ -335,7 +337,6 @@ respond_req(rb_request* req, struct snmp_pdu* pdu, mstime when) struct snmp_value* value; rb_poller* poll = req->poll; rb_item* item; - int incomplete = 0; int i; ASSERT(req->id == pdu->request_id); diff --git a/mib/parse-compat.inc.c b/mib/parse-compat.inc.c index 56b42d4..8f8fc0d 100644 --- a/mib/parse-compat.inc.c +++ b/mib/parse-compat.inc.c @@ -56,7 +56,7 @@ static int initialized = 0; #define TRUE 1 /* No need to implement these */ -#define DEBUGMSGTL +#define DEBUGMSGTL(x) #define set_function(tp) /* Just return the tree head */ @@ -102,7 +102,7 @@ netsnmp_ds_get_int(int dummy, int var) #define netsnmp_ds_set_boolean(a, b, c) #define netsnmp_ds_toggle_boolean(a, b) -static int +static void snmp_log(int level, const char* msg, ...) { va_list ap; @@ -116,7 +116,7 @@ snmp_log(int level, const char* msg, ...) } /* Only used to open files */ -static int +static void snmp_log_perror(const char* file) { rb_message(LOG_ERR, "couldn't open file: %s", file); diff --git a/mib/parse.c b/mib/parse.c index d4987d3..aeb449f 100644 --- a/mib/parse.c +++ b/mib/parse.c @@ -63,6 +63,7 @@ SOFTWARE. #include <stdlib.h> #include <stdio.h> #include <string.h> +#include <ctype.h> #include <dirent.h> #include <syslog.h> diff --git a/mibs/Makefile b/mibs/Makefile index eed2516..a785979 100644 --- a/mibs/Makefile +++ b/mibs/Makefile @@ -65,7 +65,7 @@ AUTOMAKE = ${SHELL} /data/projects/rrdbot/missing --run automake-1.9 AWK = mawk CC = gcc CCDEPMODE = depmode=gcc3 -CFLAGS = -I/usr/local/include -g -O0 +CFLAGS = -I/usr/local/include -Wall -g -O0 CPP = gcc -E CPPFLAGS = CYGPATH_W = echo diff --git a/tools/rrdbot-create.c b/tools/rrdbot-create.c index 6e2f143..73a5541 100644 --- a/tools/rrdbot-create.c +++ b/tools/rrdbot-create.c @@ -40,6 +40,11 @@ #include <errno.h> #include <unistd.h> #include <stdarg.h> +#include <err.h> + +#include <rrd.h> + +#include "config-parser.h" /* ----------------------------------------------------------------------------- * CONSTANTS @@ -143,7 +148,7 @@ create_file(create_ctx* ctx, const char* rrd) opterr = 0; rrd_clear_error(); - r = rrd_create(argc, argv); + r = rrd_create(argc, (char**)argv); if(r != 0) warnx("couldn't create rrd file: %s: %s", rrd, rrd_get_error()); @@ -276,7 +281,7 @@ cfg_value(const char* filename, const char* header, const char* name, /* Only process this section */ if(strcmp(header, CONFIG_CREATE) != 0) - return; + return 0; /* The rra option */ if(strcmp(name, CONFIG_RRA) == 0) @@ -296,7 +301,7 @@ cfg_value(const char* filename, const char* header, const char* name, warnx("%s: the '%s' field name must only contain characters, digits, underscore and dash", ctx->confname, field); ctx->skip = 1; - return; + return 0; } add_field(ctx, field, value); @@ -345,7 +350,6 @@ main(int argc, char* argv[]) const char* confdir = DEFAULT_CONFIG; create_ctx ctx; char ch; - char* t; memset(&ctx, 0, sizeof(ctx)); ctx.workdir = DEFAULT_WORK; |