equal
deleted
inserted
replaced
99 fprintf(stderr, "Failed to get SDO request state: %s\n", |
99 fprintf(stderr, "Failed to get SDO request state: %s\n", |
100 strerror(errno)); |
100 strerror(errno)); |
101 |
101 |
102 if (data.size) { // new data waiting to be copied |
102 if (data.size) { // new data waiting to be copied |
103 if (req->mem_size < data.size) { |
103 if (req->mem_size < data.size) { |
104 if (req->data) |
104 fprintf(stderr, "Received %u bytes do not fit info SDO data" |
105 free(req->data); |
105 " memory (%u bytes)!\n", data.size, req->mem_size); |
106 req->data = malloc(data.size); |
106 return EC_REQUEST_ERROR; |
107 if (!req->data) { |
|
108 req->mem_size = 0; |
|
109 fprintf(stderr, "Failed to allocate %u bytes of SDO data" |
|
110 " memory!\n", data.size); |
|
111 return EC_REQUEST_ERROR; |
|
112 } |
|
113 req->mem_size = data.size; |
|
114 } |
107 } |
115 |
108 |
116 data.data = req->data; |
109 data.data = req->data; |
117 |
110 |
118 if (ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_DATA, |
111 if (ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_DATA, |