mirror of
https://github.com/Lizonghang/prima.cpp.git
synced 2025-09-05 22:59:06 +00:00
fix: update serialization and deserialization for next_ip in device_info
Signed-off-by: DeEMO <yzzxrx@gmail.com>
This commit is contained in:
parent
4b36aef157
commit
0ad009a2f4
1 changed files with 16 additions and 1 deletions
|
@ -2358,15 +2358,17 @@ size_t serialize(const struct device_info * dev_info, char ** buffer) {
|
|||
// calculate total size for serialized buffer
|
||||
size_t device_name_len = strlen(dev_info->device_name) + 1;
|
||||
size_t device_os_len = strlen(dev_info->device_os) + 1;
|
||||
size_t next_ip_len = strlen(dev_info->next_ip) + 1;
|
||||
size_t cpu_name_len = strlen(dev_info->cpu_props.name) + 1;
|
||||
size_t cpu_description_len = strlen(dev_info->cpu_props.description) + 1;
|
||||
size_t gpu_name_len = strlen(dev_info->gpu_props.name) + 1;
|
||||
size_t gpu_description_len = strlen(dev_info->gpu_props.description) + 1;
|
||||
|
||||
size_t total_size = sizeof(uint32_t)
|
||||
+ sizeof(size_t) * 6 // for lengths of strings
|
||||
+ sizeof(size_t) * 7 // for lengths of strings
|
||||
+ device_name_len
|
||||
+ device_os_len
|
||||
+ next_ip_len
|
||||
+ cpu_name_len
|
||||
+ cpu_description_len
|
||||
+ gpu_name_len
|
||||
|
@ -2426,6 +2428,11 @@ size_t serialize(const struct device_info * dev_info, char ** buffer) {
|
|||
memcpy(ptr, dev_info->device_os, device_os_len);
|
||||
ptr += device_os_len;
|
||||
|
||||
memcpy(ptr, &next_ip_len, sizeof(size_t));
|
||||
ptr += sizeof(size_t);
|
||||
memcpy(ptr, dev_info->next_ip, next_ip_len);
|
||||
ptr += next_ip_len;
|
||||
|
||||
memcpy(ptr, &cpu_name_len, sizeof(size_t));
|
||||
ptr += sizeof(size_t);
|
||||
memcpy(ptr, dev_info->cpu_props.name, cpu_name_len);
|
||||
|
@ -2611,6 +2618,14 @@ void deserialize(const char * buffer, struct device_info * dev_info) {
|
|||
memcpy(const_cast<void*>(static_cast<const void*>(dev_info->device_os)), ptr, device_os_len);
|
||||
ptr += device_os_len;
|
||||
|
||||
// next ip
|
||||
size_t next_ip_len;
|
||||
memcpy(&next_ip_len, ptr, sizeof(size_t));
|
||||
ptr += sizeof(size_t);
|
||||
dev_info->next_ip = (char *)malloc(next_ip_len);
|
||||
memcpy(const_cast<void*>(static_cast<const void*>(dev_info->next_ip)), ptr, next_ip_len);
|
||||
ptr += next_ip_len;
|
||||
|
||||
// cpu_props.name
|
||||
size_t cpu_name_len;
|
||||
memcpy(&cpu_name_len, ptr, sizeof(size_t));
|
||||
|
|
Loading…
Add table
Reference in a new issue