schema BUGFIX allow do not touch features settings
With LY_CTX_ALL_IMPLEMENTED flag, even the imported modules became
implemented and its features were set (disabled). But when importing modules,
we don't want to set the features (we don't know how). It is because it is done
by a common code shared with other functions where the caller is able to set
the features setting and we want to follow his willing. Therefore, we need a
way to say "do not touch the features". In newly implemented module it means
that all features are disabled, for already implemented modules the
features setttings do not change.
This "do not touch" way is available not only internally when importing
module, but it was also propagated to the API functions.
Fixes #1355
diff --git a/src/schema_features.h b/src/schema_features.h
index b63c810..b033ce3 100644
--- a/src/schema_features.h
+++ b/src/schema_features.h
@@ -47,7 +47,10 @@
* @brief Set the specified features of a parsed module, with all the checks.
*
* @param[in] pmod Parsed module to modify.
- * @param[in] features Array of features ended with NULL to set. NULL for all features disabled, '*' for all enabled.
+ * @param[in] features Array of features ended with NULL to be enabled if the module is being implemented.
+ * The feature string '*' enables all and array of length 1 with only the terminating NULL explicitly disables all
+ * the features. In case the parameter is NULL, the features are untouched - left disabled in newly loaded module or
+ * with the current features settings in case the module is already present in the context.
* @return LY_SUCCESS on success.
* @return LY_EEXIST if the specified features were already set.
* @return LY_ERR on error.