important stuff first please
This commit is contained in:
parent
eed777ebfd
commit
daad54a5e1
|
@ -11,37 +11,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getU16BE(r io.Reader, b []byte) (uint16, error) {
|
|
||||||
_, err := io.ReadFull(r, b[0:2])
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
return uint16(b[0])<<8 + uint16(b[1]), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getBytes(r io.Reader, b []byte) ([]byte, error) {
|
|
||||||
n, err := getU16BE(r, b)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if int(n) > len(b) {
|
|
||||||
return nil, errors.New("bytes too long for buffer")
|
|
||||||
}
|
|
||||||
_, err = io.ReadFull(r, b[0:n])
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return b[0:n], nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getString(r io.Reader, b []byte) (string, error) {
|
|
||||||
b, err := getBytes(r, b)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return string(b), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// readAuthority reads the X authority file for the DISPLAY.
|
// readAuthority reads the X authority file for the DISPLAY.
|
||||||
// If hostname == "" or hostname == "localhost",
|
// If hostname == "" or hostname == "localhost",
|
||||||
// then use the system's hostname (as returned by os.Hostname) instead.
|
// then use the system's hostname (as returned by os.Hostname) instead.
|
||||||
|
@ -111,3 +80,34 @@ func readAuthority(hostname, display string) (
|
||||||
}
|
}
|
||||||
panic("unreachable")
|
panic("unreachable")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getU16BE(r io.Reader, b []byte) (uint16, error) {
|
||||||
|
_, err := io.ReadFull(r, b[0:2])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
return uint16(b[0])<<8 + uint16(b[1]), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func getBytes(r io.Reader, b []byte) ([]byte, error) {
|
||||||
|
n, err := getU16BE(r, b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if int(n) > len(b) {
|
||||||
|
return nil, errors.New("bytes too long for buffer")
|
||||||
|
}
|
||||||
|
_, err = io.ReadFull(r, b[0:n])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[0:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func getString(r io.Reader, b []byte) (string, error) {
|
||||||
|
b, err := getBytes(r, b)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return string(b), nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue