{
struct termios modmodes;
- if (ioctl (fileno (stdin), TCGETA, &savemodes) < 0) return -1;
+ if (tcgetattr (fileno (stdin), &savemodes) < 0) return -1;
havemodes = 1;
modmodes.c_cc[VMIN] = 1;
modmodes.c_cc[VTIME] = 0;
- return ioctl (fileno (stdin), TCSETAW, &modmodes);
+ return tcsetattr (fileno (stdin), TCSANOW, &modmodes);
}
int tty_getchar()
{
if (!havemodes) return 0;
- return ioctl (fileno (stdin), TCSETAW, &savemodes);
+ return tcsetattr (fileno (stdin), TCSADRAIN, &savemodes);
}
#endif
const salt_t *s1 = h1->salt;
const salt_t *s2 = h2->salt;
- // 16 - 2 (since last 2 uints contain the digest)
- uint n = 14;
+ // last 2: salt_buf[10] and salt_buf[11] contain the digest (skip them)
+
+ uint n = 9; // 9 * 4 = 36 bytes (max length of ESSID)
while (n--)
{