diff --git a/Appl/CEP/CS1/CS1_IONProc/src/CS1_ION_main.cc b/Appl/CEP/CS1/CS1_IONProc/src/CS1_ION_main.cc index c43ddca5ec02b197d85d49323164edf1d668dad6..f7f54a13b199317028544408addb48228158cb40 100644 --- a/Appl/CEP/CS1/CS1_IONProc/src/CS1_ION_main.cc +++ b/Appl/CEP/CS1/CS1_IONProc/src/CS1_ION_main.cc @@ -36,7 +36,6 @@ #include <fcntl.h> #include <pthread.h> #include <unistd.h> -#include <cstring> extern "C" { #include <lofar.h> @@ -235,18 +234,16 @@ extern "C" void lofar__fini(void); } + inline static void redirect_output() { int fd; - char file_name[32]; - char buffer[17]; + char file_name[64], block_id[17]; - getBGLpersonality()->BlockID(buffer, 16); - - if (memchr(buffer, '\0', 16) == 0) - buffer[16] = '\0'; + getBGLpersonality()->BlockID(block_id, 16); + block_id[16] = '\0'; // just in case it was not already '\0' terminated - sprintf(file_name, "run.CS1_IONProc.%s.%u", buffer, getBGLpersonality()->getPsetNum()); + sprintf(file_name, "run.CS1_IONProc.%s.%u", block_id, getBGLpersonality()->getPsetNum()); if ((fd = open(file_name, O_CREAT | O_TRUNC | O_RDWR, 0666)) < 0 || dup2(fd, 1) < 0 || dup2(fd, 2) < 0) perror("redirecting stdout/stderr");