129
129
void put_length(uchar *pos, uint32_t length);
130
130
inline void get_ptr(uchar **str)
132
memcpy_fixed((uchar*) str,ptr+packlength,sizeof(uchar*));
132
memcpy((uchar*) str,ptr+packlength,sizeof(uchar*));
134
134
inline void get_ptr(uchar **str, uint row_offset)
136
memcpy_fixed((uchar*) str,ptr+packlength+row_offset,sizeof(char*));
136
memcpy((uchar*) str,ptr+packlength+row_offset,sizeof(char*));
138
138
inline void set_ptr(uchar *length, uchar *data)
140
140
memcpy(ptr,length,packlength);
141
memcpy_fixed(ptr+packlength,&data,sizeof(char*));
141
memcpy(ptr+packlength,&data,sizeof(char*));
143
143
void set_ptr_offset(my_ptrdiff_t ptr_diff, uint32_t length, uchar *data)
145
145
uchar *ptr_ofs= ADD_TO_PTR(ptr,ptr_diff,uchar*);
146
146
store_length(ptr_ofs, packlength, length);
147
memcpy_fixed(ptr_ofs+packlength,&data,sizeof(char*));
147
memcpy(ptr_ofs+packlength,&data,sizeof(char*));
149
149
inline void set_ptr(uint32_t length, uchar *data)
165
165
tmp=(uchar*) value.ptr();
166
memcpy_fixed(ptr+packlength,&tmp,sizeof(char*));
166
memcpy(ptr+packlength,&tmp,sizeof(char*));
169
169
virtual uchar *pack(uchar *to, const uchar *from,