--- /dev/null
+diff -uNr ctrlproxy-2.3-orig/mods/log_irssi.c ctrlproxy-2.3/mods/log_irssi.c
+--- ctrlproxy-2.3-orig/mods/log_irssi.c Sat Aug 23 22:09:43 2003
++++ ctrlproxy-2.3/mods/log_irssi.c Mon Aug 25 20:54:00 2003
+@@ -78,6 +78,7 @@
+ char *nick = NULL;
+ char *dest = NULL;
+ char *user = NULL;
++ char *nnick = NULL;
+ time_t ti = time(NULL);
+ struct tm *t = localtime(&ti);
+ FILE *f = NULL;
+@@ -97,7 +98,7 @@
+ if(f)fprintf(f, "%02d:%02d -!- %s [%s] has left %s [%s]\n", t->tm_hour, t->tm_min, nick, user, l->args[1], l->args[2]?l->args[2]:"");
+ } else if(!strcasecmp(l->args[0], "PRIVMSG")) {
+ dest = l->args[1];
+- char *nnick = xmlGetProp(l->network->xmlConf, "nick");
++ nnick = xmlGetProp(l->network->xmlConf, "nick");
+ if(!strcasecmp(dest, nnick))dest = nick;
+ xmlFree(nnick);
+ if(l->args[2][0] == '\ 1') {
+diff -uNr ctrlproxy-2.3-orig/printstats.c ctrlproxy-2.3/printstats.c
+--- ctrlproxy-2.3-orig/printstats.c Sat Aug 23 16:21:41 2003
++++ ctrlproxy-2.3/printstats.c Mon Aug 25 20:53:37 2003
+@@ -34,9 +34,10 @@
+
+ int traverse_keys(TDB_CONTEXT *tdb_context, TDB_DATA key, TDB_DATA value, void *pattern)
+ {
++ long *ivalue;
++
+ if(!key.dptr) return 0;
+
+- long *ivalue;
+ ivalue = (long *)value.dptr;
+ printf("%s: %ld\n", key.dptr, *ivalue);
+ return 0;
+diff -uNr ctrlproxy-2.3-orig/state.c ctrlproxy-2.3/state.c
+--- ctrlproxy-2.3-orig/state.c Thu Aug 14 00:29:44 2003
++++ ctrlproxy-2.3/state.c Mon Aug 25 20:53:22 2003
+@@ -214,8 +214,9 @@
+ }
+
+ static void handle_quit(struct network *s, struct line *l) {
+- if(!line_get_nick(l))return;
+- GList *g = s->channels;
++ GList * g;
++ if(!line_get_nick(l))return;
++ g = s->channels;
+ while(g) {
+ struct channel *c = (struct channel *)g->data;
+ struct nick *n = find_nick(c, line_get_nick(l));