Guest User

Untitled

a guest
Apr 23rd, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. #ifndef STRUCT_WHO_HAS_PTR_H
  2. #define STRUCT_WHO_HAS_PTR_H
  3.  
  4. #include "test-util.h"
  5.  
  6.  
  7.  
  8. typedef struct {
  9. char *str;
  10. int i;
  11. } StructWhoHasPtr;
  12.  
  13.  
  14. void
  15. release_struct(StructWhoHasPtr *st)
  16. {
  17. printf("free st->str [\"%s\"], st->i [%d]\n", st->str, st->i);
  18. free(st->str);
  19. }
  20.  
  21.  
  22. void
  23. alloc_struct(StructWhoHasPtr *st, size_t size)
  24. {
  25. st->str = malloc(size);
  26. OK(st->str != NULL, "st->str has been allocated");
  27. }
  28.  
  29.  
  30. StructWhoHasPtr*
  31. copy_struct(StructWhoHasPtr *dest, const StructWhoHasPtr *src, size_t n)
  32. {
  33. alloc_struct(dest, strlen(src->str) + 1);
  34.  
  35. strcpy(dest->str, src->str);
  36. dest->i = src->i;
  37.  
  38. return dest;
  39. }
  40.  
  41.  
  42.  
  43. #endif /* STRUCT_WHO_HAS_PTR_H */
Add Comment
Please, Sign In to add comment