]>
git.madduck.net Git - etc/awesome.git/blobdiff - luatz/tzfile.lua
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
local tz_info_mt = require "luatz.tzinfo".tz_info_mt
local tz_info_mt = require "luatz.tzinfo".tz_info_mt
+local tt_info_mt = require "luatz.tzinfo".tt_info_mt
+
local function read_int32be ( fd )
local data , err = fd:read ( 4 )
local function read_int32be ( fd )
local data , err = fd:read ( 4 )
local fifteen_nulls = ("\0"):rep(15)
local function read_tz ( fd )
local fifteen_nulls = ("\0"):rep(15)
local function read_tz ( fd )
- assert ( fd:read(4) == "TZif" )
+ assert ( fd:read(4) == "TZif" , "Invalid TZ file" )
local version = assert ( fd:read(1) )
if version == "\0" or version == "2" then
local MIN_TIME = -2^32+1
local version = assert ( fd:read(1) )
if version == "\0" or version == "2" then
local MIN_TIME = -2^32+1
v.abbr = abbreviations:sub ( v.abbrind+1 , v.abbrind+3 )
v.isstd = isstd [ i ] or false
v.isgmt = isgmt [ i ] or false
v.abbr = abbreviations:sub ( v.abbrind+1 , v.abbrind+3 )
v.isstd = isstd [ i ] or false
v.isgmt = isgmt [ i ] or false
+ setmetatable ( v , tt_info_mt )
end
local function read_tzfile ( path )
end
local function read_tzfile ( path )
- local fd = assert ( io.open ( path ) )
+ local fd = assert ( io.open ( path , "rb" ) )
local tzinfo = read_tz ( fd )
fd:close ( )
return tzinfo
local tzinfo = read_tz ( fd )
fd:close ( )
return tzinfo