summaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/lib/pq/user_windows.go
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2015-07-23 11:21:54 -0800
committerCorey Hulen <corey@hulen.com>2015-07-23 11:21:54 -0800
commitb813234f4cc38e72bb94556d3a4acdcde5071468 (patch)
treef9a0eb8f9596c91531c6997617b4dd66e05dd317 /Godeps/_workspace/src/github.com/lib/pq/user_windows.go
parent32e8dddd0cd8532e45f89290a154d5d7911c16dd (diff)
parent98751a4f65a656839dc3724e72e672b585cb18c9 (diff)
downloadchat-b813234f4cc38e72bb94556d3a4acdcde5071468.tar.gz
chat-b813234f4cc38e72bb94556d3a4acdcde5071468.tar.bz2
chat-b813234f4cc38e72bb94556d3a4acdcde5071468.zip
Merge pull request #170 from mattermost/mm-1420
Fixes mm-1420 adding initial support for postgres
Diffstat (limited to 'Godeps/_workspace/src/github.com/lib/pq/user_windows.go')
-rw-r--r--Godeps/_workspace/src/github.com/lib/pq/user_windows.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/lib/pq/user_windows.go b/Godeps/_workspace/src/github.com/lib/pq/user_windows.go
new file mode 100644
index 000000000..2b691267b
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/lib/pq/user_windows.go
@@ -0,0 +1,27 @@
+// Package pq is a pure Go Postgres driver for the database/sql package.
+package pq
+
+import (
+ "path/filepath"
+ "syscall"
+)
+
+// Perform Windows user name lookup identically to libpq.
+//
+// The PostgreSQL code makes use of the legacy Win32 function
+// GetUserName, and that function has not been imported into stock Go.
+// GetUserNameEx is available though, the difference being that a
+// wider range of names are available. To get the output to be the
+// same as GetUserName, only the base (or last) component of the
+// result is returned.
+func userCurrent() (string, error) {
+ pw_name := make([]uint16, 128)
+ pwname_size := uint32(len(pw_name)) - 1
+ err := syscall.GetUserNameEx(syscall.NameSamCompatible, &pw_name[0], &pwname_size)
+ if err != nil {
+ return "", ErrCouldNotDetectUsername
+ }
+ s := syscall.UTF16ToString(pw_name)
+ u := filepath.Base(s)
+ return u, nil
+}