]> git.alsa-project.org Git - alsa-lib.git/commitdiff
conf: add snd_config_is_empty() function
authorJaroslav Kysela <perex@perex.cz>
Thu, 13 May 2021 08:59:43 +0000 (10:59 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 13 May 2021 08:59:47 +0000 (10:59 +0200)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
include/conf.h
src/conf.c

index e729fb052300d86542e436e73d02df7dd47044d7..5c70ebcc9a8e910a512b7af5b4a44a964ea8ee7e 100644 (file)
@@ -141,6 +141,7 @@ int snd_config_imake_pointer(snd_config_t **config, const char *key, const void
 
 snd_config_type_t snd_config_get_type(const snd_config_t *config);
 int snd_config_is_array(const snd_config_t *config);
+int snd_config_is_empty(const snd_config_t *config);
 
 int snd_config_set_id(snd_config_t *config, const char *id);
 int snd_config_set_integer(snd_config_t *config, long value);
index 72422f12bd2fa8ed91915dcf60d1c4f921ee4835..7ebf75773505b9a06b7f53c9e0c88e266e131eaa 100644 (file)
@@ -1832,6 +1832,19 @@ int snd_config_is_array(const snd_config_t *config)
        return 1;
 }
 
+/**
+ * \brief Returns if the compound has no fields (is empty).
+ * \param config Handle to the configuration node.
+ * \return A positive value when true, zero when false, otherwise a negative error code.
+ */
+int snd_config_is_empty(const snd_config_t *config)
+{
+       assert(config);
+       if (config->type != SND_CONFIG_TYPE_COMPOUND)
+               return -EINVAL;
+       return list_empty(&config->u.compound.fields);
+}
+
 /**
  * \brief Returns the id of a configuration node.
  * \param[in] config Handle to the configuration node.