/*
goircd -- minimalistic simple Internet Relay Chat (IRC) server
-Copyright (C) 2014 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2015 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
package main
import (
mode := os.O_CREATE | os.O_WRONLY | os.O_APPEND
perm := os.FileMode(0660)
var format string
+ var logfile string
+ var fd *os.File
+ var err error
for event := range events {
- logfile := path.Join(logdir, event.where)
- fd, err := os.OpenFile(logfile, mode, perm)
+ logfile = path.Join(logdir, event.where)
+ fd, err = os.OpenFile(logfile, mode, perm)
if err != nil {
log.Println("Can not open logfile", logfile, err)
continue
// Room states shows that either topic or key has been changed
// Each room's state is written to separate file in statedir
func StateKeeper(statedir string, events <-chan StateEvent) {
+ var fn string
+ var data string
+ var err error
for event := range events {
- fn := path.Join(statedir, event.where)
- data := event.topic + "\n" + event.key + "\n"
- err := ioutil.WriteFile(fn, []byte(data), os.FileMode(0660))
+ fn = path.Join(statedir, event.where)
+ data = event.topic + "\n" + event.key + "\n"
+ err = ioutil.WriteFile(fn, []byte(data), os.FileMode(0660))
if err != nil {
log.Printf("Can not write statefile %s: %v", fn, err)
}