/*
- * Copyright (C) 2005-2006 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "server.cmdline.h"
#include "server.h"
-#include "afs.h"
+#include "vss.h"
#include <dirent.h> /* readdir() */
#include <sys/stat.h> /* stat */
#include <sys/types.h> /* mode_t */
#include "error.h"
#include "string.h"
-/*
- * return 1 if name matches any supported audio format
- */
-static int match_audio_file_name(char *name)
-{
- int i, len = strlen(name);
- const char *pattern[] = {SUPPORTED_AUDIO_FORMATS_ARRAY};
-
- for (i = 0; pattern[i]; i++) {
- const char *p = pattern[i];
- int plen = strlen(p);
- if (len < plen + 1)
- continue;
- if (name[len - plen - 1] != '.')
- continue;
- if (strcasecmp(name + len - plen, p))
- continue;
- return 1;
- }
- return 0;
-}
-
/**
* traverse the given directory recursively
*
continue;
ret = -E_LSTAT;
if (lstat(entry->d_name, &s) == -1)
- goto out;
+ continue;
m = s.st_mode;
if (!S_ISREG(m) && !S_ISDIR(m)) /* skip links, sockets, ... */
continue;
if (S_ISREG(m)) { /* regular file */
- if (!match_audio_file_name(entry->d_name))
+ if (guess_audio_format(entry->d_name) < 0)
continue;
- if (f(dirname, entry->d_name) < 0)
+ ret = f(dirname, entry->d_name);
+ if (ret < 0)
goto out;
continue;
}