summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2009-01-26 21:54:28 +0000
committerTed Trask <ttrask01@yahoo.com>2009-01-26 21:54:28 +0000
commitf3f4030b4ed0734c9810923cac179f52a7fb0c38 (patch)
tree030a4401dbea90e93b97cbd156763c8e1b25a54e
parent3e93fe62cff474856f63b7f8e7a3d28a72ea25f1 (diff)
downloadacf-openntpd-f3f4030b4ed0734c9810923cac179f52a7fb0c38.tar.bz2
acf-openntpd-f3f4030b4ed0734c9810923cac179f52a7fb0c38.tar.xz
More work to remove unnecessary popen calls.
git-svn-id: svn://svn.alpinelinux.org/acf/openntpd/trunk@1696 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--openntpd-model.lua18
1 files changed, 11 insertions, 7 deletions
diff --git a/openntpd-model.lua b/openntpd-model.lua
index 5279388..a3dbbae 100644
--- a/openntpd-model.lua
+++ b/openntpd-model.lua
@@ -15,13 +15,17 @@ local processname = "ntpd"
-- LOCAL FUNCTIONS
local function last_time_change()
- local cmdoutput = {}
- local cmd, error = io.popen("cat /var/log/messages | grep ntpd | grep adjusting | tail -1" ,r)
- local cmdoutput1,cmdoutput2 = string.match(cmd:read("*a"), "^%s*(%S+%s+%S+%s+%S+%s+).*: (.*)$")
- cmd:close()
- cmdoutput1 = cmdoutput1 or "(Have no data on updates)"
- cmdoutput2 = cmdoutput2 or ""
- return cmdoutput1 .. cmdoutput2
+ local cmdoutput = "(Have no data on updates)"
+ local mess = fs.read_file_as_array("/var/log/messages")
+ for i=table.maxn(mess),1,-1 do
+ if string.find(mess[i], "ntpd.*adjusting") then
+ local cmd1,cmd2 = string.match(mess[i], "^%s*(%S+%s+%S+%s+%S+%s+).*: (.*)$")
+ cmdoutput = cmd1 .. cmd2
+ break
+ end
+
+ end
+ return cmdoutput
end
local function validate_config(config)