Changeset 331 in flair-src for trunk/lib/FlairSensorActuator


Ignore:
Timestamp:
10/01/19 16:45:02 (5 years ago)
Author:
Sanahuja Guillaume
Message:

resolve aligment trap bug

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/FlairSensorActuator/src/VrpnClient_impl.cpp

    r330 r331  
    131131      liteObject_t tmp;
    132132      tmp.vrpnobject = obj;
    133       tmp.id = liteObjects.size();
     133      uint16_t id=liteObjects.size();
    134134      mutex->GetMutex();
    135135      liteObjects.push_back(tmp);
     
    137137      //Printf("%i %s\n",tmp.id,obj->self->ObjectName().c_str());
    138138     
    139       char char_array[obj->self->ObjectName().length() + 2];//id coded on 16bits
    140       strcpy(char_array, obj->self->ObjectName().c_str());
    141       uint16_t* idPtr=(uint16_t*)&char_array[obj->self->ObjectName().length()];
    142       *idPtr=tmp.id;
    143       dataSocket->HostToNetwork((char*)idPtr,sizeof(uint16_t));
    144       dataSocket->SendMessage(char_array,obj->self->ObjectName().length() + 2);
     139      char char_array[obj->self->ObjectName().length() + sizeof(id)];
     140      strcpy(char_array, obj->self->ObjectName().c_str());
     141      dataSocket->HostToNetwork((char*)(&id),sizeof(id));
     142      memcpy(&char_array[obj->self->ObjectName().length()],&id,sizeof(id));
     143      dataSocket->SendMessage(char_array,obj->self->ObjectName().length() + sizeof(id));
    145144    }else {
    146145      self->Warn("too much trackables for vrpnlite connection, not adding %s\n",obj->self->ObjectName().c_str());
Note: See TracChangeset for help on using the changeset viewer.