*/
static int do_clear_pipe(int sock_fd)
{
- const int size = sizeof(struct dlog_control_msg);
- struct dlog_control_msg * const msg = calloc(1, size);
+ assert(sock_fd >= 0);
- if (!msg)
- return 0;
-
- int ret = 1;
+ struct dlog_control_msg msg = {
+ .length = sizeof(msg),
+ .request = DLOG_REQ_CLEAR,
+ .flags = 0,
+ };
- msg->length = size;
- msg->request = DLOG_REQ_CLEAR;
- msg->flags = 0;
- if (write(sock_fd, msg, size) < 0) {
+ if (write(sock_fd, &msg, msg.length) < 0) {
printf("Error: could not send a CLEAR request to logger; socket write failed\n");
- ret = 0;
+ return 0;
}
- free(msg);
- return ret;
+ return 1;
}
/**
* @brief Get buffer filled size