diff --git a/src/libipc/platform/posix/shm_posix.cpp b/src/libipc/platform/posix/shm_posix.cpp index 7ce90428..c111aa54 100644 --- a/src/libipc/platform/posix/shm_posix.cpp +++ b/src/libipc/platform/posix/shm_posix.cpp @@ -45,7 +45,7 @@ namespace ipc { namespace shm { id_t acquire(char const * name, std::size_t size, unsigned mode) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail acquire: name is empty\n"); return nullptr; } @@ -185,7 +185,7 @@ void remove(id_t id) { } void remove(char const * name) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail remove: name is empty\n"); return; } diff --git a/src/libipc/platform/win/shm_win.cpp b/src/libipc/platform/win/shm_win.cpp index 4979e001..75c2a95c 100755 --- a/src/libipc/platform/win/shm_win.cpp +++ b/src/libipc/platform/win/shm_win.cpp @@ -28,7 +28,7 @@ namespace ipc { namespace shm { id_t acquire(char const * name, std::size_t size, unsigned mode) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail acquire: name is empty\n"); return nullptr; } @@ -124,7 +124,7 @@ void remove(id_t id) { } void remove(char const * name) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail remove: name is empty\n"); return; } diff --git a/src/libipc/queue.h b/src/libipc/queue.h index f66860b8..bb925ce3 100755 --- a/src/libipc/queue.h +++ b/src/libipc/queue.h @@ -18,6 +18,7 @@ #include "libipc/utility/log.h" #include "libipc/platform/detail.h" #include "libipc/circ/elem_def.h" +#include "libipc/memory/resource.h" namespace ipc { namespace detail { @@ -29,7 +30,7 @@ class queue_conn { template Elems* open(char const * name) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail open waiter: name is empty!\n"); return nullptr; } diff --git a/src/libipc/shm.cpp b/src/libipc/shm.cpp index c8763a84..08454741 100755 --- a/src/libipc/shm.cpp +++ b/src/libipc/shm.cpp @@ -69,7 +69,7 @@ void handle::sub_ref() noexcept { } bool handle::acquire(char const * name, std::size_t size, unsigned mode) { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail acquire: name is empty\n"); return false; } diff --git a/src/libipc/sync/condition.cpp b/src/libipc/sync/condition.cpp index b97d09be..36896a7e 100644 --- a/src/libipc/sync/condition.cpp +++ b/src/libipc/sync/condition.cpp @@ -50,7 +50,7 @@ bool condition::valid() const noexcept { } bool condition::open(char const *name) noexcept { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail condition open: name is empty\n"); return false; } diff --git a/src/libipc/sync/mutex.cpp b/src/libipc/sync/mutex.cpp index 40aad651..91bd0bbc 100644 --- a/src/libipc/sync/mutex.cpp +++ b/src/libipc/sync/mutex.cpp @@ -50,7 +50,7 @@ bool mutex::valid() const noexcept { } bool mutex::open(char const *name) noexcept { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail mutex open: name is empty\n"); return false; } diff --git a/src/libipc/sync/semaphore.cpp b/src/libipc/sync/semaphore.cpp index 33539f10..e58e8ec4 100644 --- a/src/libipc/sync/semaphore.cpp +++ b/src/libipc/sync/semaphore.cpp @@ -48,7 +48,7 @@ bool semaphore::valid() const noexcept { } bool semaphore::open(char const *name, std::uint32_t count) noexcept { - if (name == nullptr || name[0] == '\0') { + if (!is_valid_string(name)) { ipc::error("fail semaphore open: name is empty\n"); return false; }