# HG changeset patch # User Matthew Wild # Date 1227895589 0 # Node ID 21105a005eef5001f6c50ddfa2949789433cef7c # Parent e9f269e5204efd470ad0f1d49df49c2b554b9630# Parent a1efb2cb4f9c0b0bd6570e9bf12dfe946493eee6 Merge from waqas diff -r e9f269e5204e -r 21105a005eef main.lua --- a/main.lua Fri Nov 28 00:08:23 2008 +0000 +++ b/main.lua Fri Nov 28 18:06:29 2008 +0000 @@ -24,6 +24,8 @@ end end +require "util.datamanager".set_data_path(config.get("*", "core", "data_path") or "data"); + local server = require "net.server" require "util.dependencies" diff -r e9f269e5204e -r 21105a005eef net/dns.lua --- a/net/dns.lua Fri Nov 28 00:08:23 2008 +0000 +++ b/net/dns.lua Fri Nov 28 18:06:29 2008 +0000 @@ -691,7 +691,8 @@ if not next (self.active) then return nil end else -- print ('retry', o.server, o.delay) - self.socket[o.server]:send (o.packet) + local _a = self.socket[o.server]; + if _a then _a:send (o.packet) end o.retry = self.time + self.delays[o.delay] end end end end diff -r e9f269e5204e -r 21105a005eef util/datamanager.lua --- a/util/datamanager.lua Fri Nov 28 00:08:23 2008 +0000 +++ b/util/datamanager.lua Fri Nov 28 18:06:29 2008 +0000 @@ -17,6 +17,8 @@ end end +local data_path = "data"; + module "datamanager" @@ -70,14 +72,18 @@ ------- API ------------- +function set_data_path(path) + data_path = path; +end + function getpath(username, host, datastore, ext) ext = ext or "dat"; if username then - return format("data/%s/%s/%s.%s", encode(host), datastore, encode(username), ext); + return format("%s/%s/%s/%s.%s", data_path, encode(host), datastore, encode(username), ext); elseif host then - return format("data/%s/%s.%s", encode(host), datastore, ext); + return format("%s/%s/%s.%s", data_path, encode(host), datastore, ext); else - return format("data/%s.%s", datastore, ext); + return format("%s/%s.%s", data_path, datastore, ext); end end