Bugfixes part 3 #209
@@ -270,8 +270,8 @@ PIInit::~PIInit() {
|
||||
mach_port_deallocate(mach_task_self(), __pi_mac_clock);
|
||||
# endif
|
||||
if (PRIVATE->delete_locs) {
|
||||
if (__syslocname__) delete __syslocname__;
|
||||
if (__sysoemname__) delete __sysoemname__;
|
||||
if (__syslocname__) delete[] __syslocname__;
|
||||
if (__sysoemname__) delete[] __sysoemname__;
|
||||
}
|
||||
# ifdef PIP_ICU
|
||||
u_cleanup();
|
||||
|
||||
@@ -124,8 +124,8 @@ ssize_t PICAN::readDevice(void * read_to, ssize_t max_size) {
|
||||
#ifdef PIP_CAN
|
||||
if (sock == -1) return -1;
|
||||
// piCout << "PICAN read";
|
||||
can_frame frame;
|
||||
ssize_t ret = 0;
|
||||
can_frame frame = {};
|
||||
ssize_t ret = 0;
|
||||
if (PRIVATE->event.wait(sock)) ret = ::read(sock, &frame, sizeof(can_frame));
|
||||
if (ret < 0) { /*piCoutObj << "Error while read CAN frame " << ret;*/
|
||||
return -1;
|
||||
|
||||
@@ -251,6 +251,7 @@ int PISharedMemory::read(void * read_to, int max_size) {
|
||||
|
||||
|
||||
int PISharedMemory::read(void * read_to, int max_size, int offset) {
|
||||
if (offset < 0 || max_size < 0 || offset > dsize - max_size) return -1;
|
||||
#ifdef WINDOWS
|
||||
if (!PRIVATE->data) return -1;
|
||||
CopyMemory(read_to, &(((char *)(PRIVATE->data))[offset]), max_size);
|
||||
@@ -271,6 +272,7 @@ int PISharedMemory::write(const void * data, int max_size) {
|
||||
|
||||
|
||||
int PISharedMemory::write(const void * data, int max_size, int offset) {
|
||||
if (offset < 0 || max_size < 0 || offset > dsize - max_size) return -1;
|
||||
#ifdef WINDOWS
|
||||
if (!PRIVATE->data) return -1;
|
||||
CopyMemory(&(((char *)(PRIVATE->data))[offset]), data, max_size);
|
||||
|
||||
Reference in New Issue
Block a user