diff --git a/CMakeLists.txt b/CMakeLists.txt index b5ee5ab..b5531e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,4 @@ project(rex) set(CMAKE_CXX_STANDARD 14) -add_executable(rex Rex.cpp src/json_support/jsoncpp/json.h src/json_support/jsoncpp/json-forwards.h src/json_support/jsoncpp/jsoncpp.cpp src/logger/Logger.cpp src/logger/Logger.h src/json_support/JSON.cpp src/json_support/JSON.h src/misc/helpers.cpp src/misc/helpers.h src/config/Config.cpp src/config/Config.h src/suite/Suite.cpp src/suite/Suite.h src/suite/Unit.cpp src/suite/Unit.h src/shells/shells.cpp src/shells/shells.h src/plan/Plan.cpp src/plan/Plan.h src/plan/Task.cpp src/plan/Task.h src/lcpex/liblcpex.h src/lcpex/liblcpex.cpp src/lcpex/vpty/libclpex_tty.h src/lcpex/vpty/libclpex_tty.cpp src/lcpex/Contexts.h src/lcpex/Contexts.cpp src/lcpex/helpers.h src/lcpex/string_expansion/string_expansion.h src/lcpex/string_expansion/string_expansion.cpp src/lcpex/vpty/pty_fork_mod/pty_fork.h src/lcpex/vpty/pty_fork_mod/pty_fork.cpp src/lcpex/vpty/pty_fork_mod/pty_master_open.h src/lcpex/vpty/pty_fork_mod/pty_master_open.cpp src/lcpex/vpty/pty_fork_mod/tty_functions.h src/lcpex/vpty/pty_fork_mod/tty_functions.cpp ) +add_executable(rex Rex.cpp src/json_support/jsoncpp/json.h src/json_support/jsoncpp/json-forwards.h src/json_support/jsoncpp/jsoncpp.cpp src/logger/Logger.cpp src/logger/Logger.h src/json_support/JSON.cpp src/json_support/JSON.h src/misc/helpers.cpp src/misc/helpers.h src/config/Config.cpp src/config/Config.h src/suite/Suite.cpp src/suite/Suite.h src/suite/Unit.cpp src/suite/Unit.h src/shells/shells.cpp src/shells/shells.h src/plan/Plan.cpp src/plan/Plan.h src/plan/Task.cpp src/plan/Task.h src/lcpex/helpers.h src/lcpex/helpers.cpp src/lcpex/liblcpex.h src/lcpex/liblcpex.cpp src/lcpex/vpty/libclpex_tty.h src/lcpex/vpty/libclpex_tty.cpp src/lcpex/Contexts.h src/lcpex/Contexts.cpp src/lcpex/helpers.h src/lcpex/string_expansion/string_expansion.h src/lcpex/string_expansion/string_expansion.cpp src/lcpex/vpty/pty_fork_mod/pty_fork.h src/lcpex/vpty/pty_fork_mod/pty_fork.cpp src/lcpex/vpty/pty_fork_mod/pty_master_open.h src/lcpex/vpty/pty_fork_mod/pty_master_open.cpp src/lcpex/vpty/pty_fork_mod/tty_functions.h src/lcpex/vpty/pty_fork_mod/tty_functions.cpp ) diff --git a/src/lcpex/helpers.cpp b/src/lcpex/helpers.cpp new file mode 100644 index 0000000..deb4a0d --- /dev/null +++ b/src/lcpex/helpers.cpp @@ -0,0 +1,15 @@ +#include "helpers.h" + +ssize_t write_all(int fd, const void *buf, size_t count) { + const char *p = (const char *)buf; + while (count > 0) { + ssize_t written = write(fd, p, count); + if (written == -1) { + if (errno == EINTR || errno == EAGAIN) continue; // Retry + return -1; // Other errors + } + count -= written; + p += written; + } + return 0; +} \ No newline at end of file diff --git a/src/lcpex/helpers.h b/src/lcpex/helpers.h index 802a8da..05528ef 100644 --- a/src/lcpex/helpers.h +++ b/src/lcpex/helpers.h @@ -1,6 +1,9 @@ #ifndef LCPEX_HELPERS_H #define LCPEX_HELPERS_H +#include +#include "errno.h" + // helper for sanity enum PIPE_ENDS { READ_END = 0, @@ -16,18 +19,6 @@ enum CHILD_PIPE_NAMES { #define BUFFER_SIZE 1024 -ssize_t write_all(int fd, const void *buf, size_t count) { - const char *p = (const char *)buf; - while (count > 0) { - ssize_t written = write(fd, p, count); - if (written == -1) { - if (errno == EINTR || errno == EAGAIN) continue; // Retry - return -1; // Other errors - } - count -= written; - p += written; - } - return 0; -} +ssize_t write_all(int fd, const void *buf, size_t count); #endif //LCPEX_HELPERS_H diff --git a/src/misc/helpers.cpp b/src/misc/helpers.cpp index 0e4e64d..e25ff82 100644 --- a/src/misc/helpers.cpp +++ b/src/misc/helpers.cpp @@ -138,17 +138,3 @@ std::string get_absolute_path(const std::string &relative_path) return std::string(resolved_path); } - -ssize_t write_all(int fd, const void *buf, size_t count) { - const char *p = (const char *)buf; - while (count > 0) { - ssize_t written = write(fd, p, count); - if (written == -1) { - if (errno == EINTR || errno == EAGAIN) continue; // Retry - return -1; // Other errors - } - count -= written; - p += written; - } - return 0; -} \ No newline at end of file diff --git a/src/misc/helpers.h b/src/misc/helpers.h index af669bb..7fb8a7d 100644 --- a/src/misc/helpers.h +++ b/src/misc/helpers.h @@ -67,6 +67,4 @@ const char * command2args( std::string input_string ); */ std::string get_absolute_path(const std::string &relative_path); -ssize_t write_all(int fd, const void *buf, size_t count); - #endif //REX_HELPERS_H