17 int m_original_stdout_fd;
21 explicit SilentMode(
bool t_silent =
true) : m_silent_mode(t_silent) {
22 if (!m_silent_mode) {
return; }
23 m_original_stdout_fd = dup(fileno(stdout));
24 m_null_fd = open(
"/dev/null", O_WRONLY);
25 dup2(m_null_fd, fileno(stdout));
29 if (!m_silent_mode) {
return; }
30 dup2(m_original_stdout_fd, fileno(stdout));
32 close(m_original_stdout_fd);