9cd4538fabbaacb02d71567ef93057d5a4bbb951
[feed/packages.git] / net / netopeer2 / patches / 002-server-BUGFIX-replace-sr_get_iter-with-sr_get_items
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
14 assert(feature_name);
15
16 @@ -1180,26 +1180,26 @@ feature_change_ietf_netconf_server(const
17 return EXIT_SUCCESS;
18 }
19
20 - rc = sr_get_items_iter(np2srv.sr_sess.srs, path, &sr_iter);
21 + rc =sr_get_items(np2srv.sr_sess.srs, path, &values, &value_cnt);
22 if (rc != SR_ERR_OK) {
23 ERR("Failed to get \"%s\" values iterator from sysrepo (%s).", sr_strerror(rc));
24 return EXIT_FAILURE;
25 }
26
27 - while ((rc = sr_get_item_next(np2srv.sr_sess.srs, sr_iter, &sr_val)) == SR_ERR_OK) {
28 - if (sr_val->type == SR_LIST_T) {
29 + size_t i;
30 + for(i = 0; i < value_cnt; i++) {
31 + if (values[i].type == SR_LIST_T) {
32 /* no semantic meaning */
33 continue;
34 }
35
36 - rc2 = module_change_resolve(np2srv.sr_sess.srs, SR_OP_CREATED, NULL, sr_val, NULL, NULL);
37 - sr_free_val(sr_val);
38 + rc2 = module_change_resolve(np2srv.sr_sess.srs, SR_OP_CREATED, NULL, &values[i], NULL, NULL);
39 if (rc2) {
40 ERR("Failed to enable nodes depending on the \"%s\" ietf-netconf-server feature.", feature_name);
41 break;
42 }
43 }
44 - sr_free_val_iter(sr_iter);
45 + sr_free_values(values, value_cnt);
46 if (rc2) {
47 return EXIT_FAILURE;
48 } else if ((rc != SR_ERR_OK) && (rc != SR_ERR_NOT_FOUND)) {