pair.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /** @file pair.c
  2. * Ini file pairs key/value.
  3. */
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <assert.h>
  7. #include "private.h"
  8. #include "faux/str.h"
  9. #include "faux/ini.h"
  10. faux_pair_t *faux_pair_new(const char *name, const char *value)
  11. {
  12. faux_pair_t *pair = NULL;
  13. pair = faux_zmalloc(sizeof(*pair));
  14. assert(pair);
  15. if (!pair)
  16. return NULL;
  17. // Initialize
  18. pair->name = faux_str_dup(name);
  19. pair->value = faux_str_dup(value);
  20. return pair;
  21. }
  22. void faux_pair_free(void *ptr)
  23. {
  24. faux_pair_t *pair = (faux_pair_t *)ptr;
  25. if (!pair)
  26. return;
  27. faux_str_free(pair->name);
  28. faux_str_free(pair->value);
  29. faux_free(pair);
  30. }
  31. const char *faux_pair_name(const faux_pair_t *pair)
  32. {
  33. assert(pair);
  34. if (!pair)
  35. return NULL;
  36. return pair->name;
  37. }
  38. void faux_pair_set_name(faux_pair_t *pair, const char *name)
  39. {
  40. assert(pair);
  41. if (!pair)
  42. return;
  43. faux_str_free(pair->name);
  44. pair->name = faux_str_dup(name);
  45. }
  46. const char *faux_pair_value(const faux_pair_t *pair)
  47. {
  48. assert(pair);
  49. if (!pair)
  50. return NULL;
  51. return pair->value;
  52. }
  53. void faux_pair_set_value(faux_pair_t *pair, const char *value)
  54. {
  55. assert(pair);
  56. if (!pair)
  57. return;
  58. faux_str_free(pair->value);
  59. pair->value = faux_str_dup(value);
  60. }