static int result_clone(struct nl_object *_dst, struct nl_object *_src) { struct flnl_result *dst = nl_object_priv(_dst); struct flnl_result *src = nl_object_priv(_src); if (src->fr_req) if (!(dst->fr_req = (struct flnl_request *) nl_object_clone(OBJ_CAST(src->fr_req)))) return nl_get_errno(); return 0; }
int tca_clone(struct rtnl_tc *dst, struct rtnl_tc *src) { if (src->tc_link) { dst->tc_link = (struct rtnl_link *) nl_object_clone(OBJ_CAST(src->tc_link)); if (!dst->tc_link) return -NLE_NOMEM; } if (src->tc_opts) { dst->tc_opts = nl_data_clone(src->tc_opts); if (!dst->tc_opts) return -NLE_NOMEM; } if (src->tc_xstats) { dst->tc_xstats = nl_data_clone(src->tc_xstats); if (!dst->tc_xstats) return -NLE_NOMEM; } return 0; }