Перекрытие буфера ввода в C
возникла проблема при программировании на языке C. Главный процесс ожидает ввода строки, но при нажатии control+c должна происходить обработка сигнала так, чтобы пользователь ввел строку, которая будем менять режим работы программы. При вводе команды в обработчик сигналов и дальнейшем вводе строки, которую я хочу обработать, первые N символов строки, где N - длина строки команды, введенной для работы обработчика сигналов, просто обрезаются. Как очистить буфер ввода или же сделать так, чтобы не было перекрытия двух вводов, fflush(stdin) не работает корректно на не-macos системах. Код прилагается. https://pastebin.com/Timw80tG. Пример ввода: Ввожу ctrl+c, затем swapreg. После этого вводится слово abcdefgHJK, обрабатывается только HJK.