You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.9 KiB

  1. Index: netopeer2-0.4.0-d028c1f931819db4b3e3cb1fd2d349a4fd5c0459/server/ietf_netconf_server.c
  2. ===================================================================
  3. --- netopeer2-0.4.0-d028c1f931819db4b3e3cb1fd2d349a4fd5c0459.orig/server/ietf_netconf_server.c
  4. +++ netopeer2-0.4.0-d028c1f931819db4b3e3cb1fd2d349a4fd5c0459/server/ietf_netconf_server.c
  5. @@ -1161,8 +1161,8 @@ feature_change_ietf_netconf_server(const
  6. {
  7. int rc, rc2 = 0;
  8. const char *path = NULL;
  9. - sr_val_iter_t *sr_iter;
  10. - sr_val_t *sr_val;
  11. + sr_val_t *values;
  12. + size_t value_cnt;
  13. assert(feature_name);
  14. @@ -1180,26 +1180,26 @@ feature_change_ietf_netconf_server(const
  15. return EXIT_SUCCESS;
  16. }
  17. - rc = sr_get_items_iter(np2srv.sr_sess.srs, path, &sr_iter);
  18. + rc =sr_get_items(np2srv.sr_sess.srs, path, &values, &value_cnt);
  19. if (rc != SR_ERR_OK) {
  20. ERR("Failed to get \"%s\" values iterator from sysrepo (%s).", sr_strerror(rc));
  21. return EXIT_FAILURE;
  22. }
  23. - while ((rc = sr_get_item_next(np2srv.sr_sess.srs, sr_iter, &sr_val)) == SR_ERR_OK) {
  24. - if (sr_val->type == SR_LIST_T) {
  25. + size_t i;
  26. + for(i = 0; i < value_cnt; i++) {
  27. + if (values[i].type == SR_LIST_T) {
  28. /* no semantic meaning */
  29. continue;
  30. }
  31. - rc2 = module_change_resolve(np2srv.sr_sess.srs, SR_OP_CREATED, NULL, sr_val, NULL, NULL);
  32. - sr_free_val(sr_val);
  33. + rc2 = module_change_resolve(np2srv.sr_sess.srs, SR_OP_CREATED, NULL, &values[i], NULL, NULL);
  34. if (rc2) {
  35. ERR("Failed to enable nodes depending on the \"%s\" ietf-netconf-server feature.", feature_name);
  36. break;
  37. }
  38. }
  39. - sr_free_val_iter(sr_iter);
  40. + sr_free_values(values, value_cnt);
  41. if (rc2) {
  42. return EXIT_FAILURE;
  43. } else if ((rc != SR_ERR_OK) && (rc != SR_ERR_NOT_FOUND)) {