aboutsummaryrefslogtreecommitdiff
path: root/util/util.go
diff options
context:
space:
mode:
authorJoseph Richey <joerichey@google.com>2017-07-17 18:26:19 -0700
committerGitHub <noreply@github.com>2017-07-17 18:26:19 -0700
commit3d08d9f6891db3ca94337e9b987ef62cba535fe1 (patch)
treeca9476a0aecaf79cfc8716875db073ea54d5f748 /util/util.go
parent6f32bbc8bf51d615ef23ed37aa40910ec23cd587 (diff)
parent1a4a020ad5766fce3b3ad719d85593a3e8159733 (diff)
Merge pull request #21 from google/fix
Add PAM package
Diffstat (limited to 'util/util.go')
-rw-r--r--util/util.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/util/util.go b/util/util.go
index 32e5c06..792b66c 100644
--- a/util/util.go
+++ b/util/util.go
@@ -37,6 +37,18 @@ func Ptr(slice []byte) unsafe.Pointer {
return unsafe.Pointer(&slice[0])
}
+// ByteSlice takes a pointer to some data and views it as a slice of bytes.
+// Note, indexing into this slice is unsafe.
+func ByteSlice(ptr unsafe.Pointer) []byte {
+ return (*[1 << 30]byte)(ptr)[:]
+}
+
+// PointerSlice takes a pointer to an array of pointers and views it as a slice
+// of pointers. Note, indexing into this slice is unsafe.
+func PointerSlice(ptr unsafe.Pointer) []unsafe.Pointer {
+ return (*[1 << 30]unsafe.Pointer)(ptr)[:]
+}
+
// Index returns the first index i such that inVal == inArray[i].
// ok is true if we find a match, false otherwise.
func Index(inVal int64, inArray []int64) (index int, ok bool) {