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