@@ -445,7 +445,7 @@ sub_ntf_filter2xpath(sr_session_ctx_t *session, const char *filter_name_search_f
445445
446446 if (subtree_filter ) {
447447 /* subtree */
448- if (((struct lyd_node_any * )subtree_filter )-> value_type == LYD_ANYDATA_DATATREE ) {
448+ if (((struct lyd_node_any * )subtree_filter )-> child ) {
449449 if (srsn_filter_subtree2xpath (((struct lyd_node_any * )subtree_filter )-> child , session , xpath )) {
450450 if (err_reply ) {
451451 * err_reply = np_reply_err_sr (session , "get" );
@@ -752,6 +752,7 @@ sub_ntf_append_params_filter(struct lyd_node *parent, const struct np2srv_sub_nt
752752{
753753 int rc = 0 ;
754754 struct lyd_node_any * any ;
755+ struct lyd_node * node ;
755756 const struct lys_module * yp_mod ;
756757
757758 yp_mod = ly_ctx_get_module_implemented (LYD_CTX (parent ), "ietf-yang-push" );
@@ -766,11 +767,11 @@ sub_ntf_append_params_filter(struct lyd_node *parent, const struct np2srv_sub_nt
766767 } else if (sub -> subtree_filter ) {
767768 /* stream-subtree-filter */
768769 any = (struct lyd_node_any * )sub -> subtree_filter ;
769- if (lyd_new_any (parent , NULL , "stream-subtree-filter" , any -> child ? any -> child : (void * )any -> value ,
770- any -> value_type , 0 , NULL )) {
770+ if (lyd_new_any (parent , NULL , "stream-subtree-filter" , any -> child , any -> value , 0 , & node )) {
771771 rc = -1 ;
772772 goto cleanup ;
773773 }
774+ ((struct lyd_node_any * )node )-> hints = any -> hints ;
774775 } else if (sub -> xpath_filter ) {
775776 /* stream-xpath-filter */
776777 if (lyd_new_term (parent , NULL , "stream-xpath-filter" , sub -> xpath_filter , 0 , NULL )) {
@@ -788,11 +789,11 @@ sub_ntf_append_params_filter(struct lyd_node *parent, const struct np2srv_sub_nt
788789 } else if (sub -> subtree_filter ) {
789790 /* datastore-subtree-filter */
790791 any = (struct lyd_node_any * )sub -> subtree_filter ;
791- if (lyd_new_any (parent , yp_mod , "datastore-subtree-filter" , any -> child ? any -> child : (void * )any -> value ,
792- any -> value_type , 0 , NULL )) {
792+ if (lyd_new_any (parent , yp_mod , "datastore-subtree-filter" , any -> child , any -> value , 0 , & node )) {
793793 rc = -1 ;
794794 goto cleanup ;
795795 }
796+ ((struct lyd_node_any * )node )-> hints = any -> hints ;
796797 } else if (sub -> xpath_filter ) {
797798 /* datastore-xpath-filter */
798799 if (lyd_new_term (parent , yp_mod , "datastore-xpath-filter" , sub -> xpath_filter , 0 , NULL )) {
0 commit comments