aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Yano <takashi.yano@nifty.ne.jp>2022-03-02 08:35:09 +0900
committerTakashi Yano <takashi.yano@nifty.ne.jp>2022-03-02 08:47:03 +0900
commit2b4d4728f23408308dbb3046f6e17d09039f3b50 (patch)
tree8ec1151a90fd7e3186f94e0182db50a04bc57d09
parent3e4dd6cc48d22ad2d2a522bb3d647fb6a65ff4f9 (diff)
downloadnewlib-2b4d4728f23408308dbb3046f6e17d09039f3b50.zip
newlib-2b4d4728f23408308dbb3046f6e17d09039f3b50.tar.gz
newlib-2b4d4728f23408308dbb3046f6e17d09039f3b50.tar.bz2
Cygwin: console: Stop to create struct instance which is not needed.
- In fhandler_console::cons_master_thread(), a struct which has only a static function is used. In this case, struct instance is not necessary. So with this patch, the static function is invoked without creating instance.
-rw-r--r--winsup/cygwin/fhandler_console.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 920dd4b..2a4aa7a 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -192,13 +192,13 @@ fhandler_console::cons_master_thread (handle_set_t *p, tty *ttyp)
during the process. Additional space
should be left for writeback fix. */
const int inrec_size = INREC_SIZE + additional_space;
- struct
+ struct m
{
inline static size_t bytes (size_t n)
{
return sizeof (INPUT_RECORD) * n;
}
- } m;
+ };
termios &ti = ttyp->ti;
int processed_up_to = -1;
while (con.owner == myself->pid)
@@ -227,7 +227,7 @@ fhandler_console::cons_master_thread (handle_set_t *p, tty *ttyp)
ReadConsoleInputW (p->input_handle,
input_rec + total_read, incr, &n);
/* Discard oldest n events. */
- memmove (input_rec, input_rec + n, m.bytes (total_read));
+ memmove (input_rec, input_rec + n, m::bytes (total_read));
processed_up_to -= n;
nowait = true;
}
@@ -307,7 +307,7 @@ remove_record:
{ /* Remove corresponding record. */
if (total_read > i + 1)
memmove (input_rec + i, input_rec + i + 1,
- m.bytes (total_read - i - 1));
+ m::bytes (total_read - i - 1));
total_read--;
i--;
}
@@ -325,21 +325,21 @@ remove_record:
if (n < total_read)
break; /* Someone has read input without acquiring
input_mutex. ConEmu cygwin-connector? */
- if (memcmp (input_rec, tmp, m.bytes (total_read)) == 0)
+ if (memcmp (input_rec, tmp, m::bytes (total_read)) == 0)
break; /* OK */
/* Try to fix */
DWORD incr = n - total_read;
DWORD ofst;
for (ofst = 1; ofst <= incr; ofst++)
- if (memcmp (input_rec, tmp + ofst, m.bytes (total_read)) == 0)
+ if (memcmp (input_rec, tmp + ofst, m::bytes (total_read)) == 0)
{
ReadConsoleInputW (p->input_handle, tmp, inrec_size, &n);
- memcpy (input_rec, tmp + ofst, m.bytes (total_read));
- memcpy (input_rec + total_read, tmp, m.bytes (ofst));
+ memcpy (input_rec, tmp + ofst, m::bytes (total_read));
+ memcpy (input_rec + total_read, tmp, m::bytes (ofst));
if (n > ofst + total_read)
memcpy (input_rec + total_read + ofst,
tmp + ofst + total_read,
- m.bytes (n - (ofst + total_read)));
+ m::bytes (n - (ofst + total_read)));
total_read = n;
break;
}