OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
time
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:58 PM
rwxr-xr-x
📄
embed.go
304 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
example_test.go
21.73 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
export_android_test.go
438 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
export_test.go
3.79 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
export_windows_test.go
514 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
format.go
46.22 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
format_test.go
30.5 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
genzabbrs.go
2.95 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
internal_test.go
2.21 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
mono_test.go
7.51 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sleep.go
5.6 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sleep_test.go
18.44 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_plan9.go
1016 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_unix.go
1.01 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_windows.go
1.1 KB
12/01/2022 06:13:01 PM
rw-r--r--
📁
testdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
tick.go
2.31 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
tick_test.go
4.01 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
time.go
47.93 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
time_test.go
52.34 KB
12/01/2022 06:13:01 PM
rw-r--r--
📁
tzdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
tzdata_test.go
2.46 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo.go
17.2 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_abbrs_windows.go
10.34 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_android.go
2.19 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_android_test.go
386 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_goroot.go
348 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_ios.go
1.05 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_js.go
1.52 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_plan9.go
2.68 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_read.go
14.26 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_test.go
9.82 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_unix.go
1.64 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_unix_test.go
2.31 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_windows.go
6.67 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zoneinfo_windows_test.go
1.9 KB
12/01/2022 06:13:01 PM
rw-r--r--
Editing: zoneinfo_android.go
Close
// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Parse the "tzdata" packed timezone file used on Android. // The format is lifted from ZoneInfoDB.java and ZoneInfo.java in // java/libcore/util in the AOSP. package time import ( "errors" "syscall" ) var platformZoneSources = []string{ "/system/usr/share/zoneinfo/tzdata", "/data/misc/zoneinfo/current/tzdata", } func initLocal() { // TODO(elias.naur): getprop persist.sys.timezone localLoc = *UTC } func init() { loadTzinfoFromTzdata = androidLoadTzinfoFromTzdata } var allowGorootSource = true func gorootZoneSource(goroot string) (string, bool) { if goroot == "" || !allowGorootSource { return "", false } return goroot + "/lib/time/zoneinfo.zip", true } func androidLoadTzinfoFromTzdata(file, name string) ([]byte, error) { const ( headersize = 12 + 3*4 namesize = 40 entrysize = namesize + 3*4 ) if len(name) > namesize { return nil, errors.New(name + " is longer than the maximum zone name length (40 bytes)") } fd, err := open(file) if err != nil { return nil, err } defer closefd(fd) buf := make([]byte, headersize) if err := preadn(fd, buf, 0); err != nil { return nil, errors.New("corrupt tzdata file " + file) } d := dataIO{buf, false} if magic := d.read(6); string(magic) != "tzdata" { return nil, errors.New("corrupt tzdata file " + file) } d = dataIO{buf[12:], false} indexOff, _ := d.big4() dataOff, _ := d.big4() indexSize := dataOff - indexOff entrycount := indexSize / entrysize buf = make([]byte, indexSize) if err := preadn(fd, buf, int(indexOff)); err != nil { return nil, errors.New("corrupt tzdata file " + file) } for i := 0; i < int(entrycount); i++ { entry := buf[i*entrysize : (i+1)*entrysize] // len(name) <= namesize is checked at function entry if string(entry[:len(name)]) != name { continue } d := dataIO{entry[namesize:], false} off, _ := d.big4() size, _ := d.big4() buf := make([]byte, size) if err := preadn(fd, buf, int(off+dataOff)); err != nil { return nil, errors.New("corrupt tzdata file " + file) } return buf, nil } return nil, syscall.ENOENT }