Advertisement
Guest User

OPERATIVOS2.0

a guest
Jul 16th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. void* serializar_status_clave(t_status_clave* status_clave, int* tamanio) {
  2.         int len_instancia = strlen_null(status_clave->instancia);
  3.         int len_instancia_now = strlen_null(status_clave->instancia_now);
  4.         int len_valor = strlen_null(status_clave->valor);
  5.  
  6.         *tamanio = len_instancia + len_instancia_now + len_valor + 3 * sizeof(int);
  7.  
  8.         void *buffer = malloc(*tamanio);
  9.         void *tmp = buffer;
  10.  
  11.         memcpy(tmp, &len_instancia, sizeof(int));
  12.         tmp = tmp + sizeof(int);
  13.         memcpy(tmp, status_clave->instancia, len_instancia);
  14.         tmp = tmp + len_instancia * sizeof(char);
  15.  
  16.         memcpy(tmp, &len_instancia_now, sizeof(int));
  17.         tmp = tmp + sizeof(int);
  18.         memcpy(tmp, status_clave->instancia_now, len_instancia_now);
  19.         tmp = tmp + len_instancia_now * sizeof(char);
  20.  
  21.         memcpy(tmp, &len_valor, sizeof(int));
  22.         tmp = tmp + sizeof(int);
  23.         memcpy(tmp, status_clave->valor, len_valor);
  24.         tmp = tmp + len_valor * sizeof(char);
  25.  
  26.         return buffer;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement