]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Remove snd_name_list() and snd_name_list_free() functions.
authorJaroslav Kysela <perex@perex.cz>
Thu, 12 Oct 2006 12:52:07 +0000 (14:52 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 12 Oct 2006 12:52:07 +0000 (14:52 +0200)
These functions were not used in applications anyway.

src/names.c

index a43637232a54a5e476a77094c975f027880d366d..3f6e01889ae4263c438d5ef9cff690da25d61a32 100644 (file)
 #include <sys/stat.h>
 #include "local.h"
 
-#ifndef DOC_HIDDEN
-#define ALSA_NAMES_ENV  "ALSA_NAMES_FILE"
-#define ALSA_NAMES_PATH1 "/etc/asound.names"
-#define ALSA_NAMES_PATH2 "~/.asoundnm"
-#endif
-
-static int names_parse(snd_config_t *top, const char *iface, snd_devname_t **list)
-{
-       snd_config_iterator_t i, next;
-       snd_config_iterator_t j, jnext;
-       char *name, *comment;
-       const char *id;
-       snd_devname_t *dn, *last = NULL;
-       int err;
-
-       err = snd_config_search(top, iface, &top);
-       if (err < 0)
-               return err;
-       snd_config_for_each(i, next, top) {
-               snd_config_t *n = snd_config_iterator_entry(i);
-               if (snd_config_get_id(n, &id) < 0)
-                       continue;
-               name = comment = NULL;
-               snd_config_for_each(j, jnext, n) {
-                       snd_config_t *m = snd_config_iterator_entry(j);
-                       if (snd_config_get_id(m, &id) < 0)
-                               continue;
-                       if (strcmp(id, "name") == 0) {
-                               err = snd_config_get_string(m, (const char **)&name);
-                               if (err < 0)
-                                       continue;
-                               name = strdup(name);
-                               if (name == NULL) {
-                                       err = -ENOMEM;
-                                       goto _err;
-                               }
-                               continue;
-                       }
-                       if (strcmp(id, "comment") == 0) {
-                               err = snd_config_get_string(m, (const char **)&comment);
-                               if (err < 0)
-                                       continue;
-                               comment = strdup(comment);
-                               if (name == NULL) {
-                                       err = -ENOMEM;
-                                       goto _err;
-                               }
-                               continue;
-                       }
-               }
-               if (name != NULL) {
-                       dn = malloc(sizeof(*dn));
-                       if (dn == NULL) {
-                               err = -ENOMEM;
-                               goto _err;
-                       }
-                       dn->name = name;
-                       dn->comment = comment;
-                       dn->next = NULL;
-                       if (last == NULL) {
-                               *list = dn;
-                       } else {
-                               last->next = dn;
-                       }
-                       last = dn;
-               } else {
-                       free(comment);
-               }
-       }
-       return 0;
-
-       _err:
-       free(name);
-       free(comment);
-       return err;
-}
-
 /** 
  * \brief Give a list of device names and associated comments for selected interface
  * \param iface a string identifying interface ("pcm", "ctl", "seq", "rawmidi")
  * \param list result - a pointer to list
  * \return A non-negative value if successful, otherwise a negative error code.
+ * \deprecated Since 1.0.14
  *
  * The global configuration files are specified in the environment variable
  * \c ALSA_NAMES_FILE.
  */
-int snd_names_list(const char *iface, snd_devname_t **list)
+int snd_names_list(const char *iface ATTRIBUTE_UNUSED,
+                  snd_devname_t **list ATTRIBUTE_UNUSED)
 {
-       char *file;
-       snd_config_t *top;
-       snd_input_t *in;
-       int err;
-       
-       assert(iface);
-       assert(list);
-       *list = NULL;
-       file = getenv(ALSA_NAMES_ENV);
-       if (file) {
-               file = strdup(file);
-               if (file == NULL)
-                       return -ENOMEM;
-       } else {
-               err = snd_user_file(ALSA_NAMES_PATH2, &file);
-               if (err < 0)
-                       return err;
-               if (access(file, R_OK)) {
-                       file = strdup(ALSA_NAMES_PATH1);
-                       if (file == NULL)
-                               return -ENOMEM;
-               }
-       }
-       top = NULL;
-       err = snd_config_top(&top);
-       if (err >= 0)
-               err = snd_input_stdio_open(&in, file, "r");
-       if (err >= 0) {
-               err = snd_config_load(top, in);
-               snd_input_close(in);
-               if (err < 0) {
-                       SNDERR("%s may be old or corrupted: consider to remove or fix it", file);
-               } else {
-                       err = names_parse(top, iface, list);
-                       if (err < 0) {
-                               snd_names_list_free(*list);
-                               *list = NULL;
-                       }
-               }
-       } else {
-               SNDERR("cannot access file %s", file);
-       }
-       if (top)
-               snd_config_delete(top);
-       return err >= 0 ? 0 : err;
+       return -ENXIO;
 }
+link_warning(snd_names_list, "Warning: snd_names_list is deprecated, use snd_device_name_hint");
 
 /**
  * \brief Release the list of device names
  * \param list the name list to release
+ * \deprecated Since 1.0.14
  *
  * Releases the list of device names allocated via #snd_names_list().
  */
-void snd_names_list_free(snd_devname_t *list)
+void snd_names_list_free(snd_devname_t *list ATTRIBUTE_UNUSED)
 {
-       snd_devname_t *next;
-       
-       while (list != NULL) {
-               next = list->next;
-               free(list->name);
-               free(list->comment);
-               free(list);
-               list = next;
-       }
 }
+link_warning(snd_names_list_free, "Warning: snd_names_list_free is deprecated, use snd_device_name_free_hint");