From eb012794028e9f5670feb03718c03ad699e8d935 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Fri, 26 Sep 2008 18:16:31 +0000 Subject: Cleanup of some libs. git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1533 ab2d0c66-481e-0410-8bed-d214d4d58bed --- lib/format.lua | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'lib/format.lua') diff --git a/lib/format.lua b/lib/format.lua index e19899f..6de19c4 100644 --- a/lib/format.lua +++ b/lib/format.lua @@ -179,7 +179,7 @@ function md5sum_string ( str) local checksum = {} for line in f:lines() do checksum[#checksum + 1] = line - end + end f:close() return checksum[1] end @@ -189,21 +189,20 @@ end -- ex: a="foo"; print(expand_bash_syntax_vars("a=${a}) - > "a=foo" expand_bash_syntax_vars = function ( str ) + local deref = function ( f) + local v = _G + for w in string.gfind(f, "[%w_]+") do + v = v[w] + end + return v + end - local deref = function ( f) - local v = _G - for w in string.gfind(f, "[%w_]+") do - v = v[w] - end - return v - end - - for w in string.gmatch (str, "${[^}]*}" ) do - local rvar = string.sub(w,3,-2) - local rval = ( deref(rvar) or "nil" ) - str = string.gsub (str, w, rval) - end - return (str) + for w in string.gmatch (str, "${[^}]*}" ) do + local rvar = string.sub(w,3,-2) + local rval = ( deref(rvar) or "nil" ) + str = string.gsub (str, w, rval) + end + return (str) end -- Removes the linenum line from str and replaces it with line. -- cgit v1.2.3