From 2aff5f12d83011dd1f9aeb358eb851b28668cf60 Mon Sep 17 00:00:00 2001 From: Dave Cheney Date: Mon, 7 Jul 2014 10:24:36 +1000 Subject: [PATCH] go.crypt/ssh/terminal: declare TCGETS, TCSETS constants locally. Currently the ssh/terminal package cannot be compiled under gccgo. Even though gccgo may be running on linux, its syscall package is slightly different and does not contain these constants. This proposal resolves the issue by declaring the two constants locally, as we've done for the *BSDs. LGTM=hanwen, iant R=hanwen, iant, gobot CC=golang-codereviews https://golang.org/cl/101670043 --- ssh/terminal/util_linux.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ssh/terminal/util_linux.go b/ssh/terminal/util_linux.go index 283144b..5883b22 100644 --- a/ssh/terminal/util_linux.go +++ b/ssh/terminal/util_linux.go @@ -2,11 +2,10 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build linux - package terminal -import "syscall" - -const ioctlReadTermios = syscall.TCGETS -const ioctlWriteTermios = syscall.TCSETS +// These constants are declared here, rather than importing +// them from the syscall package as some syscall packages, even +// on linux, for example gccgo, do not declare them. +const ioctlReadTermios = 0x5401 // syscall.TCGETS +const ioctlWriteTermios = 0x5402 // syscall.TCSETS