modify for Hydro version

Dependencies:   MODSERIAL

Fork of rosserial_mbed_lib by nucho

Revision:
5:8cd48977ec68
Parent:
3:1cf99502f396
--- a/rosserial_msgs/RequestParam.h	Wed Feb 29 23:00:21 2012 +0000
+++ b/rosserial_msgs/RequestParam.h	Sat Oct 26 15:38:35 2013 +0000
@@ -18,18 +18,19 @@
     virtual int serialize(unsigned char *outbuffer) const
     {
       int offset = 0;
-      uint32_t * length_name = (uint32_t *)(outbuffer + offset);
-      *length_name = strlen( (const char*) this->name);
+      uint32_t length_name = strlen( (const char*) this->name);
+      memcpy(outbuffer + offset, &length_name, sizeof(uint32_t));
       offset += 4;
-      memcpy(outbuffer + offset, this->name, *length_name);
-      offset += *length_name;
+      memcpy(outbuffer + offset, this->name, length_name);
+      offset += length_name;
       return offset;
     }
 
     virtual int deserialize(unsigned char *inbuffer)
     {
       int offset = 0;
-      uint32_t length_name = *(uint32_t *)(inbuffer + offset);
+      uint32_t length_name;
+      memcpy(&length_name, (inbuffer + offset), sizeof(uint32_t));
       offset += 4;
       for(unsigned int k= offset; k< offset+length_name; ++k){
           inbuffer[k-1]=inbuffer[k];
@@ -98,11 +99,11 @@
       *(outbuffer + offset++) = 0;
       *(outbuffer + offset++) = 0;
       for( uint8_t i = 0; i < strings_length; i++){
-      uint32_t * length_stringsi = (uint32_t *)(outbuffer + offset);
-      *length_stringsi = strlen( (const char*) this->strings[i]);
+      uint32_t length_stringsi = strlen( (const char*) this->strings[i]);
+      memcpy(outbuffer + offset, &length_stringsi, sizeof(uint32_t));
       offset += 4;
-      memcpy(outbuffer + offset, this->strings[i], *length_stringsi);
-      offset += *length_stringsi;
+      memcpy(outbuffer + offset, this->strings[i], length_stringsi);
+      offset += length_stringsi;
       }
       return offset;
     }
@@ -154,7 +155,8 @@
       offset += 3;
       strings_length = strings_lengthT;
       for( uint8_t i = 0; i < strings_length; i++){
-      uint32_t length_st_strings = *(uint32_t *)(inbuffer + offset);
+      uint32_t length_st_strings;
+      memcpy(&length_st_strings, (inbuffer + offset), sizeof(uint32_t));
       offset += 4;
       for(unsigned int k= offset; k< offset+length_st_strings; ++k){
           inbuffer[k-1]=inbuffer[k];
@@ -179,4 +181,5 @@
   };
 
 }
-#endif
\ No newline at end of file
+#endif
+