# HG changeset patch # User chainsaw # Date 1136069276 28800 # Node ID fb59081b528f6f0a387eb58b8c2d0d6051dd7a30 # Parent f0cbbb4071a49057356593679d6a73467f57d3c1 [svn] Use file magic instead of extensions. diff -r f0cbbb4071a4 -r fb59081b528f Plugins/Input/flac/plugin.c --- a/Plugins/Input/flac/plugin.c Sat Dec 31 14:37:03 2005 -0800 +++ b/Plugins/Input/flac/plugin.c Sat Dec 31 14:47:56 2005 -0800 @@ -28,6 +28,7 @@ #include #include #include +#include #ifdef HAVE_CONFIG_H #include @@ -288,12 +289,16 @@ int FLAC_XMMS__is_our_file(char *filename) { - char *ext; - - ext = strrchr(filename, '.'); - if(ext) - if(!strcasecmp(ext, ".flac") || !strcasecmp(ext, ".fla")) + VFSFile *file; + gchar magic[4]; + if (file = vfs_fopen(filename, "rb")) { + vfs_fread(magic, 1, 4, file); + if (!strncmp(magic, "fLaC", 4)) { + vfs_fclose(file); return 1; + } + vfs_fclose(file); + } return 0; }