logutil: pipe: Simplify clear command 80/144380/1
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 16 Aug 2017 10:36:24 +0000 (12:36 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 16 Aug 2017 10:46:18 +0000 (12:46 +0200)
Change-Id: I0c14ec2e05d62e8d197f37dd655a5892b32bb0ba

src/logutil/logutil.c

index b04d3a2..871927f 100755 (executable)
@@ -272,23 +272,19 @@ static int connect_sock(const char * path)
  */
 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