1
1
/*
2
- * Copyright (c) 2005, 2021 , Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 2005, 2023 , Oracle and/or its affiliates. All rights reserved.
3
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
4
*
5
5
* This code is free software; you can redistribute it and/or modify it
31
31
#include <stdlib.h>
32
32
#include <Wincon.h>
33
33
34
- static HANDLE hStdOut = INVALID_HANDLE_VALUE ;
35
- static HANDLE hStdIn = INVALID_HANDLE_VALUE ;
36
34
JNIEXPORT jboolean JNICALL
37
35
Java_java_io_Console_istty (JNIEnv * env , jclass cls )
38
36
{
39
- if (hStdIn == INVALID_HANDLE_VALUE &&
40
- (hStdIn = GetStdHandle (STD_INPUT_HANDLE )) == INVALID_HANDLE_VALUE ) {
41
- return JNI_FALSE ;
42
- }
43
- if (hStdOut == INVALID_HANDLE_VALUE &&
44
- (hStdOut = GetStdHandle (STD_OUTPUT_HANDLE )) == INVALID_HANDLE_VALUE ) {
37
+ HANDLE hStdOut = GetStdHandle (STD_OUTPUT_HANDLE );
38
+ HANDLE hStdIn = GetStdHandle (STD_INPUT_HANDLE );
39
+
40
+ if (hStdIn == INVALID_HANDLE_VALUE ||
41
+ hStdOut == INVALID_HANDLE_VALUE ) {
45
42
return JNI_FALSE ;
46
43
}
44
+
47
45
if (GetFileType (hStdIn ) != FILE_TYPE_CHAR ||
48
- GetFileType (hStdOut ) != FILE_TYPE_CHAR )
46
+ GetFileType (hStdOut ) != FILE_TYPE_CHAR ) {
49
47
return JNI_FALSE ;
48
+ }
49
+
50
50
return JNI_TRUE ;
51
51
}
52
52
@@ -63,24 +63,3 @@ Java_java_io_Console_encoding(JNIEnv *env, jclass cls)
63
63
sprintf (buf , "cp%d" , cp );
64
64
return JNU_NewStringPlatform (env , buf );
65
65
}
66
-
67
- JNIEXPORT jboolean JNICALL
68
- Java_java_io_Console_echo (JNIEnv * env , jclass cls , jboolean on )
69
- {
70
- DWORD fdwMode ;
71
- jboolean old ;
72
- if (! GetConsoleMode (hStdIn , & fdwMode )) {
73
- JNU_ThrowIOExceptionWithLastError (env , "GetConsoleMode failed" );
74
- return !on ;
75
- }
76
- old = (fdwMode & ENABLE_ECHO_INPUT ) != 0 ;
77
- if (on ) {
78
- fdwMode |= ENABLE_ECHO_INPUT ;
79
- } else {
80
- fdwMode &= ~ENABLE_ECHO_INPUT ;
81
- }
82
- if (! SetConsoleMode (hStdIn , fdwMode )) {
83
- JNU_ThrowIOExceptionWithLastError (env , "SetConsoleMode failed" );
84
- }
85
- return old ;
86
- }
0 commit comments