void send_default_suspend_req(void)
{
- LXT_MESSAGE* packet = (LXT_MESSAGE*)malloc(sizeof(LXT_MESSAGE));
- if(packet == NULL){
- return;
- }
- memset(packet, 0, sizeof(LXT_MESSAGE));
-
- packet->length = 0;
- packet->group = 5;
- packet->action = 15;
-
- int tmplen = HEADER_SIZE;
- char* tmp = (char*) malloc(tmplen);
+ int group = 5;
+ int action = 15;
+ char* tmp = (char*) malloc(HEADER_SIZE);
if (!tmp)
return;
- memcpy(tmp, packet, HEADER_SIZE);
+ memset(tmp, 0, HEADER_SIZE);
+ memcpy(tmp + 2, &group, 1);
+ memcpy(tmp + 3, &action , 1);
- ijmsg_send_to_evdi(g_fd[fdtype_device], IJTYPE_SUSPEND, (const char*) tmp, tmplen);
+ ijmsg_send_to_evdi(g_fd[fdtype_device], IJTYPE_SUSPEND, (const char*) tmp, HEADER_SIZE);
if (tmp)
free(tmp);
- if (packet)
- free(packet);
}
{
char* readbuf = NULL;
int readed = recv_data(fd, &readbuf, HEADER_SIZE);
- if (readed <= 0)
+ if (readed <= 0){
+ if (readbuf)
+ free(readbuf);
return 0;
+ }
memcpy((void*) packet, (void*) readbuf, HEADER_SIZE);
if (readbuf)
fd = open(DEVICE_NODE_PATH, O_RDWR); //O_CREAT|O_WRONLY|O_TRUNC.
LOGDEBUG("evdi open fd is %d", fd);
- if (fd <= 0) {
+ if (fd < 0) {
LOGERR("open %s fail", DEVICE_NODE_PATH);
- return fd;
}
return fd;
*ret_fd = -1;
fd = open_device();
- if (fd <= 0)
+ if (fd < 0)
return false;
if (!set_nonblocking(fd))
char tmp[ID_SIZE];
memset(tmp, 0, ID_SIZE);
- strncpy(tmp, cat, 10);
+ strncpy(tmp, cat, ID_SIZE - 1);
// TODO: need to make fragmented transmission
if (len + ID_SIZE > __MAX_BUF_SIZE) {