diff --git a/redo/common_windows.go b/redo/common_windows.go index 3ec4ddd..65eb781 100644 --- a/redo/common_windows.go +++ b/redo/common_windows.go @@ -44,3 +44,14 @@ func getWindowText(hwnd C.HWND) string { C.LPWSTR(unsafe.Pointer(&buf[0]))) return syscall.UTF16ToString(buf) } + +func wstrToString(wstr *C.WCHAR) string { + n := C.wcslen((*C.wchar_t)(unsafe.Pointer(wstr))) + xbuf := &reflect.SliceHeader{ + Data: uintptr(unsafe.Pointer(wstr)), + Len: int(n + 1), + Cap: int(n + 1), + } + buf := (*[]uint16)(unsafe.Pointer(xbuf)) + return syscall.UTF16ToString(*buf) +} diff --git a/redo/dialog_windows.go b/redo/dialog_windows.go index 0346f56..1ca7771 100644 --- a/redo/dialog_windows.go +++ b/redo/dialog_windows.go @@ -11,18 +11,6 @@ import ( // #include "winapi_windows.h" import "C" -// TODO move to common_windows.go -func wstrToString(wstr *C.WCHAR) string { - n := C.wcslen((*C.wchar_t)(unsafe.Pointer(wstr))) - xbuf := &reflect.SliceHeader{ - Data: uintptr(unsafe.Pointer(wstr)), - Len: int(n + 1), - Cap: int(n + 1), - } - buf := (*[]uint16)(unsafe.Pointer(xbuf)) - return syscall.UTF16ToString(*buf) -} - func openFile() string { name := C.openFile() if name == nil {