[SCM] glyr/master: pick git snapshot
emillon-guest at users.alioth.debian.org
emillon-guest at users.alioth.debian.org
Fri May 9 16:23:50 UTC 2014
The following commit has been merged in the master branch:
commit 61cfefdfc165dc323b6431bda9e01ba55b98df45
Author: Etienne Millon <me at emillon.org>
Date: Fri May 9 18:18:21 2014 +0200
pick git snapshot
diff --git a/debian/changelog b/debian/changelog
index dfdac68..c25e4ba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-glyr (1.0.6-1) unstable; urgency=medium
+glyr (1.0.6+git23042014-1) UNRELEASED; urgency=medium
* New upstream release
- - pick upstream commits to fix build
+ - pick git snapshot 302c35e9 as 1.0.6 does not build
- -- Etienne Millon <me at emillon.org> Fri, 09 May 2014 10:57:40 +0200
+ -- Etienne Millon <me at emillon.org> Fri, 09 May 2014 18:16:52 +0200
glyr (1.0.5-1) unstable; urgency=medium
diff --git a/debian/patches/series b/debian/patches/series
index 3f4eb4c..6130e6d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
0001-Don-t-strip-binaries.patch
-style.patch
diff --git a/debian/patches/style.patch b/debian/patches/style.patch
deleted file mode 100644
index 46d3fa5..0000000
--- a/debian/patches/style.patch
+++ /dev/null
@@ -1,20831 +0,0 @@
-From: Etienne Millon <me at emillon.org>
-Subject: Revert "Updated the sourcecode with astyle to reflect my current taste."
-Origin: Upstream
-
-This patch incorporate two upstream commits (f6800dde, 302c35e9) necessary to
-make the project build again.
----
-diff --git a/lib/blacklist.c b/lib/blacklist.c
-index 19de76c..93a2c18 100644
---- a/lib/blacklist.c
-+++ b/lib/blacklist.c
-@@ -23,41 +23,43 @@
-
- /////////////////////////////////
-
--GHashTable *lookup_table = NULL;
--gchar *blacklist_array[] = {
-+GHashTable * lookup_table = NULL;
-+gchar * blacklist_array[] =
-+{
- "http://ecx.images-amazon.com/images/I/11J2DMYABHL.jpg", /* blank image */
- "http://cdn.recordshopx.com/cover/normal/5/53/53138.jpg%3Fcd" /* blank image */
- };
-
- /////////////////////////////////
-
--void blacklist_build(void)
-+void blacklist_build (void)
- {
-- lookup_table = g_hash_table_new(g_str_hash, g_str_equal);
-- gint b_size = sizeof(blacklist_array) / sizeof(gchar *);
-- for(gint it = 0; it < b_size; it++) {
-- if(blacklist_array[it] != NULL) {
-- g_hash_table_insert(lookup_table, blacklist_array[it], blacklist_array[it]);
-+ lookup_table = g_hash_table_new (g_str_hash,g_str_equal);
-+ gint b_size = sizeof (blacklist_array) / sizeof (gchar *);
-+ for (gint it = 0; it < b_size; it++)
-+ {
-+ if (blacklist_array[it] != NULL)
-+ {
-+ g_hash_table_insert (lookup_table,blacklist_array[it],blacklist_array[it]);
- }
- }
- }
-
- /////////////////////////////////
-
--void blacklist_destroy(void)
-+void blacklist_destroy (void)
- {
-- g_hash_table_destroy(lookup_table);
-+ g_hash_table_destroy (lookup_table);
- }
-
- /////////////////////////////////
-
--gboolean is_blacklisted(gchar *URL)
-+gboolean is_blacklisted (gchar * URL)
- {
-- if(lookup_table == NULL || URL == NULL) {
-+ if (lookup_table == NULL || URL == NULL)
- return FALSE;
-- }
-
-- return !(g_hash_table_lookup(lookup_table, URL) == NULL);
-+ return ! (g_hash_table_lookup (lookup_table,URL) == NULL);
- }
-
- /////////////////////////////////
-diff --git a/lib/cache.c b/lib/cache.c
-index 92bdc3c..8a777ad 100644
---- a/lib/cache.c
-+++ b/lib/cache.c
-@@ -26,7 +26,8 @@
-
- ///////////////////////////////
-
--enum {
-+enum
-+{
- SQL_TABLE_DEF,
- SQL_FOREACH,
- SQL_DELETE_SELECT,
-@@ -35,7 +36,8 @@ enum {
- SQL_INSERT_CACHE
- };
-
--static const char *sqlcode[] = {
-+static const char * sqlcode[] =
-+{
- [SQL_TABLE_DEF] =
- "PRAGMA synchronous = 1; \n"
- "PRAGMA temp_store = 2; \n"
-@@ -75,7 +77,7 @@ static const char *sqlcode[] = {
- "CREATE INDEX IF NOT EXISTS index_title_id ON metadata(title_id); \n"
- "CREATE INDEX IF NOT EXISTS index_provider_id ON metadata(provider_id); \n"
- "CREATE UNIQUE INDEX IF NOT EXISTS index_unique \n"
-- " ON metadata(get_type, ata_type, ata_checksum,source_url); \n"
-+ " ON metadata(get_type,data_type,data_checksum,source_url); \n"
- "-- Insert imageformats \n"
- "INSERT OR IGNORE INTO image_types VALUES('jpeg'); \n"
- "INSERT OR IGNORE INTO image_types VALUES('jpg'); \n"
-@@ -169,7 +171,7 @@ static const char *sqlcode[] = {
- " (SELECT rowid FROM providers WHERE provider_name = LOWER('%q')), \n"
- " ?, \n"
- " (SELECT rowid FROM image_types WHERE image_type_name = LOWER('%q')),\n"
-- " ?, , , , , , , , \n"
-+ " ?,?,?,?,?,?,?,?,? \n"
- "); \n"
- };
-
-@@ -177,30 +179,30 @@ static const char *sqlcode[] = {
- ////////////////////// Prototypes //////////////////////
- ////////////////////////////////////////////////////////
-
--static void insert_cache_data(GlyrDatabase *db, GlyrQuery *query, GlyrMemCache *cache);
--static void execute(GlyrDatabase *db, const gchar *sql_statement);
--static gchar *convert_from_option_to_sql(GlyrQuery *q);
-+static void insert_cache_data (GlyrDatabase * db, GlyrQuery * query, GlyrMemCache * cache);
-+static void execute (GlyrDatabase * db, const gchar * sql_statement);
-+static gchar * convert_from_option_to_sql (GlyrQuery * q);
-
--static double get_current_time(void);
--static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add);
-+static double get_current_time (void);
-+static void add_to_cache_list (GlyrMemCache ** list, GlyrMemCache * to_add);
-
--static int delete_callback(void *result, int argc, char **argv, char **azColName);
--static int select_callback(void *result, int argc, char **argv, char **azColName);
-+static int delete_callback (void * result, int argc, char ** argv, char ** azColName);
-+static int select_callback (void * result, int argc, char ** argv, char ** azColName);
-
-
- ////////////////////////////////////////////////////////
- ////////////////// Useful Defines //////////////////////
- ////////////////////////////////////////////////////////
-
--#define INSERT_STRING(SQL, RG) { \
-+#define INSERT_STRING(SQL,ARG) { \
- if(SQL && ARG) { \
- /* We have to use _ascii_ here, */\
- /* since there seems to be some encoding problems */\
- /* in SQLite, which are triggered by comparing */\
- /* lower and highercase umlauts for example */\
- /* Simple encoding-indepent lowercase prevents it */\
-- gchar * lower_str = g_ascii_strdown(ARG, 1); \
-- gchar * sql = sqlite3_mprintf(SQL, ower_str); \
-+ gchar * lower_str = g_ascii_strdown(ARG,-1); \
-+ gchar * sql = sqlite3_mprintf(SQL,lower_str); \
- execute(db,sql); \
- sqlite3_free(sql); \
- g_free(lower_str); \
-@@ -210,9 +212,9 @@ static int select_callback(void *result, int argc, char **argv, char **azColName
- ////////////////////////////////////////////////////////
-
- /* Ensure no invalid data comes in */
--#define ABORT_ON_FAILED_REQS(REQS, PT_ARG, RG) { \
-+#define ABORT_ON_FAILED_REQS(REQS,OPT_ARG,ARG) { \
- if((REQS & OPT_ARG) == 0 && ARG == NULL) { \
-- glyr_message(-1, ULL, Warning: %s != NULL failed", ARG); \
-+ glyr_message(-1,NULL,"Warning: %s != NULL failed",#ARG); \
- goto rollback; \
- } \
- }
-@@ -227,10 +229,10 @@ static int select_callback(void *result, int argc, char **argv, char **azColName
- /* lower and highercase umlauts for example */ \
- /* Simple encoding-indepent lowercase prevents it */ \
- \
-- gchar * lower = g_ascii_strdown(VARNAME, 1); \
-+ gchar * lower = g_ascii_strdown(VARNAME,-1); \
- if(lower != NULL) \
- { \
-- TO_CONSTR = sqlite3_mprintf("AND %s = '%q'\n", IELDNAME, ower); \
-+ TO_CONSTR = sqlite3_mprintf("AND %s = '%q'\n",FIELDNAME,lower); \
- g_free(lower); \
- } \
- }
-@@ -241,16 +243,16 @@ static int select_callback(void *result, int argc, char **argv, char **azColName
-
- ////////////////////////////////////////////////////////
-
--#define SQL_BIND_TEXT(stmt, ext, os) { \
-+#define SQL_BIND_TEXT(stmt,text,pos) { \
- int cpPos = pos; \
- if(stmt && text) { \
-- int rc = sqlite3_bind_text(stmt, pPos, ext,strlen(text) + 1, SQLITE_STATIC); \
-+ int rc = sqlite3_bind_text(stmt,cpPos,text,strlen(text) + 1, SQLITE_STATIC); \
- if(rc != SQLITE_OK) { \
-- printf("Could not bind value: %d\n", c); \
-+ printf("Could not bind value: %d\n",rc); \
- } \
- } \
- } \
--
-+
- ////////////////////////////////////////////////////////
-
- /* How long to wait till returning SQLITE_BUSY */
-@@ -259,7 +261,7 @@ static int select_callback(void *result, int argc, char **argv, char **azColName
- #define DO_PROFILE false
-
- #if DO_PROFILE
--static GTimer *select_callback_timer = NULL;
-+static GTimer * select_callback_timer = NULL;
- static float select_callback_spent = 0;
- #endif
-
-@@ -267,20 +269,22 @@ static float select_callback_spent = 0;
- ////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////
-
--typedef struct {
-- GlyrDatabase *con;
-+typedef struct
-+{
-+ GlyrDatabase * con;
- gint deleted;
- gint max_delete;
-
- } delete_callback_data;
-
-
--typedef struct {
-- GlyrMemCache **result;
-- GlyrQuery *query;
-+typedef struct
-+{
-+ GlyrMemCache ** result;
-+ GlyrQuery * query;
- gint counter;
- glyr_foreach_callback cb;
-- void *userptr;
-+ void * userptr;
-
- } select_callback_data;
-
-@@ -288,56 +292,66 @@ typedef struct {
- ////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrDatabase *glyr_db_init(const char *root_path)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrDatabase * glyr_db_init (const char * root_path)
- {
-- GlyrDatabase *to_return = NULL;
-+ GlyrDatabase * to_return = NULL;
-
- #if DO_PROFILE
-- GTimer *open_db = g_timer_new();
-+ GTimer * open_db = g_timer_new();
- select_callback_timer = g_timer_new();
- #endif
-
-- if(sqlite3_threadsafe() == FALSE) {
-- glyr_message(-1, NULL, "WARNING: Your SQLite version seems not to be threadsafe? \n"
-- " Expect corrupted data and other weird behaviour!\n");
-+ if (sqlite3_threadsafe() == FALSE)
-+ {
-+ glyr_message (-1,NULL,"WARNING: Your SQLite version seems not to be threadsafe? \n"
-+ " Expect corrupted data and other weird behaviour!\n");
- }
-
-- if(root_path != NULL && g_file_test(root_path, G_FILE_TEST_EXISTS)) {
-- sqlite3 *db_connection = NULL;
-+ if (root_path != NULL && g_file_test (root_path,G_FILE_TEST_EXISTS) )
-+ {
-+ sqlite3 * db_connection = NULL;
-
-- if(g_file_test(root_path, G_FILE_TEST_IS_DIR)) {
-- gchar *db_file_path = g_strdup_printf("%s%s%s", root_path,
-- (g_str_has_suffix(root_path, G_DIR_SEPARATOR_S) ? "" : G_DIR_SEPARATOR_S),
-- GLYR_DB_FILENAME);
-+ if (g_file_test (root_path,G_FILE_TEST_IS_DIR) )
-+ {
-+ gchar * db_file_path = g_strdup_printf ("%s%s%s",root_path,
-+ (g_str_has_suffix (root_path,G_DIR_SEPARATOR_S) ? "" : G_DIR_SEPARATOR_S),
-+ GLYR_DB_FILENAME);
-
-- gint db_open_err = sqlite3_open_v2(db_file_path, &db_connection,
-- SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX,
-- NULL);
-+ gint db_open_err = sqlite3_open_v2 (db_file_path,&db_connection,
-+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX,
-+ NULL);
-
-- if(db_open_err == SQLITE_OK) {
-- to_return = g_malloc0(sizeof(GlyrDatabase));
-- to_return->root_path = g_strdup(root_path);
-+ if (db_open_err == SQLITE_OK)
-+ {
-+ to_return = g_malloc0 (sizeof (GlyrDatabase) );
-+ to_return->root_path = g_strdup (root_path);
- to_return->db_handle = db_connection;
-- sqlite3_busy_timeout(db_connection, DB_BUSY_WAIT);
-+ sqlite3_busy_timeout (db_connection,DB_BUSY_WAIT);
-
- /* Now create the Tables via sql */
-- execute(to_return, (char *) sqlcode[SQL_TABLE_DEF]);
-- } else {
-- glyr_message(-1, NULL, "Connecting to database failed: %s\n", sqlite3_errmsg(db_connection));
-- sqlite3_close(db_connection);
-+ execute (to_return, (char*) sqlcode[SQL_TABLE_DEF]);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Connecting to database failed: %s\n",sqlite3_errmsg (db_connection) );
-+ sqlite3_close (db_connection);
- }
-- g_free(db_file_path);
-- } else {
-- glyr_message(-1, NULL, "Warning: %s is not a directory; Creating DB Structure failed.\n", root_path);
-+ g_free (db_file_path);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Warning: %s is not a directory; Creating DB Structure failed.\n",root_path);
- }
-- } else {
-- glyr_message(-1, NULL, "Warning: %s does not exist; Creating DB Structure failed.\n", root_path);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Warning: %s does not exist; Creating DB Structure failed.\n",root_path);
- }
-
- #if DO_PROFILE
-- g_message("Time to open DB: %lf\n", g_timer_elapsed(open_db, NULL));
-- g_timer_destroy(open_db);
-+ g_message ("Time to open DB: %lf\n",g_timer_elapsed (open_db,NULL) );
-+ g_timer_destroy (open_db);
- #endif
- return to_return;
- }
-@@ -347,16 +361,20 @@ GlyrDatabase *glyr_db_init(const char *root_path)
- ////////////////////////////////////
-
-
--__attribute__((visibility("default")))
--void glyr_db_destroy(GlyrDatabase *db_object)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_db_destroy (GlyrDatabase * db_object)
- {
-- if(db_object != NULL) {
-- int db_err = sqlite3_close(db_object->db_handle);
-- if(db_err == SQLITE_OK) {
-- g_free((gchar *) db_object->root_path);
-- g_free(db_object);
-- } else {
-- glyr_message(-1, NULL, "Disconnecting database failed: %s\n", sqlite3_errmsg(db_object->db_handle));
-+ if (db_object != NULL)
-+ {
-+ int db_err = sqlite3_close (db_object->db_handle);
-+ if (db_err == SQLITE_OK)
-+ {
-+ g_free ( (gchar*) db_object->root_path);
-+ g_free (db_object);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Disconnecting database failed: %s\n",sqlite3_errmsg (db_object->db_handle) );
- }
- }
- }
-@@ -365,15 +383,18 @@ void glyr_db_destroy(GlyrDatabase *db_object)
- ////////////////////////////////////
- ////////////////////////////////////
-
--__attribute__((visibility("default")))
--int glyr_db_edit(GlyrDatabase *db, GlyrQuery *query, GlyrMemCache *edited)
-+__attribute__ ( (visibility ("default") ) )
-+int glyr_db_edit (GlyrDatabase * db, GlyrQuery * query, GlyrMemCache * edited)
- {
- int result = 0;
-- if(db && query) {
-- result = glyr_db_delete(db, query);
-- if(result != 0) {
-- for(GlyrMemCache *elem = edited; elem; elem = elem->next) {
-- glyr_db_insert(db, query, edited);
-+ if (db && query)
-+ {
-+ result = glyr_db_delete (db,query);
-+ if (result != 0)
-+ {
-+ for (GlyrMemCache * elem = edited; elem; elem = elem->next)
-+ {
-+ glyr_db_insert (db,query,edited);
- }
- }
- }
-@@ -384,23 +405,26 @@ int glyr_db_edit(GlyrDatabase *db, GlyrQuery *query, GlyrMemCache *edited)
- ////////////////////////////////////
- ////////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_db_replace(GlyrDatabase *db, unsigned char *md5sum, GlyrQuery *query, GlyrMemCache *data)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_db_replace (GlyrDatabase * db, unsigned char * md5sum, GlyrQuery * query, GlyrMemCache * data)
- {
-- if(db != NULL && md5sum != NULL) {
-- gchar *sql = "DELETE FROM metadata WHERE data_checksum = ? ;\n";
-+ if (db != NULL && md5sum != NULL)
-+ {
-+ gchar * sql = "DELETE FROM metadata WHERE data_checksum = ? ;\n";
- sqlite3_stmt *stmt = NULL;
-- sqlite3_prepare_v2(db->db_handle, sql, strlen(sql) + 1, &stmt, NULL);
-- sqlite3_bind_blob(stmt, 1, md5sum, 16, SQLITE_STATIC);
-+ sqlite3_prepare_v2 (db->db_handle, sql, strlen (sql) + 1, &stmt, NULL);
-+ sqlite3_bind_blob (stmt, 1, md5sum, 16, SQLITE_STATIC);
-
-- if(sqlite3_step(stmt) != SQLITE_DONE) {
-- glyr_message(1, query, "Error message: %s\n", sqlite3_errmsg(db->db_handle));
-+ if (sqlite3_step (stmt) != SQLITE_DONE)
-+ {
-+ glyr_message (1,query,"Error message: %s\n", sqlite3_errmsg (db->db_handle) );
- }
-
-- sqlite3_finalize(stmt);
-+ sqlite3_finalize (stmt);
-
-- if(data != NULL) {
-- glyr_db_insert(db, query, data);
-+ if (data != NULL)
-+ {
-+ glyr_db_insert (db,query,data);
- }
- }
- }
-@@ -410,67 +434,77 @@ void glyr_db_replace(GlyrDatabase *db, unsigned char *md5sum, GlyrQuery *query,
- ////////////////////////////////////
-
-
--__attribute__((visibility("default")))
--gint glyr_db_delete(GlyrDatabase *db, GlyrQuery *query)
-+__attribute__ ( (visibility ("default") ) )
-+gint glyr_db_delete (GlyrDatabase * db, GlyrQuery * query)
- {
- gint result = 0;
-- if(db && query) {
-+ if (db && query)
-+ {
- /* Find out which fields are required for this getter */
-- GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements(query->type);
-+ GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements (query->type);
-
- /* Spaces in SQL statements just for pretty debug printing */
-- gchar *artist_constr = "";
-- if((reqs & GLYR_REQUIRES_ARTIST) != 0 && query->artist) {
-- ADD_CONSTRAINT(artist_constr, "a.artist_name", query->artist);
-+ gchar * artist_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_ARTIST) != 0 && query->artist)
-+ {
-+ ADD_CONSTRAINT (artist_constr,"a.artist_name",query->artist);
- }
-
-- gchar *album_constr = "";
-- if((reqs & GLYR_REQUIRES_ALBUM) != 0 && query->album) {
-- ADD_CONSTRAINT(album_constr, "b.album_name", query->album);
-+ gchar * album_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_ALBUM ) != 0 && query->album)
-+ {
-+ ADD_CONSTRAINT (album_constr,"b.album_name",query->album);
- }
-
-- gchar *title_constr = "";
-- if((reqs & GLYR_REQUIRES_TITLE) != 0 && query->title) {
-- ADD_CONSTRAINT(title_constr, "t.title_name", query->title);
-+ gchar * title_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_TITLE ) != 0 && query->title)
-+ {
-+ ADD_CONSTRAINT (title_constr,"t.title_name",query->title);
- }
-
-- /* Get a SQL formatted list of enabled providers: IN('lastfm', ...') */
-- gchar *from_argument_list = convert_from_option_to_sql(query);
-+ /* Get a SQL formatted list of enabled providers: IN('lastfm','...') */
-+ gchar * from_argument_list = convert_from_option_to_sql (query);
-
- /* Check if links should be deleted */
-- gchar *img_url_constr = "";
-- if(TYPE_IS_IMAGE(query->type)) {
-- if(query->download == FALSE) {
-- img_url_constr = sqlite3_mprintf("AND data_type = %d ", GLYR_TYPE_IMG_URL);
-- } else {
-- img_url_constr = sqlite3_mprintf("AND NOT data_type = %d ", GLYR_TYPE_IMG_URL);
-+ gchar * img_url_constr = "";
-+ if (TYPE_IS_IMAGE (query->type) )
-+ {
-+ if (query->download == FALSE)
-+ {
-+ img_url_constr = sqlite3_mprintf ("AND data_type = %d ", GLYR_TYPE_IMG_URL);
-+ }
-+ else
-+ {
-+ img_url_constr = sqlite3_mprintf ("AND NOT data_type = %d ", GLYR_TYPE_IMG_URL);
- }
- }
-
-- gchar *sql = sqlite3_mprintf(sqlcode[SQL_DELETE_SELECT],
-- query->type, /* Limit to <type> */
-- title_constr, /* Title Constr, may be empty */
-- album_constr, /* Album Constr, may be empty */
-- artist_constr, /* Artist Constr, may be empty */
-- from_argument_list, /* Provider contraint */
-- img_url_constr, /* Search for links? */
-- query->number /* LIMIT to <number> */
-- );
-+ gchar * sql = sqlite3_mprintf (sqlcode[SQL_DELETE_SELECT],
-+ query->type, /* Limit to <type> */
-+ title_constr, /* Title Constr, may be empty */
-+ album_constr, /* Album Constr, may be empty */
-+ artist_constr, /* Artist Constr, may be empty */
-+ from_argument_list, /* Provider contraint */
-+ img_url_constr, /* Search for links? */
-+ query->number /* LIMIT to <number> */
-+ );
-
-
-- if(sql != NULL) {
-+ if (sql != NULL)
-+ {
- delete_callback_data cb_data;
- cb_data.con = db;
- cb_data.deleted = 0;
- cb_data.max_delete = query->number;
-
-- gchar *err_msg = NULL;
-- sqlite3_exec(db->db_handle, sql, delete_callback, &cb_data, &err_msg);
-- if(err_msg != NULL) {
-- glyr_message(-1, NULL, "SQL Delete error: %s\n", err_msg);
-- sqlite3_free(err_msg);
-+ gchar * err_msg = NULL;
-+ sqlite3_exec (db->db_handle,sql,delete_callback,&cb_data,&err_msg);
-+ if (err_msg != NULL)
-+ {
-+ glyr_message (-1,NULL,"SQL Delete error: %s\n",err_msg);
-+ sqlite3_free (err_msg);
- }
-- sqlite3_free(sql);
-+ sqlite3_free (sql);
- result = cb_data.deleted;
- }
-
-@@ -478,23 +512,19 @@ gint glyr_db_delete(GlyrDatabase *db, GlyrQuery *query)
- * Free ressources with according free calls,
- */
-
-- if(*artist_constr) {
-- sqlite3_free(artist_constr);
-- }
-+ if (*artist_constr)
-+ sqlite3_free (artist_constr);
-
-- if(*album_constr) {
-- sqlite3_free(album_constr);
-- }
-+ if (*album_constr)
-+ sqlite3_free (album_constr);
-
-- if(*title_constr) {
-- sqlite3_free(title_constr);
-- }
-+ if (*title_constr)
-+ sqlite3_free (title_constr);
-
-- if(*img_url_constr) {
-- sqlite3_free(img_url_constr);
-- }
-+ if (*img_url_constr)
-+ sqlite3_free (img_url_constr);
-
-- g_free(from_argument_list);
-+ g_free (from_argument_list);
-
- }
- return result;
-@@ -505,10 +535,11 @@ gint glyr_db_delete(GlyrDatabase *db, GlyrQuery *query)
- ////////////////////////////////////
-
-
--__attribute__((visibility("default")))
--void glyr_db_foreach(GlyrDatabase *db, glyr_foreach_callback cb, void *userptr)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_db_foreach (GlyrDatabase * db, glyr_foreach_callback cb, void * userptr)
- {
-- if(db != NULL && cb != NULL) {
-+ if (db != NULL && cb != NULL)
-+ {
- select_callback_data scb_data;
- scb_data.cb = cb;
- scb_data.userptr = userptr;
-@@ -520,12 +551,14 @@ void glyr_db_foreach(GlyrDatabase *db, glyr_foreach_callback cb, void *userptr)
- scb_data.result = NULL;
-
- int rc = SQLITE_OK;
-- char *err_msg = NULL;
-- if((rc = sqlite3_exec(db->db_handle, sqlcode[SQL_FOREACH], select_callback, &scb_data, &err_msg)) != SQLITE_OK) {
-- if(rc != SQLITE_ABORT) {
-- glyr_message(-1, NULL, "SQL Foreach error: %s\n", err_msg);
-+ char * err_msg = NULL;
-+ if ( (rc = sqlite3_exec (db->db_handle,sqlcode[SQL_FOREACH],select_callback,&scb_data,&err_msg) ) != SQLITE_OK)
-+ {
-+ if (rc != SQLITE_ABORT)
-+ {
-+ glyr_message (-1,NULL,"SQL Foreach error: %s\n",err_msg);
- }
-- sqlite3_free(err_msg);
-+ sqlite3_free (err_msg);
- }
- }
- }
-@@ -534,49 +567,58 @@ void glyr_db_foreach(GlyrDatabase *db, glyr_foreach_callback cb, void *userptr)
- ////////////////////////////////////
- ////////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_db_lookup(GlyrDatabase *db, GlyrQuery *query)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_db_lookup (GlyrDatabase * db, GlyrQuery * query)
- {
-- GlyrMemCache *result = NULL;
-- if(db != NULL && query != NULL) {
-- GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements(query->type);
-- gchar *artist_constr = "";
-- if((reqs & GLYR_REQUIRES_ARTIST) != 0) {
-- ADD_CONSTRAINT(artist_constr, "artist_name", query->artist);
-+ GlyrMemCache * result = NULL;
-+ if (db != NULL && query != NULL)
-+ {
-+ GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements (query->type);
-+ gchar * artist_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_ARTIST) != 0)
-+ {
-+ ADD_CONSTRAINT (artist_constr,"artist_name",query->artist);
- }
-- gchar *album_constr = "";
-- if((reqs & GLYR_REQUIRES_ALBUM) != 0) {
-- ADD_CONSTRAINT(album_constr, "album_name", query->album);
-+ gchar * album_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_ALBUM ) != 0)
-+ {
-+ ADD_CONSTRAINT (album_constr,"album_name",query->album);
- }
-
-- gchar *title_constr = "";
-- if((reqs & GLYR_REQUIRES_TITLE) != 0) {
-- ADD_CONSTRAINT(title_constr, "title_name", query->title);
-+ gchar * title_constr = "";
-+ if ( (reqs & GLYR_REQUIRES_TITLE ) != 0)
-+ {
-+ ADD_CONSTRAINT (title_constr,"title_name",query->title);
- }
-
-- gchar *from_argument_list = convert_from_option_to_sql(query);
-- gchar *img_url_constr = "";
-+ gchar * from_argument_list = convert_from_option_to_sql (query);
-+ gchar * img_url_constr = "";
-
-- if(TYPE_IS_IMAGE(query->type)) {
-- if(query->download == FALSE) {
-- img_url_constr = sqlite3_mprintf("AND data_type = %d ", GLYR_TYPE_IMG_URL);
-- } else {
-- img_url_constr = sqlite3_mprintf("AND NOT data_type = %d ", GLYR_TYPE_IMG_URL);
-+ if (TYPE_IS_IMAGE (query->type) )
-+ {
-+ if (query->download == FALSE)
-+ {
-+ img_url_constr = sqlite3_mprintf ("AND data_type = %d ", GLYR_TYPE_IMG_URL);
-+ }
-+ else
-+ {
-+ img_url_constr = sqlite3_mprintf ("AND NOT data_type = %d ", GLYR_TYPE_IMG_URL);
- }
- }
-
-- gchar *sql = sqlite3_mprintf(sqlcode[SQL_LOOKUP],
-- query->type,
-- title_constr,
-- album_constr,
-- artist_constr,
-- img_url_constr,
-- from_argument_list,
-- query->number
-- );
-+ gchar * sql = sqlite3_mprintf (sqlcode[SQL_LOOKUP],
-+ query->type,
-+ title_constr,
-+ album_constr,
-+ artist_constr,
-+ img_url_constr,
-+ from_argument_list,
-+ query->number
-+ );
-
-
-- if(sql != NULL) {
-+ if (sql != NULL)
-+ {
- select_callback_data data;
- data.result = &result;
- data.query = query;
-@@ -584,34 +626,39 @@ GlyrMemCache *glyr_db_lookup(GlyrDatabase *db, GlyrQuery *query)
- data.cb = NULL;
- data.userptr = NULL;
-
-- gchar *err_msg = NULL;
-- sqlite3_exec(db->db_handle, sql, select_callback, &data, &err_msg);
-- if(err_msg != NULL) {
-- glyr_message(-1, NULL, "glyr_db_lookup: %s\n", err_msg);
-- sqlite3_free(err_msg);
-+ gchar * err_msg = NULL;
-+ sqlite3_exec (db->db_handle,sql,select_callback,&data,&err_msg);
-+ if (err_msg != NULL)
-+ {
-+ glyr_message (-1,NULL,"glyr_db_lookup: %s\n",err_msg);
-+ sqlite3_free (err_msg);
- }
-- sqlite3_free(sql);
-+ sqlite3_free (sql);
- }
-
- #if DO_PROFILE
-- g_message("Spent %.5f Seconds in Selectcallback.\n", select_callback_spent);
-+ g_message ("Spent %.5f Seconds in Selectcallback.\n",select_callback_spent);
- select_callback_spent = 0;
- #endif
-
-- if(*artist_constr) {
-- sqlite3_free(artist_constr);
-+ if (*artist_constr)
-+ {
-+ sqlite3_free (artist_constr);
- }
-- if(*album_constr) {
-- sqlite3_free(album_constr);
-+ if (*album_constr)
-+ {
-+ sqlite3_free (album_constr);
- }
-- if(*title_constr) {
-- sqlite3_free(title_constr);
-+ if (*title_constr)
-+ {
-+ sqlite3_free (title_constr);
- }
-
-- g_free(from_argument_list);
-+ g_free (from_argument_list);
-
-- if(*img_url_constr != '\0') {
-- sqlite3_free(img_url_constr);
-+ if (*img_url_constr != '\0')
-+ {
-+ sqlite3_free (img_url_constr);
- }
- }
- return result;
-@@ -622,31 +669,35 @@ GlyrMemCache *glyr_db_lookup(GlyrDatabase *db, GlyrQuery *query)
- ////////////////////////////////////
-
-
--__attribute__((visibility("default")))
--void glyr_db_insert(GlyrDatabase *db, GlyrQuery *q, GlyrMemCache *cache)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_db_insert (GlyrDatabase * db, GlyrQuery * q, GlyrMemCache * cache)
- {
-- if(db && q && cache) {
-- GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements(q->type);
-- execute(db, "BEGIN IMMEDIATE;");
-- if((reqs & GLYR_REQUIRES_ARTIST) || (reqs & GLYR_OPTIONAL_ARTIST)) {
-- ABORT_ON_FAILED_REQS(reqs, GLYR_OPTIONAL_ARTIST, q->artist);
-- INSERT_STRING("INSERT OR IGNORE INTO artists VALUES('%q');", q->artist);
-+ if (db && q && cache)
-+ {
-+ GLYR_FIELD_REQUIREMENT reqs = glyr_get_requirements (q->type);
-+ execute (db,"BEGIN IMMEDIATE;");
-+ if ( (reqs & GLYR_REQUIRES_ARTIST) || (reqs & GLYR_OPTIONAL_ARTIST) )
-+ {
-+ ABORT_ON_FAILED_REQS (reqs,GLYR_OPTIONAL_ARTIST,q->artist);
-+ INSERT_STRING ("INSERT OR IGNORE INTO artists VALUES('%q');",q->artist);
- }
-- if((reqs & GLYR_REQUIRES_ALBUM) || (reqs & GLYR_OPTIONAL_ALBUM)) {
-- ABORT_ON_FAILED_REQS(reqs, GLYR_OPTIONAL_ALBUM, q->album);
-- INSERT_STRING("INSERT OR IGNORE INTO albums VALUES('%q');", q->album);
-+ if ( (reqs & GLYR_REQUIRES_ALBUM) || (reqs & GLYR_OPTIONAL_ALBUM) )
-+ {
-+ ABORT_ON_FAILED_REQS (reqs,GLYR_OPTIONAL_ALBUM,q->album);
-+ INSERT_STRING ("INSERT OR IGNORE INTO albums VALUES('%q');",q->album);
- }
-- if((reqs & GLYR_REQUIRES_TITLE) || (reqs & GLYR_OPTIONAL_TITLE)) {
-- ABORT_ON_FAILED_REQS(reqs, GLYR_OPTIONAL_TITLE, q->title);
-- INSERT_STRING("INSERT OR IGNORE INTO titles VALUES('%q');", q->title);
-+ if ( (reqs & GLYR_REQUIRES_TITLE) || (reqs & GLYR_OPTIONAL_TITLE) )
-+ {
-+ ABORT_ON_FAILED_REQS (reqs,GLYR_OPTIONAL_TITLE,q->title);
-+ INSERT_STRING ("INSERT OR IGNORE INTO titles VALUES('%q');",q->title);
- }
-
-- gchar *provider = CACHE_GET_PROVIDER(cache);
-- INSERT_STRING("INSERT OR IGNORE INTO providers VALUES('%q');", provider);
-- insert_cache_data(db, q, cache);
-+ gchar * provider = CACHE_GET_PROVIDER (cache);
-+ INSERT_STRING ("INSERT OR IGNORE INTO providers VALUES('%q');",provider);
-+ insert_cache_data (db,q,cache);
-
- rollback:
-- execute(db, "COMMIT;");
-+ execute (db,"COMMIT;");
- }
- }
-
-@@ -654,11 +705,11 @@ rollback:
- ////////////////////////////////////
- ////////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_db_make_dummy(void)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_db_make_dummy (void)
- {
-- GlyrMemCache *c = glyr_cache_new();
-- glyr_cache_set_data(c, g_strdup("[dummy]"), -1);
-+ GlyrMemCache * c = glyr_cache_new();
-+ glyr_cache_set_data (c,g_strdup ("[dummy]"),-1);
- c->rating = -1;
- return c;
- }
-@@ -669,14 +720,16 @@ GlyrMemCache *glyr_db_make_dummy(void)
-
- // --------- INTERNALS ------------ //
-
--static void execute(GlyrDatabase *db, const gchar *sql_statement)
-+static void execute (GlyrDatabase * db, const gchar * sql_statement)
- {
-- if(db && sql_statement) {
-- char *err_msg = NULL;
-- sqlite3_exec(db->db_handle, sql_statement, NULL, NULL, &err_msg);
-- if(err_msg != NULL) {
-- glyr_message(-1, NULL, "glyr_db_execute: SQL error: %s\n", err_msg);
-- sqlite3_free(err_msg);
-+ if (db && sql_statement)
-+ {
-+ char * err_msg = NULL;
-+ sqlite3_exec (db->db_handle,sql_statement,NULL,NULL,&err_msg);
-+ if (err_msg != NULL)
-+ {
-+ glyr_message (-1,NULL,"glyr_db_execute: SQL error: %s\n", err_msg);
-+ sqlite3_free (err_msg);
- }
- }
- }
-@@ -689,53 +742,58 @@ static void execute(GlyrDatabase *db, const gchar *sql_statement)
- * Return the current time as double:
- * <seconds>.<microseconds/one_second>
- */
--static double get_current_time(void)
-+static double get_current_time (void)
- {
- struct timeval tim;
-- gettimeofday(&tim, NULL);
-- return (double) tim.tv_sec + ((double) tim.tv_usec / 1e6);
-+ gettimeofday (&tim, NULL);
-+ return (double) tim.tv_sec + ( (double) tim.tv_usec/1e6);
- }
-
- ////////////////////////////////////
-
--static void insert_cache_data(GlyrDatabase *db, GlyrQuery *query, GlyrMemCache *cache)
-+static void insert_cache_data (GlyrDatabase * db, GlyrQuery * query, GlyrMemCache * cache)
- {
-- if(db && query && cache) {
-+ if (db && query && cache)
-+ {
- int pos = 1;
-- char *sql = sqlite3_mprintf(sqlcode[SQL_INSERT_CACHE],
-- query->artist,
-- query->album,
-- query->title,
-- CACHE_GET_PROVIDER(cache),
-- cache->img_format
-- );
-+ char * sql = sqlite3_mprintf (sqlcode[SQL_INSERT_CACHE],
-+ query->artist,
-+ query->album,
-+ query->title,
-+ CACHE_GET_PROVIDER (cache),
-+ cache->img_format
-+ );
-
- sqlite3_stmt *stmt = NULL;
-- sqlite3_prepare_v2(db->db_handle, sql, strlen(sql) + 1, &stmt, NULL);
--
-- SQL_BIND_TEXT(stmt, cache->dsrc, pos++);
-- sqlite3_bind_int(stmt, pos++, cache->duration);
-- sqlite3_bind_int(stmt, pos++, query->type);
-- sqlite3_bind_int(stmt, pos++, cache->type);
-- sqlite3_bind_int(stmt, pos++, cache->size);
-- sqlite3_bind_int(stmt, pos++, cache->is_image);
-- sqlite3_bind_blob(stmt, pos++, cache->md5sum, sizeof cache->md5sum, SQLITE_STATIC);
--
-- if(cache->data != NULL) {
-- sqlite3_bind_blob(stmt, pos++, cache->data, cache->size, SQLITE_STATIC);
-- } else {
-- glyr_message(1, query, "glyr: Warning: Attempting to insert cache with missing data!\n");
-+ sqlite3_prepare_v2 (db->db_handle, sql, strlen (sql) + 1, &stmt, NULL);
-+
-+ SQL_BIND_TEXT (stmt,cache->dsrc,pos++);
-+ sqlite3_bind_int (stmt, pos++, cache->duration);
-+ sqlite3_bind_int (stmt, pos++, query->type);
-+ sqlite3_bind_int (stmt, pos++, cache->type);
-+ sqlite3_bind_int (stmt, pos++, cache->size);
-+ sqlite3_bind_int (stmt, pos++, cache->is_image);
-+ sqlite3_bind_blob (stmt,pos++, cache->md5sum, sizeof cache->md5sum, SQLITE_STATIC);
-+
-+ if (cache->data != NULL)
-+ {
-+ sqlite3_bind_blob (stmt, pos++, cache->data, cache->size, SQLITE_STATIC);
-+ }
-+ else
-+ {
-+ glyr_message (1,query,"glyr: Warning: Attempting to insert cache with missing data!\n");
- }
-
-- sqlite3_bind_int(stmt, pos++, cache->rating);
-- sqlite3_bind_double(stmt, pos++, get_current_time());
-+ sqlite3_bind_int (stmt, pos++, cache->rating);
-+ sqlite3_bind_double (stmt,pos++, get_current_time() );
-
-- if(sqlite3_step(stmt) != SQLITE_DONE) {
-- glyr_message(1, query, "glyr_db_insert: SQL failure: %s\n", sqlite3_errmsg(db->db_handle));
-+ if (sqlite3_step (stmt) != SQLITE_DONE)
-+ {
-+ glyr_message (1,query,"glyr_db_insert: SQL failure: %s\n", sqlite3_errmsg (db->db_handle) );
- }
-
-- sqlite3_finalize(stmt);
-- sqlite3_free(sql);
-+ sqlite3_finalize (stmt);
-+ sqlite3_free (sql);
- }
- }
-
-@@ -747,20 +805,25 @@ static void insert_cache_data(GlyrDatabase *db, GlyrQuery *query, GlyrMemCache *
-
- #define DEBUG_LIST false
-
--static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add)
-+static void add_to_cache_list (GlyrMemCache ** list, GlyrMemCache * to_add)
- {
-- if(to_add && list) {
-- GlyrMemCache *head = *list;
-- if(head == NULL) {
-+ if (to_add && list)
-+ {
-+ GlyrMemCache * head = *list;
-+ if (head == NULL)
-+ {
- /* Initialize list */
- *list = to_add;
-- } else {
-+ }
-+ else
-+ {
- /* Find rating in list
- * head will store the first non-matchin item,
- * tail = head->prev
- * */
-- GlyrMemCache *tail = head;
-- while(head && head->rating > to_add->rating) {
-+ GlyrMemCache * tail = head;
-+ while (head && head->rating > to_add->rating)
-+ {
- tail = head;
- head = head->next;
- }
-@@ -771,19 +834,23 @@ static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add)
- * caches (== higher timestamp), are sorted
- * at the start
- */
-- if(head != NULL) {
-+ if (head != NULL)
-+ {
- int last_rating = head->rating;
-- while(head && head->rating == last_rating && head->timestamp > to_add->timestamp) {
-- GlyrMemCache *p = head->next;
-- if(p && p->rating == last_rating) {
-+ while (head && head->rating == last_rating && head->timestamp > to_add->timestamp)
-+ {
-+ GlyrMemCache * p = head->next;
-+ if (p && p->rating == last_rating)
-+ {
- tail = head;
- head = p;
-- } else if(p == NULL) {
-+ }
-+ else if (p == NULL)
-+ {
- tail = head;
- head = p;
-- } else {
-- break;
- }
-+ else break;
-
- }
- }
-@@ -792,22 +859,23 @@ static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add)
- * If so just append it,
- * else we insert to_add before head
- */
-- g_assert(tail);
-- if(head != NULL) {
-- GlyrMemCache *prev = head->prev;
-- if(prev != NULL) {
-+ g_assert (tail);
-+ if (head != NULL)
-+ {
-+ GlyrMemCache * prev = head->prev;
-+ if (prev != NULL)
- prev->next = to_add;
-- }
-
- to_add->prev = prev;
- to_add->next = head;
-
- head->prev = to_add;
-
-- if(prev == NULL) {
-+ if (prev == NULL)
- *list = to_add;
-- }
-- } else { /* We're at the end */
-+ }
-+ else /* We're at the end */
-+ {
- tail->next = to_add;
- to_add->prev = tail;
- }
-@@ -815,13 +883,14 @@ static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add)
- }
-
- #if DEBUG_LIST
-- GlyrMemCache *p = *list;
-- while(p != NULL) {
-- char *surr = (to_add == p) ? "*" : "|";
-- g_printerr("%s(%d|%2.10f)%s %c ", surr, p->rating, p->timestamp, surr, (p->next) ? '-' : ' ');
-+ GlyrMemCache * p = *list;
-+ while (p != NULL)
-+ {
-+ char * surr = (to_add == p) ? "*" : "|";
-+ g_printerr ("%s(%d|%2.10f)%s %c ",surr,p->rating,p->timestamp,surr, (p->next) ? '-' : ' ');
- p = p->next;
- }
-- puts("");
-+ puts ("");
- #endif
-
- }
-@@ -831,77 +900,86 @@ static void add_to_cache_list(GlyrMemCache **list, GlyrMemCache *to_add)
- ////////////////////////////////////
-
- /* Convert a single result from the DB to an actual Cache */
--static int select_callback(void *result, int argc, char **argv, char **azColName)
-+static int select_callback (void * result, int argc, char ** argv, char ** azColName)
- {
- #if DO_PROFILE
-- g_timer_start(select_callback_timer);
-+ g_timer_start (select_callback_timer);
- #endif
-
-
- int rc = 0;
-- select_callback_data *data = result;
-- GlyrMemCache **list = data->result;
--
-- if(argc >= 15 && data->counter < data->query->number) {
-- GlyrMemCache *cache = DL_init();
-- if(cache != NULL) {
-- cache->prov = g_strdup(argv[3]);
-- cache->dsrc = g_strdup(argv[4]);
-- cache->img_format = g_strdup(argv[5]);
--
-- cache->duration = (argv[6] ? strtol(argv[6], NULL, 10) : 0);
-- cache->type = (argv[8] ? strtol(argv[8], NULL, 10) : 0);
-- cache->size = (argv[9] ? strtol(argv[9], NULL, 10) : 0);
-- cache->is_image = (argv[10] ? strtol(argv[10], NULL, 10) : 0);
--
-- if(argv[11] != NULL) {
-- memcpy(cache->md5sum, argv[11], 16);
-+ select_callback_data * data = result;
-+ GlyrMemCache ** list = data->result;
-+
-+ if (argc >= 15 && data->counter < data->query->number)
-+ {
-+ GlyrMemCache * cache = DL_init();
-+ if (cache != NULL)
-+ {
-+ cache->prov = g_strdup (argv[3]);
-+ cache->dsrc = g_strdup (argv[4]);
-+ cache->img_format = g_strdup (argv[5]);
-+
-+ cache->duration = (argv[6] ? strtol (argv[6],NULL,10) : 0);
-+ cache->type = (argv[8] ? strtol (argv[8],NULL,10) : 0);
-+ cache->size = (argv[9] ? strtol (argv[9],NULL,10) : 0);
-+ cache->is_image = (argv[10] ? strtol (argv[10],NULL,10) : 0);
-+
-+ if (argv[11] != NULL)
-+ {
-+ memcpy (cache->md5sum,argv[11],16);
- }
-
-- if(argv[12] != NULL && cache->size > 0) {
-- cache->data = g_malloc0(cache->size + 1);
-- memcpy(cache->data, argv[12], cache->size);
-+ if (argv[12] != NULL && cache->size > 0)
-+ {
-+ cache->data = g_malloc0 (cache->size + 1);
-+ memcpy (cache->data,argv[12],cache->size);
- cache->data[cache->size] = 0;
- }
-
-- cache->rating = (argv[13] ? strtol(argv[13], NULL, 10) : 0);
-+ cache->rating = (argv[13] ? strtol (argv[13],NULL,10) : 0);
-
- /* Timestamp */
-- if(argv[14] != NULL) {
-+ if (argv[14] != NULL)
-+ {
- /* Normal strtod() cuts off part behin the comma.. */
-- cache->timestamp = (argv[14] ? g_ascii_strtod(argv[14], NULL) : 0);
-+ cache->timestamp = (argv[14] ? g_ascii_strtod (argv[14],NULL) : 0);
- }
-
- /* We're in the cache, so this one was cached.. :) */
- cache->cached = TRUE;
-
-- if(list != NULL) {
-- add_to_cache_list(list, cache);
-- } else if(data->cb != NULL && cache) {
-+ if (list != NULL)
-+ {
-+ add_to_cache_list (list,cache);
-+ }
-+ else if (data->cb != NULL && cache)
-+ {
- GlyrQuery q;
-- glyr_query_init(&q);
-+ glyr_query_init (&q);
-
-- if(argv[7] != NULL) {
-- GLYR_GET_TYPE type = strtol(argv[7], NULL, 10);
-- glyr_opt_type(&q, type);
-+ if (argv[7] != NULL)
-+ {
-+ GLYR_GET_TYPE type = strtol (argv[7],NULL,10);
-+ glyr_opt_type (&q,type);
- }
-
-- glyr_opt_artist(&q, argv[0]);
-- glyr_opt_album(&q, argv[1]);
-- glyr_opt_title(&q, argv[2]);
-+ glyr_opt_artist (&q,argv[0]);
-+ glyr_opt_album (&q, argv[1]);
-+ glyr_opt_title (&q, argv[2]);
-
-- rc = data->cb(&q, cache, data->userptr);
-+ rc = data->cb (&q,cache,data->userptr);
-
-- glyr_query_destroy(&q);
-- DL_free(cache);
-+ glyr_query_destroy (&q);
-+ DL_free (cache);
- }
- }
- }
-
- data->counter++;
- #if DO_PROFILE
-- g_timer_stop(select_callback_timer);
-- select_callback_spent += g_timer_elapsed(select_callback_timer, NULL);
-+ g_timer_stop (select_callback_timer);
-+ select_callback_spent += g_timer_elapsed (select_callback_timer,NULL);
- #endif
- return rc;
- }
-@@ -910,17 +988,20 @@ static int select_callback(void *result, int argc, char **argv, char **azColName
- ////////////////////////////////////
- ////////////////////////////////////
-
--static gchar *convert_from_option_to_sql(GlyrQuery *q)
-+static gchar * convert_from_option_to_sql (GlyrQuery * q)
- {
-- gchar *result = g_strdup("'none'");
--
-- for(GList *elem = r_getSList(); elem; elem = elem->next) {
-- MetaDataSource *item = elem->data;
-- if(item && (q->type == item->type || item->type == GLYR_GET_ANY)) {
-- if(provider_is_enabled(q, item) == TRUE) {
-- gchar *old_mem = result;
-- result = g_strdup_printf("%s%s'%s'", result, (*result) ? ", : "", item->name);
-- g_free(old_mem);
-+ gchar * result = g_strdup ("'none'");
-+
-+ for (GList * elem = r_getSList(); elem; elem = elem->next)
-+ {
-+ MetaDataSource * item = elem->data;
-+ if (item && (q->type == item->type || item->type == GLYR_GET_ANY) )
-+ {
-+ if (provider_is_enabled (q,item) == TRUE)
-+ {
-+ gchar * old_mem = result;
-+ result = g_strdup_printf ("%s%s'%s'",result, (*result) ? "," : "",item->name);
-+ g_free (old_mem);
- }
- }
- }
-@@ -931,23 +1012,25 @@ static gchar *convert_from_option_to_sql(GlyrQuery *q)
- ////////////////////////////////////
- ////////////////////////////////////
-
--static int delete_callback(void *result, int argc, char **argv, char **azColName)
-+static int delete_callback (void * result, int argc, char ** argv, char ** azColName)
- {
-- delete_callback_data *data = result;
-- if(argc >= 4 && result && data->max_delete > data->deleted) {
-+ delete_callback_data * data = result;
-+ if (argc >= 4 && result && data->max_delete > data->deleted)
-+ {
- /* God, this is so silly.. SQL, why you don't like " = null"
- * I can't think of any easier way to do this, tell me if you found one
- */
-- gchar *sql_delete = sqlite3_mprintf(sqlcode[SQL_ACTUAL_DELETE],
-- argv[0] ? "=" : " IS ", argv[0] ? argv[0] : "NULL",
-- argv[1] ? "=" : " IS ", argv[1] ? argv[1] : "NULL",
-- argv[2] ? "=" : " IS ", argv[2] ? argv[2] : "NULL",
-- argv[3] ? "=" : " IS ", argv[3] ? argv[3] : "NULL",
-- argv[4] ? "=" : " IS ", argv[4] ? argv[4] : "NULL");
--
-- if(sql_delete != NULL) {
-- execute(data->con, sql_delete);
-- sqlite3_free(sql_delete);
-+ gchar * sql_delete = sqlite3_mprintf (sqlcode[SQL_ACTUAL_DELETE],
-+ argv[0] ? "=" : " IS ", argv[0] ? argv[0] : "NULL",
-+ argv[1] ? "=" : " IS ", argv[1] ? argv[1] : "NULL",
-+ argv[2] ? "=" : " IS ", argv[2] ? argv[2] : "NULL",
-+ argv[3] ? "=" : " IS ", argv[3] ? argv[3] : "NULL",
-+ argv[4] ? "=" : " IS ", argv[4] ? argv[4] : "NULL");
-+
-+ if (sql_delete != NULL)
-+ {
-+ execute (data->con,sql_delete);
-+ sqlite3_free (sql_delete);
- data->deleted++;
- }
- }
-diff --git a/lib/cache_intern.c b/lib/cache_intern.c
-index af19fd9..b4b6f86 100644
---- a/lib/cache_intern.c
-+++ b/lib/cache_intern.c
-@@ -28,34 +28,39 @@
- /////////////////////////////////
-
- /* Check if a cache is already in the db, by cheskum or source_url */
--gboolean db_contains(GlyrDatabase *db, GlyrMemCache *cache)
-+gboolean db_contains (GlyrDatabase * db, GlyrMemCache * cache)
- {
- gboolean result = FALSE;
-- if(db && cache) {
-- gchar *sql = sqlite3_mprintf(
-- "SELECT source_url, ata_checksum, ata_size, ata_type FROM metadata AS m "
-- "WHERE (m.data_type = %d AND m.data_size = %d AND m.data_checksum = '?') "
-- "OR (m.source_url LIKE '%q' AND m.source_url IS NOT NULL AND data_type = %d) "
-- "LIMIT 1; ",
-- cache->type,
-- cache->size,
-- cache->dsrc,
-- cache->type);
-+ if (db && cache)
-+ {
-+ gchar * sql = sqlite3_mprintf (
-+ "SELECT source_url,data_checksum,data_size,data_type FROM metadata AS m "
-+ "WHERE (m.data_type = %d AND m.data_size = %d AND m.data_checksum = '?') "
-+ "OR (m.source_url LIKE '%q' AND m.source_url IS NOT NULL AND data_type = %d) "
-+ "LIMIT 1; ",
-+ cache->type,
-+ cache->size,
-+ cache->dsrc,
-+ cache->type);
-
-- if(sql != NULL) {
-- sqlite3_stmt *stmt = NULL;
-- sqlite3_prepare_v2(db->db_handle, sql, strlen(sql) + 1, &stmt, NULL);
-- sqlite3_bind_blob(stmt, 1, cache->md5sum, sizeof cache->md5sum, SQLITE_TRANSIENT);
-+ if (sql != NULL)
-+ {
-+ sqlite3_stmt * stmt = NULL;
-+ sqlite3_prepare_v2 (db->db_handle, sql, strlen (sql) + 1, &stmt, NULL);
-+ sqlite3_bind_blob (stmt, 1, cache->md5sum, sizeof cache->md5sum, SQLITE_TRANSIENT);
-
-- int err = sqlite3_step(stmt);
-- if(err == SQLITE_ROW) {
-+ int err = sqlite3_step (stmt);
-+ if (err == SQLITE_ROW)
-+ {
- result = TRUE;
-- } else if(err != SQLITE_DONE) {
-- glyr_message(-1, NULL, "db_contains: error message: %s\n", sqlite3_errmsg(db->db_handle));
-+ }
-+ else if (err != SQLITE_DONE)
-+ {
-+ glyr_message (-1,NULL,"db_contains: error message: %s\n", sqlite3_errmsg (db->db_handle) );
- }
-
-- sqlite3_finalize(stmt);
-- sqlite3_free(sql);
-+ sqlite3_finalize (stmt);
-+ sqlite3_free (sql);
- }
- }
- return result;
-diff --git a/lib/config.h b/lib/config.h
-index cffcc3b..c225e39 100644
---- a/lib/config.h
-+++ b/lib/config.h
-@@ -12,11 +12,11 @@
-
- #define GLYR_VERSION_MAJOR "1"
- #define GLYR_VERSION_MINOR "0"
--#define GLYR_VERSION_MICRO "5"
-+#define GLYR_VERSION_MICRO "6"
-
- #define GLYR_VERSION_MAJOR_INT 1
- #define GLYR_VERSION_MINOR_INT 0
--#define GLYR_VERSION_MICRO_INT 5
-+#define GLYR_VERSION_MICRO_INT 6
-
- /**
- * GLYR_CHECK_VERSION:
-diff --git a/lib/core.c b/lib/core.c
-index d3753fb..e620057 100644
---- a/lib/core.c
-+++ b/lib/core.c
-@@ -39,16 +39,17 @@
- //////////////////////////////////////
-
-
--static int _msg(const char *fmt, va_list params)
-+static int _msg (const char * fmt, va_list params)
- {
-- gchar *tmp_buf = NULL;
-+ gchar * tmp_buf = NULL;
-
- /* Silly, but needs a way to get length */
-- gint written = g_vasprintf(&tmp_buf, fmt, params);
-+ gint written = g_vasprintf (&tmp_buf,fmt,params);
-
-- if(written != -1 && tmp_buf != NULL) {
-- g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "%s", tmp_buf);
-- g_free(tmp_buf);
-+ if (written != -1 && tmp_buf != NULL)
-+ {
-+ g_log (G_LOG_DOMAIN,G_LOG_LEVEL_INFO,"%s",tmp_buf);
-+ g_free (tmp_buf);
- tmp_buf = NULL;
- }
- return written;
-@@ -56,16 +57,19 @@ static int _msg(const char *fmt, va_list params)
-
- //////////////////////////////////////
-
--int glyr_message(int verbosity, GlyrQuery *s, const char *fmt, ...)
-+int glyr_message (int verbosity, GlyrQuery * s, const char * fmt, ...)
- {
- gint written = 0;
-- if(s != NULL || verbosity == -1) {
-- if(verbosity == -1 || verbosity <= s->verbosity) {
-+ if (s != NULL || verbosity == -1)
-+ {
-+ if (verbosity == -1 || verbosity <= s->verbosity)
-+ {
- va_list params;
-- if(fmt != NULL) {
-- va_start(params, fmt);
-- written = _msg(fmt, params);
-- va_end(params);
-+ if (fmt != NULL)
-+ {
-+ va_start (params,fmt);
-+ written = _msg (fmt,params);
-+ va_end (params);
- }
- }
- }
-@@ -78,14 +82,13 @@ int glyr_message(int verbosity, GlyrQuery *s, const char *fmt, ...)
- /**
- * Check if the size of a cover fits the specs
- */
--gboolean size_is_okay(int sZ, int min, int max)
-+gboolean size_is_okay (int sZ, int min, int max)
- {
-- if((min == -1 && max == -1) ||
-+ if ( (min == -1 && max == -1) ||
- (min == -1 && max >= sZ) ||
- (min <= sZ && max == -1) ||
-- (min <= sZ && max >= sZ)) {
-+ (min <= sZ && max >= sZ) )
- return TRUE;
-- }
-
- return FALSE;
- }
-@@ -95,31 +98,35 @@ gboolean size_is_okay(int sZ, int min, int max)
- /* cache incoming data in a GlyrMemCache
- * libglyr is spending quite some time here
- */
--static size_t DL_buffer(void *puffer, size_t size, size_t nmemb, void *buff_data)
-+static size_t DL_buffer (void *puffer, size_t size, size_t nmemb, void * buff_data)
- {
- size_t realsize = size * nmemb;
-- DLBufferContainer *data = (DLBufferContainer *) buff_data;
-- if(data != NULL) {
-- GlyrMemCache *mem = data->cache;
-- mem->data = realloc(mem->data, mem->size + realsize + 1);
-- if(mem->data) {
-- memcpy(& (mem->data[mem->size]), puffer, realsize);
-+ DLBufferContainer * data = (DLBufferContainer *) buff_data;
-+ if (data != NULL)
-+ {
-+ GlyrMemCache * mem = data->cache;
-+ mem->data = realloc (mem->data, mem->size + realsize + 1);
-+ if (mem->data)
-+ {
-+ memcpy (& (mem->data[mem->size]), puffer, realsize);
- mem->size += realsize;
- mem->data[mem->size] = 0;
-
-- GlyrQuery *query = data->query;
-- if(query && GET_ATOMIC_SIGNAL_EXIT(query)) {
-+ GlyrQuery * query = data->query;
-+ if (query && GET_ATOMIC_SIGNAL_EXIT (query) )
-+ {
- return 0;
- }
-
- /* Test if a endmarker is in this buffer */
-- const gchar *endmarker = data->endmarker;
-- if(endmarker && strstr(mem->data, endmarker)) {
-+ const gchar * endmarker = data->endmarker;
-+ if (endmarker && strstr (mem->data,endmarker) )
- return 0;
-- }
-- } else {
-- glyr_message(-1, NULL, "Caching failed: Out of memory.\n");
-- glyr_message(-1, NULL, "Did you perhaps try to load a 4, GB .iso into your RAM?\n");
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Caching failed: Out of memory.\n");
-+ glyr_message (-1,NULL,"Did you perhaps try to load a 4,7GB .iso into your RAM?\n");
- }
- }
- return realsize;
-@@ -127,40 +134,46 @@ static size_t DL_buffer(void *puffer, size_t size, size_t nmemb, void *buff_data
-
- //////////////////////////////////////
-
--void DL_set_data(GlyrMemCache *cache, const gchar *data, gint len)
-+void DL_set_data (GlyrMemCache * cache, const gchar * data, gint len)
- {
-- if(cache != NULL) {
-- g_free(cache->data);
--
-- cache->data = (gchar *) data;
-- if(data != NULL) {
-- cache->size = (len >= 0) ? (gsize) len : strlen(data);
-- update_md5sum(cache);
-- } else {
-+ if (cache != NULL)
-+ {
-+ g_free (cache->data);
-+
-+ cache->data = (gchar*) data;
-+ if (data != NULL)
-+ {
-+ cache->size = (len >= 0) ? (gsize) len : strlen (data);
-+ update_md5sum (cache);
-+ }
-+ else
-+ {
- cache->size = 0;
-- memset(cache->md5sum, 0, 16);
-+ memset (cache->md5sum,0,16);
- }
- }
- }
-
- //////////////////////////////////////
-
--GlyrMemCache *DL_copy(GlyrMemCache *cache)
-+GlyrMemCache * DL_copy (GlyrMemCache * cache)
- {
-- GlyrMemCache *result = NULL;
-- if(cache != NULL) {
-- result = g_malloc0(sizeof(GlyrMemCache));
-- memcpy(result, cache, sizeof(GlyrMemCache));
-- if(cache->size > 0) {
-+ GlyrMemCache * result = NULL;
-+ if (cache != NULL)
-+ {
-+ result = g_malloc0 (sizeof (GlyrMemCache) );
-+ memcpy (result,cache,sizeof (GlyrMemCache) );
-+ if (cache->size > 0)
-+ {
- /* Remember NUL for strings */
-- result->data = g_malloc(cache->size + 1);
-+ result->data = g_malloc (cache->size + 1);
- result->data[cache->size] = 0;
-- memcpy(result->data, cache->data, cache->size);
-+ memcpy (result->data,cache->data,cache->size);
- }
-- result->dsrc = g_strdup(cache->dsrc);
-- result->prov = g_strdup(cache->prov);
-- result->img_format = g_strdup(cache->img_format);
-- memcpy(result->md5sum, cache->md5sum, 16);
-+ result->dsrc = g_strdup (cache->dsrc);
-+ result->prov = g_strdup (cache->prov);
-+ result->img_format = g_strdup (cache->img_format);
-+ memcpy (result->md5sum,cache->md5sum,16);
-
- result->next = NULL;
- result->prev = NULL;
-@@ -171,28 +184,32 @@ GlyrMemCache *DL_copy(GlyrMemCache *cache)
- //////////////////////////////////////
-
- // cleanup internal buffer if no longer used
--void DL_free(GlyrMemCache *cache)
-+void DL_free (GlyrMemCache *cache)
- {
-- if(cache) {
-- if(cache->size && cache->data) {
-- g_free(cache->data);
-+ if (cache)
-+ {
-+ if (cache->size && cache->data)
-+ {
-+ g_free (cache->data);
- cache->data = NULL;
- }
-- if(cache->dsrc) {
-- g_free(cache->dsrc);
-+ if (cache->dsrc)
-+ {
-+ g_free (cache->dsrc);
- cache->dsrc = NULL;
- }
-
-- if(cache->prov) {
-- g_free(cache->prov);
-+ if (cache->prov)
-+ {
-+ g_free (cache->prov);
- cache->prov = NULL;
- }
-
- cache->size = 0;
- cache->type = GLYR_TYPE_UNKNOWN;
-
-- g_free(cache->img_format);
-- g_free(cache);
-+ g_free (cache->img_format);
-+ g_free (cache);
- cache = NULL;
- }
- }
-@@ -200,10 +217,10 @@ void DL_free(GlyrMemCache *cache)
- //////////////////////////////////////
-
- // Use this to init the internal buffer
--GlyrMemCache *DL_init(void)
-+GlyrMemCache* DL_init (void)
- {
-- GlyrMemCache *cache = g_malloc0(sizeof(GlyrMemCache));
-- memset(cache, 0, sizeof(GlyrMemCache));
-+ GlyrMemCache * cache = g_malloc0 (sizeof (GlyrMemCache) );
-+ memset (cache,0,sizeof (GlyrMemCache) );
-
- cache->type = GLYR_TYPE_UNKNOWN;
- cache->cached = FALSE;
-@@ -216,29 +233,37 @@ GlyrMemCache *DL_init(void)
- //////////////////////////////////////
-
- // Splits http_proxy to libcurl conform represantation
--static gboolean proxy_to_curl(gchar *proxystring, char **userpwd, char **server)
-+static gboolean proxy_to_curl (gchar * proxystring, char ** userpwd, char ** server)
- {
-- if(proxystring && userpwd && server) {
-- if(proxystring != NULL) {
-- gchar *ddot = strchr(proxystring, ':');
-- gchar *asgn = strchr(proxystring, '@');
--
-- if(ddot == NULL || asgn < ddot) {
-- *server = g_strdup(proxystring);
-+ if (proxystring && userpwd && server)
-+ {
-+ if (proxystring != NULL)
-+ {
-+ gchar * ddot = strchr (proxystring,':');
-+ gchar * asgn = strchr (proxystring,'@');
-+
-+ if (ddot == NULL || asgn < ddot)
-+ {
-+ *server = g_strdup (proxystring);
- *userpwd = NULL;
- return TRUE;
-- } else {
-- gsize len = strlen(proxystring);
-- char *protocol = strstr(proxystring, "://");
--
-- if(protocol == NULL) {
-- protocol = (gchar *) proxystring;
-- } else {
-+ }
-+ else
-+ {
-+ gsize len = strlen (proxystring);
-+ char * protocol = strstr (proxystring,"://");
-+
-+ if (protocol == NULL)
-+ {
-+ protocol = (gchar*) proxystring;
-+ }
-+ else
-+ {
- protocol += 3;
- }
-
-- *userpwd = g_strndup(protocol, asgn - protocol);
-- *server = g_strndup(asgn + 1, protocol + len - asgn);
-+ *userpwd = g_strndup (protocol,asgn-protocol);
-+ *server = g_strndup (asgn+1,protocol+len-asgn);
- return TRUE;
- }
- }
-@@ -249,44 +274,51 @@ static gboolean proxy_to_curl(gchar *proxystring, char **userpwd, char **server)
-
- //////////////////////////////////////
-
--struct header_data {
-- gchar *type;
-- gchar *format;
-- gchar *extra;
-+struct header_data
-+{
-+ gchar * type;
-+ gchar * format;
-+ gchar * extra;
- };
-
- //////////////////////////////////////
-
- /* Parse header file. Get Contenttype from it and save it in the header_data struct */
--gsize header_cb(void *ptr, gsize size, gsize nmemb, void *userdata)
-+gsize header_cb (void *ptr, gsize size, gsize nmemb, void *userdata)
- {
- gsize bytes = size * nmemb;
-- if(ptr != NULL && userdata != NULL) {
-+ if (ptr != NULL && userdata != NULL)
-+ {
- /* Transform safely into string */
- gchar nulbuf[bytes + 1];
-- memcpy(nulbuf, ptr, bytes);
-+ memcpy (nulbuf,ptr,bytes);
- nulbuf[bytes] = '\0';
-
- /* We're only interested in the content type */
-- gchar *cttp = "Content-Type: ";
-- gsize ctt_len = strlen(cttp);
-- if(ctt_len < bytes && g_ascii_strncasecmp(cttp, nulbuf, ctt_len) == 0) {
-- gchar **content_type = g_strsplit_set(nulbuf + ctt_len, " /;", 0);
-- if(content_type != NULL) {
-+ gchar * cttp = "Content-Type: ";
-+ gsize ctt_len = strlen (cttp);
-+ if (ctt_len < bytes && g_ascii_strncasecmp (cttp,nulbuf,ctt_len) == 0)
-+ {
-+ gchar ** content_type = g_strsplit_set (nulbuf + ctt_len," /;",0);
-+ if (content_type != NULL)
-+ {
- gsize set_at = 0;
-- gchar **elem = content_type;
-- struct header_data *info = userdata;
-+ gchar ** elem = content_type;
-+ struct header_data * info = userdata;
-
- /* Set fields.. */
-- while(elem[0] != NULL) {
-- if(elem[0][0] != '\0') {
-- switch(set_at) {
-+ while (elem[0] != NULL)
-+ {
-+ if (elem[0][0] != '\0')
-+ {
-+ switch (set_at)
-+ {
- case 0:
-- g_free(info->type);
-- info->type = g_strdup(elem[0]);
-+ g_free (info->type);
-+ info->type = g_strdup (elem[0]);
- break;
- case 1:
-- g_free(info->format);
-+ g_free (info->format);
-
- /*
- * Specialcase:
-@@ -294,24 +326,27 @@ gsize header_cb(void *ptr, gsize size, gsize nmemb, void *userdata)
- * for their images. This is annoying, but needs to be
- * handled nevertheless. Shame on you, htbackdrops.
- * */
-- if(g_ascii_strncasecmp(elem[0], "octet-stream", 12) == 0) {
-- g_free(info->type);
-- info->type = g_strdup("image");
-- info->format = g_strdup("jpeg");
-- } else {
-- info->format = g_strdup(elem[0]);
-+ if (g_ascii_strncasecmp (elem[0],"octet-stream",12) == 0)
-+ {
-+ g_free (info->type);
-+ info->type = g_strdup ("image");
-+ info->format = g_strdup ("jpeg");
-+ }
-+ else
-+ {
-+ info->format = g_strdup (elem[0]);
- }
- break;
- case 2:
-- g_free(info->extra);
-- info->extra = g_strdup(elem[0]);
-+ g_free (info->extra);
-+ info->extra = g_strdup (elem[0]);
- break;
- }
- set_at++;
- }
- elem++;
- }
-- g_strfreev(content_type);
-+ g_strfreev (content_type);
- }
- }
- }
-@@ -321,94 +356,107 @@ gsize header_cb(void *ptr, gsize size, gsize nmemb, void *userdata)
- //////////////////////////////////////
-
- /* empty callback just prevent writing header to stdout */
--gsize nearly_empty_callback(void *p, gsize size, gsize numb, void *pp_Query)
-+gsize nearly_empty_callback (void * p, gsize size, gsize numb, void * pp_Query)
- {
-- GlyrQuery *query = (GlyrQuery *) pp_Query;
-- return (query && GET_ATOMIC_SIGNAL_EXIT(query)) ? 0 : (size * numb);
-+ GlyrQuery * query = (GlyrQuery *) pp_Query;
-+ return (query && GET_ATOMIC_SIGNAL_EXIT (query) ) ? 0 : (size * numb);
- }
-
- //////////////////////////////////////
-
--static void DL_setproxy(CURL *eh, gchar *proxystring)
-+static void DL_setproxy (CURL *eh, gchar * proxystring)
- {
-- if(proxystring != NULL) {
-- gchar *userpwd;
-- gchar *server;
-- proxy_to_curl(proxystring, &userpwd, &server);
--
-- if(server != NULL) {
-- curl_easy_setopt(eh, CURLOPT_PROXY, server);
-- g_free(server);
-- } else {
-- glyr_message(-1, NULL, "Warning: Invalid proxy string.\n");
-+ if (proxystring != NULL)
-+ {
-+ gchar * userpwd;
-+ gchar * server;
-+ proxy_to_curl (proxystring,&userpwd,&server);
-+
-+ if (server != NULL)
-+ {
-+ curl_easy_setopt (eh, CURLOPT_PROXY,server);
-+ g_free (server);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Warning: Invalid proxy string.\n");
- }
-
-- if(userpwd != NULL) {
-- curl_easy_setopt(eh, CURLOPT_PROXYUSERPWD, userpwd);
-- g_free(userpwd);
-+ if (userpwd != NULL)
-+ {
-+ curl_easy_setopt (eh,CURLOPT_PROXYUSERPWD,userpwd);
-+ g_free (userpwd);
- }
- }
- }
-
- //////////////////////////////////////
-
--static struct header_data *retrieve_content_info(gchar *url, gchar *proxystring, gchar *useragent, GlyrQuery *query)
-+static struct header_data * retrieve_content_info (gchar * url, gchar * proxystring, gchar * useragent, GlyrQuery * query)
- {
-- struct header_data *info = NULL;
-- if(url != NULL) {
-- CURL *eh = curl_easy_init();
-+ struct header_data * info = NULL;
-+ if (url != NULL)
-+ {
-+ CURL * eh = curl_easy_init();
- CURLcode rc = CURLE_OK;
-
-- info = g_malloc0(sizeof(struct header_data));
-- gchar *link_user_agent = g_strdup_printf("%s / linkvalidator", useragent);
-+ info = g_malloc0 (sizeof (struct header_data) );
-+ gchar * link_user_agent = g_strdup_printf ("%s / linkvalidator",useragent);
-
-- curl_easy_setopt(eh, CURLOPT_TIMEOUT, 10);
-- curl_easy_setopt(eh, CURLOPT_NOSIGNAL, 1L);
-- curl_easy_setopt(eh, CURLOPT_USERAGENT, link_user_agent);
-- curl_easy_setopt(eh, CURLOPT_URL, url);
-- curl_easy_setopt(eh, CURLOPT_FOLLOWLOCATION, TRUE);
-- curl_easy_setopt(eh, CURLOPT_MAXREDIRS, 5L);
-- curl_easy_setopt(eh, CURLOPT_HEADER, TRUE);
-- curl_easy_setopt(eh, CURLOPT_SSL_VERIFYPEER, FALSE);
-+ curl_easy_setopt (eh, CURLOPT_TIMEOUT, 10);
-+ curl_easy_setopt (eh, CURLOPT_NOSIGNAL, 1L);
-+ curl_easy_setopt (eh, CURLOPT_USERAGENT, link_user_agent);
-+ curl_easy_setopt (eh, CURLOPT_URL,url);
-+ curl_easy_setopt (eh, CURLOPT_FOLLOWLOCATION, TRUE);
-+ curl_easy_setopt (eh, CURLOPT_MAXREDIRS, 5L);
-+ curl_easy_setopt (eh, CURLOPT_HEADER,TRUE);
-+ curl_easy_setopt (eh, CURLOPT_SSL_VERIFYPEER, FALSE);
-
- /* Dirty hack here: Amazon bitches at me when setting NOBODY to true *
- * But otherwise large images won't pass with other providers *
- * Check domain therefore..
- */
-- if(strstr(url, "amazon") != NULL) {
-- curl_easy_setopt(eh, CURLOPT_NOBODY, FALSE);
-- } else {
-- curl_easy_setopt(eh, CURLOPT_NOBODY, TRUE);
-+ if (strstr (url,"amazon") != NULL)
-+ {
-+ curl_easy_setopt (eh, CURLOPT_NOBODY,FALSE);
-+ }
-+ else
-+ {
-+ curl_easy_setopt (eh, CURLOPT_NOBODY,TRUE);
- }
-
-- curl_easy_setopt(eh, CURLOPT_HEADERFUNCTION, header_cb);
-- curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, nearly_empty_callback);
-- curl_easy_setopt(eh, CURLOPT_WRITEDATA, query);
-- curl_easy_setopt(eh, CURLOPT_WRITEHEADER, info);
-+ curl_easy_setopt (eh, CURLOPT_HEADERFUNCTION, header_cb);
-+ curl_easy_setopt (eh, CURLOPT_WRITEFUNCTION, nearly_empty_callback);
-+ curl_easy_setopt (eh, CURLOPT_WRITEDATA, query);
-+ curl_easy_setopt (eh, CURLOPT_WRITEHEADER, info);
-
- /* Set proxy, if any */
-- DL_setproxy(eh, proxystring);
-+ DL_setproxy (eh, proxystring);
-
- /* This seemed to prevent some valid urls from passing. Strange. */
-- //curl_easy_setopt(eh, CURLOPT_FAILONERROR, RUE);
-+ //curl_easy_setopt(eh, CURLOPT_FAILONERROR,TRUE);
-
-- rc = curl_easy_perform(eh);
-- curl_easy_cleanup(eh);
-+ rc = curl_easy_perform (eh);
-+ curl_easy_cleanup (eh);
-
-- if(rc != CURLE_OK) {
-- if(GET_ATOMIC_SIGNAL_EXIT(query) == FALSE) {
-- glyr_message(1, query, "- DLError: %s [%d]\n", curl_easy_strerror(rc), rc);
-+ if (rc != CURLE_OK)
-+ {
-+ if (GET_ATOMIC_SIGNAL_EXIT (query) == FALSE)
-+ {
-+ glyr_message (1,query,"- DLError: %s [%d]\n",curl_easy_strerror (rc),rc);
- }
-- g_free(info);
-+ g_free (info);
- info = NULL;
-- } else {
-- /* Remove trailing newlines, arriage returns */
-- chomp_breakline(info->type);
-- chomp_breakline(info->format);
-- chomp_breakline(info->extra);
-+ }
-+ else
-+ {
-+ /* Remove trailing newlines,carriage returns */
-+ chomp_breakline (info->type);
-+ chomp_breakline (info->format);
-+ chomp_breakline (info->extra);
- }
-
-- g_free(link_user_agent);
-+ g_free (link_user_agent);
- }
- return info;
- }
-@@ -416,57 +464,58 @@ static struct header_data *retrieve_content_info(gchar *url, gchar *proxystring,
- //////////////////////////////////////
-
- // Init an easyhandler with all relevant options
--static DLBufferContainer *DL_setopt(CURL *eh, GlyrMemCache *cache, const char *url, GlyrQuery *s, void *magic_private_ptr, long timeout, gchar *endmarker)
-+static DLBufferContainer * DL_setopt (CURL *eh, GlyrMemCache * cache, const char * url, GlyrQuery * s, void * magic_private_ptr, long timeout, gchar * endmarker)
- {
- // Set options (see 'man curl_easy_setopt')
-- curl_easy_setopt(eh, CURLOPT_TIMEOUT, timeout);
-- curl_easy_setopt(eh, CURLOPT_NOSIGNAL, 1L);
-+ curl_easy_setopt (eh, CURLOPT_TIMEOUT, timeout);
-+ curl_easy_setopt (eh, CURLOPT_NOSIGNAL, 1L);
-
- // last.fm and discogs require an useragent (wokrs without too)
-- curl_easy_setopt(eh, CURLOPT_USERAGENT, (s && s->useragent) ? s->useragent : GLYR_DEFAULT_USERAGENT);
-- curl_easy_setopt(eh, CURLOPT_HEADER, 0L);
-+ curl_easy_setopt (eh, CURLOPT_USERAGENT, (s && s->useragent) ? s->useragent : GLYR_DEFAULT_USERAGENT);
-+ curl_easy_setopt (eh, CURLOPT_HEADER, 0L);
-
- // Pass vars to curl
-- curl_easy_setopt(eh, CURLOPT_URL, url);
-- curl_easy_setopt(eh, CURLOPT_PRIVATE, magic_private_ptr);
-- curl_easy_setopt(eh, CURLOPT_VERBOSE, (s && s->verbosity >= 4));
-- curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, DL_buffer);
-- curl_easy_setopt(eh, CURLOPT_SSL_VERIFYPEER, FALSE);
--
-- DLBufferContainer *dlbuffer = g_malloc0(sizeof(DLBufferContainer));
-- curl_easy_setopt(eh, CURLOPT_WRITEDATA, (void *) dlbuffer);
-+ curl_easy_setopt (eh, CURLOPT_URL, url);
-+ curl_easy_setopt (eh, CURLOPT_PRIVATE, magic_private_ptr);
-+ curl_easy_setopt (eh, CURLOPT_VERBOSE, (s && s->verbosity >= 4) );
-+ curl_easy_setopt (eh, CURLOPT_WRITEFUNCTION, DL_buffer);
-+ curl_easy_setopt (eh, CURLOPT_SSL_VERIFYPEER, FALSE);
-+
-+ DLBufferContainer * dlbuffer = g_malloc0 (sizeof (DLBufferContainer) );
-+ curl_easy_setopt (eh, CURLOPT_WRITEDATA, (void *) dlbuffer);
- dlbuffer->cache = cache;
- dlbuffer->endmarker = endmarker;
- dlbuffer->query = s;
-
- // amazon plugin requires redirects
-- curl_easy_setopt(eh, CURLOPT_FOLLOWLOCATION, 1L);
-- curl_easy_setopt(eh, CURLOPT_MAXREDIRS, (s) ? s->redirects : 2);
-+ curl_easy_setopt (eh, CURLOPT_FOLLOWLOCATION, 1L);
-+ curl_easy_setopt (eh, CURLOPT_MAXREDIRS, (s) ? s->redirects : 2);
-
- // Do not download 404 pages
-- curl_easy_setopt(eh, CURLOPT_FAILONERROR, 1L);
-+ curl_easy_setopt (eh, CURLOPT_FAILONERROR, 1L);
-
- // Set proxy to use
-- DL_setproxy(eh, (gchar *)(s) ? s->proxy : NULL);
-+ DL_setproxy (eh, (gchar*) (s) ? s->proxy : NULL);
-
- // Discogs requires gzip compression
-- curl_easy_setopt(eh, CURLOPT_ENCODING, "gzip");
-+ curl_easy_setopt (eh, CURLOPT_ENCODING,"gzip");
-
- // Don't save cookies - I had some quite embarassing moments
- // when amazon's startpage showed me "Hooray for Boobies",
- // because I searched for the Bloodhoundgang album...
- // (because I have it already of course! ;-))
-- curl_easy_setopt(eh, CURLOPT_COOKIEJAR , "");
-+ curl_easy_setopt (eh, CURLOPT_COOKIEJAR ,"");
-
- return dlbuffer;
- }
-
- //////////////////////////////////////
-
--gboolean continue_search(gint current, GlyrQuery *s)
-+gboolean continue_search (gint current, GlyrQuery * s)
- {
- gboolean decision = FALSE;
-- if(s != NULL && GET_ATOMIC_SIGNAL_EXIT(s) == FALSE) {
-+ if (s != NULL && GET_ATOMIC_SIGNAL_EXIT (s) == FALSE)
-+ {
- /* Take an educated guess, let the provider get more, because URLs might be wrong,
- * as we check this later, it's good to have some more ULRs waiting for us, *
- * alternatively we might hit the maximum for one plugin (off by one!) */
-@@ -477,7 +526,7 @@ gboolean continue_search(gint current, GlyrQuery *s)
- */
- gint pre_cache = (s->local_db) ? s->number : 0;
- decision = (current + s->itemctr) < (s->number + buffering + pre_cache) &&
-- (current < s->plugmax || (s->plugmax == -1));
-+ (current < s->plugmax || (s->plugmax == -1) );
-
- }
- return decision;
-@@ -488,46 +537,55 @@ gboolean continue_search(gint current, GlyrQuery *s)
- //////////////////////////////////////
-
- /* Check for dupes. This does not affect the HEAD of the list, therefore no GList return */
--gsize delete_dupes(GList *result, GlyrQuery *s)
-+gsize delete_dupes (GList * result, GlyrQuery * s)
- {
-- if(!result || g_list_length(result) < 1) {
-+ if (!result || g_list_length (result) < 1)
- return 0;
-- }
-
- /* Build new hashes, the data might have changed */
-- for(GList *elem = result; elem; elem = elem->next) {
-- update_md5sum(elem->data);
-+ for (GList * elem = result; elem; elem = elem->next)
-+ {
-+ update_md5sum (elem->data);
- }
-
- gint double_items = 0;
-- for(GList *inode = result; inode; inode = inode->next) {
-- GlyrMemCache *lval = inode->data;
-+ for (GList * inode = result; inode; inode = inode->next)
-+ {
-+ GlyrMemCache * lval = inode->data;
-
-- GList *jnode = result;
-- while(jnode != NULL) {
-+ GList * jnode = result;
-+ while (jnode != NULL)
-+ {
- bool is_duplicate = false;
-- GlyrMemCache *rval = jnode->data;
-+ GlyrMemCache * rval = jnode->data;
-
-- if(lval && rval && rval != lval && lval->size == rval->size) {
-+ if (lval && rval && rval != lval && lval->size == rval->size)
-+ {
- /* Compare via checkums */
-- if(CALC_MD5SUMS == false) {
-- if(!memcmp(lval->data, rval->data, rval->size)) {
-+ if (CALC_MD5SUMS == false)
-+ {
-+ if (!memcmp (lval->data,rval->data,rval->size) )
-+ {
- is_duplicate = true;
- }
-- } else {
-- if(!memcmp(lval->md5sum, rval->md5sum, 16)) {
-+ }
-+ else
-+ {
-+ if (!memcmp (lval->md5sum,rval->md5sum,16) )
-+ {
- is_duplicate = true;
- }
- }
-
- /* Delete this element.. */
-- if(is_duplicate == true) {
-- DL_free(rval);
-+ if (is_duplicate == true)
-+ {
-+ DL_free (rval);
-
- /* Delete this ref from the list */
-- GList *to_free = jnode;
-+ GList * to_free = jnode;
- jnode = jnode->next;
-- result = g_list_delete_link(result, to_free);
-+ result = g_list_delete_link (result,to_free);
-
- /* Remember him.. */
- double_items++;
-@@ -544,52 +602,59 @@ gsize delete_dupes(GList *result, GlyrQuery *s)
- //////////////////////////////////////
-
- // Download a singe file NOT in parallel
--GlyrMemCache *download_single(const char *url, GlyrQuery *s, const char *end)
-+GlyrMemCache * download_single (const char* url, GlyrQuery * s, const char * end)
- {
-- if(url != NULL && is_blacklisted((gchar *) url) == false) {
-+ if (url != NULL && is_blacklisted ( (gchar*) url) == false)
-+ {
- CURL *curl = NULL;
- CURLcode res = 0;
-
- /* Init handles */
- curl = curl_easy_init();
-- GlyrMemCache *dldata = DL_init();
-+ GlyrMemCache * dldata = DL_init();
-
- /* DL_buffer needs the 'end' mark.
- * As I didnt want to introduce a new struct just for this
- * I save it in->dsrc */
-- if(end != NULL) {
-- dldata->dsrc = g_strdup(end);
-+ if (end != NULL)
-+ {
-+ dldata->dsrc = g_strdup (end);
- }
-
-- if(curl != NULL) {
-+ if (curl != NULL)
-+ {
- /* Configure curl */
-- DLBufferContainer *dlbuffer = DL_setopt(curl, dldata, url, s, NULL, (s) ? s->timeout : 5, NULL);
-+ DLBufferContainer * dlbuffer = DL_setopt (curl,dldata,url,s,NULL, (s) ? s->timeout : 5, NULL);
-
- /* Perform transaction */
-- res = curl_easy_perform(curl);
-+ res = curl_easy_perform (curl);
-
- /* Free the pointer buff */
-- g_free(dlbuffer);
-+ g_free (dlbuffer);
-
- /* Better check again */
-- if(res != CURLE_OK && res != CURLE_WRITE_ERROR) {
-- glyr_message(3, s, "glyr: E: singledownload: %s [E:%d]\n", curl_easy_strerror(res), res);
-- DL_free(dldata);
-+ if (res != CURLE_OK && res != CURLE_WRITE_ERROR)
-+ {
-+ glyr_message (3,s,"glyr: E: singledownload: %s [E:%d]\n", curl_easy_strerror (res),res);
-+ DL_free (dldata);
- dldata = NULL;
-- } else {
-+ }
-+ else
-+ {
- /* Set the source URL */
-- if(dldata->dsrc != NULL) {
-- g_free(dldata->dsrc);
-+ if (dldata->dsrc != NULL)
-+ {
-+ g_free (dldata->dsrc);
- }
-
-- dldata->dsrc = g_strdup(url);
-+ dldata->dsrc = g_strdup (url);
- }
-
-- curl_easy_cleanup(curl);
-- update_md5sum(dldata);
-+ curl_easy_cleanup (curl);
-+ update_md5sum (dldata);
- return dldata;
- }
-- DL_free(dldata);
-+ DL_free (dldata);
- }
- return NULL;
- }
-@@ -597,10 +662,11 @@ GlyrMemCache *download_single(const char *url, GlyrQuery *s, const char *end)
- //////////////////////////////////////
-
- // Init a callback object and a curl_easy_handle
--static GlyrMemCache *init_async_cache(CURLM *cm, cb_object *capo, GlyrQuery *s, long timeout, gchar *endmark)
-+static GlyrMemCache * init_async_cache (CURLM * cm, cb_object * capo, GlyrQuery *s, long timeout, gchar * endmark)
- {
-- GlyrMemCache *dlcache = NULL;
-- if(capo && capo->url) {
-+ GlyrMemCache * dlcache = NULL;
-+ if (capo && capo->url)
-+ {
- /* Init handle */
- CURL *eh = curl_easy_init();
-
-@@ -614,10 +680,10 @@ static GlyrMemCache *init_async_cache(CURLM *cm, cb_object *capo, GlyrQuery *s,
- capo->dlbuffer = NULL;
-
- /* Configure this handle */
-- capo->dlbuffer = DL_setopt(eh, dlcache, capo->url, s, (void *) capo, timeout, endmark);
-+ capo->dlbuffer = DL_setopt (eh, dlcache, capo->url, s, (void*) capo,timeout, endmark);
-
- /* Add handle to multihandle */
-- curl_multi_add_handle(cm, eh);
-+ curl_multi_add_handle (cm, eh);
-
- /* This is set to true once DL_buffer is reached */
- capo->was_buffered = FALSE;
-@@ -628,22 +694,24 @@ static GlyrMemCache *init_async_cache(CURLM *cm, cb_object *capo, GlyrQuery *s,
-
- //////////////////////////////////////
-
--static GList *init_async_download(GList *url_list, GList *endmark_list, CURLM *cmHandle, GlyrQuery *s, int abs_timeout)
-+static GList * init_async_download (GList * url_list, GList * endmark_list, CURLM * cmHandle, GlyrQuery * s, int abs_timeout)
- {
-- GList *cb_list = NULL;
-- for(GList *elem = url_list; elem; elem = elem->next) {
-- if(is_blacklisted((gchar *) elem->data) == false) {
-- cb_object *obj = g_malloc0(sizeof(cb_object));
-+ GList * cb_list = NULL;
-+ for (GList * elem = url_list; elem; elem = elem->next)
-+ {
-+ if (is_blacklisted ( (gchar*) elem->data) == false)
-+ {
-+ cb_object * obj = g_malloc0 (sizeof (cb_object) );
- obj->s = s;
-- obj->url = g_strdup((gchar *)(elem->data));
-- cb_list = g_list_prepend(cb_list, obj);
-+ obj->url = g_strdup ( (gchar*) (elem->data) );
-+ cb_list = g_list_prepend (cb_list,obj);
- obj->consumed = FALSE;
-
- /* Get the endmark from the endmark list */
-- gint endmark_pos = g_list_position(url_list, elem);
-- GList *glist_m = g_list_nth(endmark_list, endmark_pos);
-- gchar *endmark = (glist_m == NULL) ? NULL : glist_m->data;
-- obj->cache = init_async_cache(cmHandle, obj, s, abs_timeout, endmark);
-+ gint endmark_pos = g_list_position (url_list,elem);
-+ GList * glist_m = g_list_nth (endmark_list,endmark_pos);
-+ gchar * endmark = (glist_m==NULL) ? NULL : glist_m->data;
-+ obj->cache = init_async_cache (cmHandle,obj,s,abs_timeout,endmark);
- }
- }
- return cb_list;
-@@ -651,46 +719,51 @@ static GList *init_async_download(GList *url_list, GList *endmark_list, CURLM *c
-
- //////////////////////////////////////
-
--static void destroy_async_download(GList *cb_list, CURLM *cmHandle, gboolean free_caches)
-+static void destroy_async_download (GList * cb_list, CURLM * cmHandle, gboolean free_caches)
- {
- /* Free ressources */
-- curl_multi_cleanup(cmHandle);
--
-- if(cb_list != NULL) {
-- for(GList *elem = cb_list; elem; elem = elem->next) {
-- cb_object *item = elem->data;
-- if(item->handle != NULL) {
-- curl_easy_cleanup(item->handle);
-+ curl_multi_cleanup (cmHandle);
-+
-+ if (cb_list != NULL)
-+ {
-+ for (GList * elem = cb_list; elem; elem = elem->next)
-+ {
-+ cb_object * item = elem->data;
-+ if (item->handle != NULL)
-+ {
-+ curl_easy_cleanup (item->handle);
- }
-
- /* Also free unbuffered items, that don't appear in the queue,
- * even if free_caches was set to FALSE
- */
-- if((free_caches == TRUE || item->was_buffered == FALSE)
-- && item->consumed == FALSE) {
-- DL_free(item->cache);
-+ if ( (free_caches == TRUE || item->was_buffered == FALSE)
-+ && item->consumed == FALSE)
-+ {
-+ DL_free (item->cache);
- item->cache = NULL;
- }
-
-- g_free(item->dlbuffer);
-- g_free(item->url);
-+ g_free (item->dlbuffer);
-+ g_free (item->url);
- }
-- glist_free_full(cb_list, g_free);
-+ glist_free_full (cb_list,g_free);
- }
- }
-
- //////////////////////////////////////
- /* ----------------- THE HEART OF GOLD ------------------ */
- //////////////////////////////////////
--GList *async_download(GList *url_list, GList *endmark_list, GlyrQuery *s, long parallel_fac, long timeout_fac, AsyncDLCB asdl_callback, void *userptr, gboolean free_caches)
-+GList * async_download (GList * url_list, GList * endmark_list, GlyrQuery * s, long parallel_fac, long timeout_fac, AsyncDLCB asdl_callback, void * userptr, gboolean free_caches)
- {
- /* Storage for result items */
-- GList *item_list = NULL;
-+ GList * item_list = NULL;
-
-- if(url_list != NULL && s != NULL) {
-+ if (url_list != NULL && s != NULL)
-+ {
- /* total timeout and parallel tries */
-- long abs_timeout = ABS(timeout_fac * s->timeout);
-- long abs_parallel = ABS(parallel_fac * s->parallel);
-+ long abs_timeout = ABS (timeout_fac * s->timeout);
-+ long abs_parallel = ABS (parallel_fac * s->parallel);
-
- /* select() control */
- int max_fd, queue_msg, running_handles = -1;
-@@ -698,57 +771,64 @@ GList *async_download(GList *url_list, GList *endmark_list, GlyrQuery *s, long p
- fd_set ReadFDS, WriteFDS, ErrorFDS;
-
- /* Curl Multi Handles (~ container for easy handlers) */
-- CURLM *cmHandle = curl_multi_init();
-- curl_multi_setopt(cmHandle, CURLMOPT_MAXCONNECTS, abs_parallel);
-- curl_multi_setopt(cmHandle, CURLMOPT_PIPELINING, 1L);
-+ CURLM * cmHandle = curl_multi_init();
-+ curl_multi_setopt (cmHandle, CURLMOPT_MAXCONNECTS,abs_parallel);
-+ curl_multi_setopt (cmHandle, CURLMOPT_PIPELINING, 1L);
-
- /* Once set to true this will terminate the download */
- gboolean terminate = FALSE;
-
- /* Now create cb_objects */
-- GList *cb_list = init_async_download(url_list, endmark_list, cmHandle, s, abs_timeout);
-+ GList * cb_list = init_async_download (url_list,endmark_list,cmHandle,s,abs_timeout);
-
-- while(GET_ATOMIC_SIGNAL_EXIT(s) == FALSE && running_handles != 0 && terminate == FALSE) {
-+ while (GET_ATOMIC_SIGNAL_EXIT (s) == FALSE && running_handles != 0 && terminate == FALSE)
-+ {
- CURLMcode merr = CURLM_CALL_MULTI_PERFORM;
-- while(merr == CURLM_CALL_MULTI_PERFORM) {
-- merr = curl_multi_perform(cmHandle, &running_handles);
-+ while (merr == CURLM_CALL_MULTI_PERFORM)
-+ {
-+ merr = curl_multi_perform (cmHandle, &running_handles);
- }
-- if(merr != CURLM_OK) {
-- glyr_message(1, s, "Error: curl_multi_perform() failed!");
-+ if (merr != CURLM_OK)
-+ {
-+ glyr_message (1,s,"Error: curl_multi_perform() failed!");
- return NULL;
- }
-
-- if(running_handles != 0) {
-+ if (running_handles != 0)
-+ {
- /* Set up fds */
-- FD_ZERO(&ReadFDS);
-- FD_ZERO(&WriteFDS);
-- FD_ZERO(&ErrorFDS);
--
-- if(curl_multi_fdset(cmHandle, &ReadFDS, &WriteFDS, &ErrorFDS, &max_fd) ||
-- curl_multi_timeout(cmHandle, &wait_time)) {
-- glyr_message(1, s, "Error while selecting stream. Might be a bug.\n");
-+ FD_ZERO (&ReadFDS);
-+ FD_ZERO (&WriteFDS);
-+ FD_ZERO (&ErrorFDS);
-+
-+ if (curl_multi_fdset (cmHandle, &ReadFDS, &WriteFDS, &ErrorFDS, &max_fd) ||
-+ curl_multi_timeout (cmHandle, &wait_time) )
-+ {
-+ glyr_message (1,s,"Error while selecting stream. Might be a bug.\n");
- return NULL;
- }
-
-- if(wait_time == -1) {
-+ if (wait_time == -1)
- wait_time = 100;
-- }
-
-- if(wait_time >= s->timeout * 1000) {
-+ if (wait_time >= s->timeout * 1000)
- wait_time = s->timeout * 1000;
-- }
-
- /* Nothing happens.. */
-- if(max_fd == -1) {
-- g_usleep(wait_time * 100);
-- } else {
-+ if (max_fd == -1)
-+ {
-+ g_usleep (wait_time * 100);
-+ }
-+ else
-+ {
- struct timeval Tmax;
-- Tmax.tv_sec = (wait_time / 1000);
-- Tmax.tv_usec = (wait_time % 1000) * 1000;
-+ Tmax.tv_sec = (wait_time/1000);
-+ Tmax.tv_usec = (wait_time%1000) *1000;
-
- /* Now block till something interesting happens with the download */
-- if(select(max_fd + 1, &ReadFDS, &WriteFDS, &ErrorFDS, &Tmax) == -1) {
-- glyr_message(1, s, "Error: select(%i <=> %li): %i: %s\n", max_fd + 1, wait_time, errno, strerror(errno));
-+ if (select (max_fd+1, &ReadFDS, &WriteFDS, &ErrorFDS, &Tmax) == -1)
-+ {
-+ glyr_message (1,s,"Error: select(%i <=> %li): %i: %s\n",max_fd+1, wait_time, errno, strerror (errno) );
- return NULL;
- }
- }
-@@ -756,24 +836,27 @@ GList *async_download(GList *url_list, GList *endmark_list, GlyrQuery *s, long p
-
-
- /* select() returned. There might be some fresh flesh! - Check. */
-- CURLMsg *msg;
-- while(GET_ATOMIC_SIGNAL_EXIT(s) == FALSE &&
-+ CURLMsg * msg;
-+ while (GET_ATOMIC_SIGNAL_EXIT (s) == FALSE &&
- terminate == FALSE &&
-- (msg = curl_multi_info_read(cmHandle, &queue_msg))) {
-+ (msg = curl_multi_info_read (cmHandle, &queue_msg) ) )
-+ {
- /* That download is ready to be viewed */
-- if(msg->msg == CURLMSG_DONE) {
-+ if (msg->msg == CURLMSG_DONE)
-+ {
- /* Easy handle of this particular DL */
- CURL *easy_handle = msg->easy_handle;
-
- /* Get the callback object associated with the curl handle
- * for some odd reason curl requires a char * pointer */
-- cb_object *capo = NULL;
-- curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, (((char **) &capo)));
-+ cb_object * capo = NULL;
-+ curl_easy_getinfo (msg->easy_handle, CURLINFO_PRIVATE, ( ( (char**) &capo) ) );
-
- /* It's useless if it's empty */
-- if(capo && capo->cache && capo->cache->data == NULL) {
-+ if (capo && capo->cache && capo->cache->data == NULL)
-+ {
- capo->consumed = TRUE;
-- DL_free(capo->cache);
-+ DL_free (capo->cache);
- capo->cache = NULL;
- }
-
-@@ -781,94 +864,110 @@ GList *async_download(GList *url_list, GList *endmark_list, GlyrQuery *s, long p
- capo->was_buffered = TRUE;
-
- /* capo contains now the downloaded cache, ready to parse */
-- if(msg->data.result == CURLE_OK && capo && capo->cache) {
-+ if (msg->data.result == CURLE_OK && capo && capo->cache)
-+ {
- /* How many items from the callback will actually be added */
- gint to_add = 0;
-
- /* Stop download after this came in */
- bool stop_download = false;
-- GList *cb_results = NULL;
-+ GList * cb_results = NULL;
-
- /* Set origin */
-- if(capo->cache->dsrc != NULL) {
-- g_free(capo->cache->dsrc);
-+ if (capo->cache->dsrc != NULL)
-+ {
-+ g_free (capo->cache->dsrc);
- }
-- capo->cache->dsrc = g_strdup(capo->url);
-+ capo->cache->dsrc = g_strdup (capo->url);
-
- /* Call it if present */
-- if(asdl_callback != NULL) {
-+ if (asdl_callback != NULL)
-+ {
- /* Add parsed results or nothing if parsed result is empty */
-- cb_results = asdl_callback(capo, userptr, &stop_download, &to_add);
-+ cb_results = asdl_callback (capo,userptr,&stop_download,&to_add);
- }
-
-- if(cb_results != NULL) {
-+ if (cb_results != NULL)
-+ {
- /* Fill in the source filed (dsrc) if not already done */
-- for(GList *elem = cb_results; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item && item->dsrc == NULL) {
-+ for (GList * elem = cb_results; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item && item->dsrc == NULL)
-+ {
- /* Plugin didn't do any special download */
-- item->dsrc = g_strdup(capo->url);
-+ item->dsrc = g_strdup (capo->url);
- }
-- item_list = g_list_prepend(item_list, item);
-+ item_list = g_list_prepend (item_list,item);
- }
-- g_list_free(cb_results);
-- } else if(to_add != 0) {
-+ g_list_free (cb_results);
-+ }
-+ else if (to_add != 0)
-+ {
- /* Add it as raw data */
-- item_list = g_list_prepend(item_list, capo->cache);
-- } else {
-+ item_list = g_list_prepend (item_list,capo->cache);
-+ }
-+ else
-+ {
- capo->consumed = TRUE;
-- DL_free(capo->cache);
-+ DL_free (capo->cache);
- capo->cache = NULL;
- }
-
- /* So, shall we stop? */
- terminate = stop_download;
-
-- } else {
-+ }
-+ else
-+ {
- /* Something in this download was wrong. Tell us what. */
-- char *errstring = (char *) curl_easy_strerror(msg->data.result);
-- glyr_message(3, capo->s, "- glyr: Downloaderror: %s [errno:%d]\n",
-- errstring ? errstring : "Unknown Error",
-- msg->data.result);
-+ char * errstring = (char*) curl_easy_strerror (msg->data.result);
-+ glyr_message (3,capo->s,"- glyr: Downloaderror: %s [errno:%d]\n",
-+ errstring ? errstring : "Unknown Error",
-+ msg->data.result);
-
-- glyr_message(3, capo->s, " On URL: ");
-- glyr_message(3, capo->s, "%s\n", capo->url);
-+ glyr_message (3,capo->s," On URL: ");
-+ glyr_message (3,capo->s,"%s\n",capo->url);
-
-- DL_free(capo->cache);
-+ DL_free (capo->cache);
- capo->cache = NULL;
- capo->consumed = TRUE;
- }
-
- /* We're done with this one.. bybebye */
-- curl_multi_remove_handle(cmHandle, easy_handle);
-- curl_easy_cleanup(easy_handle);
-+ curl_multi_remove_handle (cmHandle,easy_handle);
-+ curl_easy_cleanup (easy_handle);
- capo->handle = NULL;
-- } else {
-+ }
-+ else
-+ {
- /* Something in the multidownloading gone wrong */
-- glyr_message(1, s, "Error: multiDownload-errorcode: %d\n", msg->msg);
-+ glyr_message (1,s,"Error: multiDownload-errorcode: %d\n",msg->msg);
- }
- }
- }
-- destroy_async_download(cb_list, cmHandle, free_caches);
-+ destroy_async_download (cb_list,cmHandle,free_caches);
- }
- return item_list;
- }
-
- //////////////////////////////////////
-
--struct wrap_retrieve_pass_data {
-- gchar *url;
-- GlyrQuery *query;
-+struct wrap_retrieve_pass_data
-+{
-+ gchar * url;
-+ GlyrQuery * query;
- };
-
--static void *wrap_retrieve_content(gpointer data)
-+static void * wrap_retrieve_content (gpointer data)
- {
-- struct header_data *head = NULL;
-- if(data != NULL) {
-- struct wrap_retrieve_pass_data *passed = data;
-- GlyrQuery *query = passed->query;
-- head = retrieve_content_info(passed->url, (gchar *) query->proxy, (gchar *) query->useragent, query);
-- g_free(passed);
-+ struct header_data * head = NULL;
-+ if (data != NULL)
-+ {
-+ struct wrap_retrieve_pass_data * passed = data;
-+ GlyrQuery * query = passed->query;
-+ head = retrieve_content_info (passed->url, (gchar*) query->proxy, (gchar*) query->useragent,query);
-+ g_free (passed);
- passed = NULL;
- }
- return head;
-@@ -876,77 +975,90 @@ static void *wrap_retrieve_content(gpointer data)
-
- //////////////////////////////////////
-
--static void check_all_types_in_url_list(GList *cache_list, GlyrQuery *s)
-+static void check_all_types_in_url_list (GList * cache_list, GlyrQuery * s)
- {
-- if(cache_list != NULL) {
-- GHashTable *thread_id_table = g_hash_table_new(g_direct_hash, g_direct_equal);
-- GList *thread_list = NULL;
--
-- glyr_message(2, s, "#[%02d/%02d] Checking image-types: [", s->itemctr, s->number);
--
-- for(GList *elem = cache_list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- struct wrap_retrieve_pass_data *passer = g_malloc0(sizeof(struct wrap_retrieve_pass_data));
-+ if (cache_list != NULL)
-+ {
-+ GHashTable * thread_id_table = g_hash_table_new (g_direct_hash,g_direct_equal);
-+ GList * thread_list = NULL;
-+
-+ glyr_message (2,s,"#[%02d/%02d] Checking image-types: [",s->itemctr,s->number);
-+
-+ for (GList * elem = cache_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ struct wrap_retrieve_pass_data * passer = g_malloc0 (sizeof (struct wrap_retrieve_pass_data) );
- passer->url = item->data;
- passer->query = s;
-
-- GThread *thread = g_thread_new("content_retriever",
-- (GThreadFunc) wrap_retrieve_content,
-- passer);
-+ GThread * thread = g_thread_new("content_retriever",
-+ (GThreadFunc) wrap_retrieve_content,
-+ passer);
-
-- if(thread != NULL) {
-- thread_list = g_list_prepend(thread_list, thread);
-+ if (thread != NULL)
-+ {
-+ thread_list = g_list_prepend (thread_list,thread);
- }
-- g_hash_table_insert(thread_id_table, thread, item);
-+ g_hash_table_insert (thread_id_table,thread,item);
- }
- }
-
-- for(GList *thread = thread_list; thread; thread = thread->next) {
-+ for (GList * thread = thread_list; thread; thread = thread->next)
-+ {
- gboolean success = FALSE;
-- struct header_data *info = g_thread_join(thread->data);
-- if(info != NULL) {
-- GlyrMemCache *linked_cache = g_hash_table_lookup(thread_id_table, thread->data);
-- if(linked_cache != NULL) {
-- if(g_strcmp0(info->type, "image") == 0) {
-- linked_cache->img_format = g_strdup(info->format);
-+ struct header_data * info = g_thread_join (thread->data);
-+ if (info != NULL)
-+ {
-+ GlyrMemCache * linked_cache = g_hash_table_lookup (thread_id_table,thread->data);
-+ if (linked_cache != NULL)
-+ {
-+ if (g_strcmp0 (info->type,"image") == 0)
-+ {
-+ linked_cache->img_format = g_strdup (info->format);
- success = TRUE;
- }
-- } else {
-- glyr_message(1, s, "glyr: Uh oh.. empty link in hashtable..\n");
- }
-- g_free(info->format);
-- g_free(info->type);
-- g_free(info->extra);
-- g_free(info);
-+ else
-+ {
-+ glyr_message (1,s,"glyr: Uh oh.. empty link in hashtable..\n");
-+ }
-+ g_free (info->format);
-+ g_free (info->type);
-+ g_free (info->extra);
-+ g_free (info);
- }
-
-- glyr_message(2, s, "%c", (success) ? '.' : '!');
-+ glyr_message (2,s,"%c", (success) ? '.' : '!');
- }
-- g_list_free(thread_list);
-- g_hash_table_destroy(thread_id_table);
-- glyr_message(2, s, "]");
-+ g_list_free (thread_list);
-+ g_hash_table_destroy (thread_id_table);
-+ glyr_message (2,s,"]");
- }
- }
-
- //////////////////////////////////////
-
--static gboolean format_is_allowed(gchar *format, gchar *allowed)
-+static gboolean format_is_allowed (gchar * format, gchar * allowed)
- {
- /* Let everything pass */
-- if(allowed == NULL) {
-+ if (allowed == NULL)
-+ {
- return TRUE;
- }
-
- gboolean result = FALSE;
-- if(format != NULL && allowed != NULL) {
-- gchar *token;
-+ if (format != NULL && allowed != NULL)
-+ {
-+ gchar * token;
- gsize offset = 0;
-- gsize len = strlen(allowed);
-+ gsize len = strlen (allowed);
-
-- while(!result && (token = get_next_word(allowed, GLYR_DEFAULT_FROM_ARGUMENT_DELIM, &offset, len)) != NULL) {
-- result = (g_strcmp0(token, format) == 0);
-- g_free(token);
-+ while (!result && (token = get_next_word (allowed,GLYR_DEFAULT_FROM_ARGUMENT_DELIM,&offset,len) ) != NULL)
-+ {
-+ result = (g_strcmp0 (token,format) == 0);
-+ g_free (token);
- }
- }
- return result;
-@@ -955,28 +1067,32 @@ static gboolean format_is_allowed(gchar *format, gchar *allowed)
-
- //////////////////////////////////////
-
--static gint delete_wrong_formats(GList **list, GlyrQuery *s)
-+static gint delete_wrong_formats (GList ** list, GlyrQuery * s)
- {
- /* Now compare it agains the format. */
- gsize invalid_format_counter = 0;
-- GList *new_head = *list;
-- GList *elem = new_head;
-+ GList * new_head = *list;
-+ GList * elem = new_head;
-
-- gchar *allowed_formats = s->allowed_formats;
-- if(allowed_formats == NULL) {
-+ gchar * allowed_formats = s->allowed_formats;
-+ if (allowed_formats == NULL)
-+ {
- allowed_formats = GLYR_DEFAULT_ALLOWED_FORMATS;
- }
-
-- while(elem != NULL) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- if(format_is_allowed(item->img_format, allowed_formats) == FALSE) {
-- GList *to_delete = elem;
-+ while (elem != NULL)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ if (format_is_allowed (item->img_format,allowed_formats) == FALSE)
-+ {
-+ GList * to_delete = elem;
- elem = elem->next;
- invalid_format_counter++;
-
-- new_head = g_list_delete_link(new_head, to_delete);
-- DL_free(item);
-+ new_head = g_list_delete_link (new_head,to_delete);
-+ DL_free (item);
- item = NULL;
- continue;
- }
-@@ -990,39 +1106,43 @@ static gint delete_wrong_formats(GList **list, GlyrQuery *s)
-
- //////////////////////////////////////
-
--static GList *kick_out_wrong_formats(GList *data_list, GlyrQuery *s)
-+static GList * kick_out_wrong_formats (GList * data_list, GlyrQuery * s)
- {
-- GList *new_head = data_list;
-+ GList * new_head = data_list;
-
- /* Parallely check if the format is what we wanted */
-- check_all_types_in_url_list(new_head, s);
-+ check_all_types_in_url_list (new_head,s);
-
- /* Kick the wrong ones */
-- gint invalid_format_counter = delete_wrong_formats(&new_head, s);
-+ gint invalid_format_counter = delete_wrong_formats (&new_head,s);
-
-- glyr_message(2, s, " (-%d item(s) less)\n", invalid_format_counter);
-+ glyr_message (2,s," (-%d item(s) less)\n",invalid_format_counter);
- return new_head;
- }
-
- //////////////////////////////////////
-
--static void do_charset_conversion(MetaDataSource *source, GList *text_list)
-+static void do_charset_conversion (MetaDataSource * source, GList * text_list)
- {
-- if(source != NULL && text_list != NULL) {
-- for(GList *elem = text_list; elem; elem = elem->next) {
-- GlyrMemCache *cache = elem->data;
-+ if (source != NULL && text_list != NULL)
-+ {
-+ for (GList * elem = text_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * cache = elem->data;
-
- /* We might need to unescape the HTML Utf8 encoded strings first, this is done later anyway. */
-- gchar *utf8_string = unescape_html_UTF8(cache->data);
-- if(utf8_string != NULL) {
-+ gchar * utf8_string = unescape_html_UTF8 (cache->data);
-+ if (utf8_string != NULL)
-+ {
- gsize new_len;
-- gchar *conv = convert_charset(utf8_string, "UTF-8", source->encoding, &new_len);
-- if(conv != NULL) {
-+ gchar * conv = convert_charset (utf8_string,"UTF-8",source->encoding,&new_len);
-+ if (conv != NULL)
-+ {
- cache->size = new_len;
-- g_free(cache->data);
-+ g_free (cache->data);
- cache->data = conv;
- }
-- g_free(utf8_string);
-+ g_free (utf8_string);
- }
- }
- }
-@@ -1030,53 +1150,62 @@ static void do_charset_conversion(MetaDataSource *source, GList *text_list)
-
- //////////////////////////////////////
-
--static GList *check_for_forced_utf8(GlyrQuery *query, GList *text_list)
-+static GList * check_for_forced_utf8 (GlyrQuery * query, GList * text_list)
- {
- gint deleted = 0;
-- GList *new_head = text_list;
-- if(query != NULL && text_list != NULL && query->force_utf8 == TRUE) {
-- glyr_message(2, query, "#[%02d/%02d] Checking encoding [", g_list_length(text_list), query->number);
--
-- GList *elem = text_list;
-- while(elem != NULL) {
-- GlyrMemCache *cache = elem->data;
--
-- const gchar *end_of_valid_utf8 = NULL;
-- if(cache && g_utf8_validate(cache->data, cache->size, &end_of_valid_utf8) == FALSE) {
-+ GList * new_head = text_list;
-+ if (query != NULL && text_list != NULL && query->force_utf8 == TRUE)
-+ {
-+ glyr_message (2,query,"#[%02d/%02d] Checking encoding [",g_list_length (text_list),query->number);
-+
-+ GList * elem = text_list;
-+ while (elem != NULL)
-+ {
-+ GlyrMemCache * cache = elem->data;
-+
-+ const gchar * end_of_valid_utf8 = NULL;
-+ if (cache && g_utf8_validate (cache->data,cache->size,&end_of_valid_utf8) == FALSE)
-+ {
- /* UTF8 was forced, and this cache didn't pass -> deletre */
-- glyr_message(2, query, "!");
-+ glyr_message (2,query,"!");
-
-- DL_free(cache);
-+ DL_free (cache);
- deleted++;
-
-- GList *to_delete = elem;
-+ GList * to_delete = elem;
- elem = elem->next;
-- new_head = g_list_delete_link(new_head, to_delete);
-+ new_head = g_list_delete_link (new_head,to_delete);
- continue;
-- } else {
-- glyr_message(2, query, ".");
-+ }
-+ else
-+ {
-+ glyr_message (2,query,".");
- elem = elem->next;
- }
- }
-- glyr_message(2, query, "] (-%d item(s) less)\n", deleted);
-+ glyr_message (2,query,"] (-%d item(s) less)\n",deleted);
- }
- return new_head;
- }
-
- //////////////////////////////////////
-
--static void normalize_utf8(GList *text_list)
-+static void normalize_utf8 (GList * text_list)
- {
-- for(GList *elem = text_list; elem; elem = elem->next) {
-- GlyrMemCache *cache = elem->data;
-- if(cache != NULL && cache->data) {
-- if(g_utf8_validate(cache->data, -1, NULL) != FALSE) {
-- gchar *normalized_utf8 = g_utf8_normalize(cache->data, -1, G_NORMALIZE_NFKC);
-- if(normalized_utf8 != NULL) {
-+ for (GList * elem = text_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * cache = elem->data;
-+ if (cache != NULL && cache->data)
-+ {
-+ if (g_utf8_validate (cache->data,-1,NULL) != FALSE)
-+ {
-+ gchar * normalized_utf8 = g_utf8_normalize (cache->data,-1,G_NORMALIZE_NFKC);
-+ if (normalized_utf8 != NULL)
-+ {
- /* Swap cache contents */
-- g_free(cache->data);
-+ g_free (cache->data);
- cache->data = normalized_utf8;
-- cache->size = strlen(normalized_utf8);
-+ cache->size = strlen (normalized_utf8);
- }
- }
- }
-@@ -1085,27 +1214,32 @@ static void normalize_utf8(GList *text_list)
-
- //////////////////////////////////////
-
--static gint delete_already_cached_items(cb_object *capo, GList **list)
-+static gint delete_already_cached_items (cb_object * capo, GList ** list)
- {
-- if(capo->s->db_autoread == FALSE) {
-+ if (capo->s->db_autoread == FALSE)
-+ {
- return 0;
- }
-
- gint deleted = 0;
-- if(capo && capo->s->local_db) {
-- GList *elem = *list;
-- while(elem != NULL) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL && item->dsrc == NULL && capo->s->imagejob) {
-- item->dsrc = g_strdup(item->data);
-+ if (capo && capo->s->local_db)
-+ {
-+ GList * elem = *list;
-+ while (elem != NULL)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL && item->dsrc == NULL && capo->s->imagejob)
-+ {
-+ item->dsrc = g_strdup (item->data);
- }
-
-- if(item && db_contains(capo->s->local_db, item)) {
-- GList *to_delete = elem;
-+ if (item && db_contains (capo->s->local_db,item) )
-+ {
-+ GList * to_delete = elem;
- elem = elem->next;
-- *list = g_list_delete_link(*list, to_delete);
-+ *list= g_list_delete_link (*list,to_delete);
-
-- DL_free(item);
-+ DL_free (item);
- deleted++;
- continue;
- }
-@@ -1117,14 +1251,19 @@ static gint delete_already_cached_items(cb_object *capo, GList **list)
-
- //////////////////////////////////////
-
--static void fix_data_types(GList *list, MetaDataSource *src, GlyrQuery *query)
-+static void fix_data_types (GList * list, MetaDataSource * src, GlyrQuery * query)
- {
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL && item->type == GLYR_TYPE_UNKNOWN) {
-- if(TYPE_IS_IMAGE(query->type) && query->download == FALSE) {
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL && item->type == GLYR_TYPE_UNKNOWN)
-+ {
-+ if (TYPE_IS_IMAGE (query->type) && query->download == FALSE)
-+ {
- item->type = GLYR_TYPE_IMG_URL;
-- } else {
-+ }
-+ else
-+ {
- item->type = src->data_type;
- }
- }
-@@ -1135,61 +1274,77 @@ static void fix_data_types(GList *list, MetaDataSource *src, GlyrQuery *query)
- //////////////////////////////////////
-
- /* The actual call to the metadata provider here, coming from the downloader, triggered by start_engine() */
--static GList *call_provider_callback(cb_object *capo, void *userptr, bool *stop_download, gint *to_add)
-+static GList * call_provider_callback (cb_object * capo, void * userptr, bool * stop_download, gint * to_add)
- {
-- GList *parsed = NULL;
-- if(userptr != NULL) {
-+ GList * parsed = NULL;
-+ if (userptr != NULL)
-+ {
- /* Get MetaDataSource correlated to this URL */
-- GHashTable *assoc = (GHashTable *) userptr;
-- MetaDataSource *plugin = g_hash_table_lookup(assoc, capo->url);
-+ GHashTable * assoc = (GHashTable*) userptr;
-+ MetaDataSource * plugin = g_hash_table_lookup (assoc,capo->url);
-
-- if(plugin != NULL) {
-- if(capo->s->itemctr < capo->s->number) {
-+ if (plugin != NULL)
-+ {
-+ if (capo->s->itemctr < capo->s->number)
-+ {
- /* Call the provider's parser */
-- GList *raw_parsed_data = plugin->parser(capo);
-+ GList * raw_parsed_data = plugin->parser (capo);
-
- /* Set the default type if not known otherwise */
-- fix_data_types(raw_parsed_data, plugin, capo->s);
-+ fix_data_types (raw_parsed_data,plugin,capo->s);
-
- /* Also do some duplicate check already */
-- gsize less = delete_dupes(raw_parsed_data, capo->s);
-- if(less > 0) {
-- gsize items_now = g_list_length(raw_parsed_data) + capo->s->itemctr - less;
-- glyr_message(2, capo->s, "#[%02d/%02d] Inner check found %ld dupes\n", items_now, capo->s->number, less);
-+ gsize less = delete_dupes (raw_parsed_data,capo->s);
-+ if (less > 0)
-+ {
-+ gsize items_now = g_list_length (raw_parsed_data) + capo->s->itemctr - less;
-+ glyr_message (2,capo->s,"#[%02d/%02d] Inner check found %ld dupes\n",items_now,capo->s->number,less);
- }
-
- /* Look up if items already in cache */
-- less = delete_already_cached_items(capo, &raw_parsed_data);
-- if(less > 0) {
-- gsize items_now = g_list_length(raw_parsed_data) + capo->s->itemctr - less;
-- glyr_message(2, capo->s, "#[%02d/%02d] DB lookup found %ld dupes\n", items_now, capo->s->number, less);
-+ less = delete_already_cached_items (capo,&raw_parsed_data);
-+ if (less > 0)
-+ {
-+ gsize items_now = g_list_length (raw_parsed_data) + capo->s->itemctr - less;
-+ glyr_message (2,capo->s,"#[%02d/%02d] DB lookup found %ld dupes\n",items_now,capo->s->number,less);
- }
-
- /* Any items left to kill? */
-- if(g_list_length(raw_parsed_data) != 0) {
-+ if (g_list_length (raw_parsed_data) != 0)
-+ {
- /* We shouldn't check (e.g) lyrics if they are a valid URL ;-) */
-- if(capo->s->imagejob == TRUE) {
-- raw_parsed_data = kick_out_wrong_formats(raw_parsed_data, capo->s);
-- } else { /* We should look if charset conversion is requested */
-- normalize_utf8(raw_parsed_data);
-- if(plugin->encoding != NULL) {
-- glyr_message(2, capo->s, "#[%02d/%02d] Attempting to convert charsets\n", g_list_length(raw_parsed_data), capo->s->number);
-- do_charset_conversion(plugin, raw_parsed_data);
-+ if (capo->s->imagejob == TRUE)
-+ {
-+ raw_parsed_data = kick_out_wrong_formats (raw_parsed_data,capo->s);
-+ }
-+ else /* We should look if charset conversion is requested */
-+ {
-+ normalize_utf8 (raw_parsed_data);
-+ if (plugin->encoding != NULL)
-+ {
-+ glyr_message (2,capo->s,"#[%02d/%02d] Attempting to convert charsets\n",g_list_length (raw_parsed_data),capo->s->number);
-+ do_charset_conversion (plugin, raw_parsed_data);
- }
-- raw_parsed_data = check_for_forced_utf8(capo->s, raw_parsed_data);
-+ raw_parsed_data = check_for_forced_utf8 (capo->s,raw_parsed_data);
- }
-
-- if(g_list_length(raw_parsed_data) != 0) {
-- for(GList *elem = raw_parsed_data; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- if(capo->s->itemctr < capo->s->number) {
-+ if (g_list_length (raw_parsed_data) != 0)
-+ {
-+ for (GList * elem = raw_parsed_data; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ if (capo->s->itemctr < capo->s->number)
-+ {
- /* Only reference to the plugin -> copy providername */
-- item->prov = g_strdup(plugin->name);
-- parsed = g_list_prepend(parsed, item);
-+ item->prov = g_strdup (plugin->name);
-+ parsed = g_list_prepend (parsed,item);
- capo->s->itemctr++;
-- } else { /* Not needed anymore. Forget this item */
-- DL_free(item);
-+ }
-+ else /* Not needed anymore. Forget this item */
-+ {
-+ DL_free (item);
- item = NULL;
-
- /* Also skip other downloads */
-@@ -1199,23 +1354,27 @@ static GList *call_provider_callback(cb_object *capo, void *userptr, bool *stop_
- }
-
- /* Forget those pointers */
-- g_list_free(raw_parsed_data);
-+ g_list_free (raw_parsed_data);
- }
- }
- }
-- } else {
-- glyr_message(1, capo->s, "glyr: hashmap lookup failed. Cannot call plugin => Bug.\n");
-+ }
-+ else
-+ {
-+ glyr_message (1,capo->s,"glyr: hashmap lookup failed. Cannot call plugin => Bug.\n");
- }
-
- }
- /* We replace the cache with a new one -> free the old one */
-- if(capo->cache != NULL) {
-- DL_free(capo->cache);
-+ if (capo->cache != NULL)
-+ {
-+ DL_free (capo->cache);
- capo->cache = NULL;
- }
-
- /* Do not add raw data */
-- if(parsed == NULL) {
-+ if (parsed == NULL)
-+ {
- *to_add = 0;
- }
-
-@@ -1224,17 +1383,19 @@ static GList *call_provider_callback(cb_object *capo, void *userptr, bool *stop_
-
- //////////////////////////////////////
-
--gboolean provider_is_enabled(GlyrQuery *q, MetaDataSource *f)
-+gboolean provider_is_enabled (GlyrQuery * q, MetaDataSource * f)
- {
-- if(q->lang_aware_only &&
-+ if (q->lang_aware_only &&
- f->lang_aware == false &&
- q->imagejob == false &&
-- g_strcmp0(f->name, "local") != 0) {
-+ g_strcmp0 (f->name,"local") != 0)
-+ {
- return FALSE;
- }
-
- /* Assume 'all we have' */
-- if(q->from == NULL) {
-+ if (q->from == NULL)
-+ {
- return TRUE;
- }
-
-@@ -1244,31 +1405,33 @@ gboolean provider_is_enabled(GlyrQuery *q, MetaDataSource *f)
- gboolean all_occured = FALSE;
-
- /* split string */
-- if(f->name != NULL) {
-- gsize name_len = strlen(f->name);
-- gsize len = strlen(q->from);
-+ if (f->name != NULL)
-+ {
-+ gsize name_len = strlen (f->name);
-+ gsize len = strlen (q->from);
- gsize offset = 0;
-
-- gchar *token = NULL;
-- while((token = get_next_word(q->from, GLYR_DEFAULT_FROM_ARGUMENT_DELIM, &offset, len))) {
-- if(token != NULL) {
-- gsize token_len = strlen(token);
-- gchar *back = token;
-+ gchar * token = NULL;
-+ while ( (token = get_next_word (q->from,GLYR_DEFAULT_FROM_ARGUMENT_DELIM,&offset,len) ) )
-+ {
-+ if (token != NULL)
-+ {
-+ gsize token_len = strlen (token);
-+ gchar * back = token;
-
- gboolean minus;
-- if((minus = token[0] == '-') || token[0] == '+') {
-+ if ( (minus = token[0] == '-') || token[0] == '+')
- token++;
-- }
-
-- if(!g_ascii_strncasecmp(token, "all", token_len)) {
-+ if (!g_ascii_strncasecmp (token,"all",token_len) )
- all_occured = TRUE;
-- }
-
-- if((token[0] == f->key && token_len == 1) || !g_ascii_strncasecmp(token, f->name, name_len)) {
-+ if ( (token[0] == f->key && token_len == 1) || !g_ascii_strncasecmp (token,f->name,name_len) )
-+ {
- is_excluded = minus;
- is_found = !minus;
- }
-- g_free(back);
-+ g_free (back);
- }
- }
- }
-@@ -1277,29 +1440,34 @@ gboolean provider_is_enabled(GlyrQuery *q, MetaDataSource *f)
-
- //////////////////////////////////////
-
--/* GnuPlot: plot3d(1/X*Y + (100-Y)*1/(1-X) + 1000, X, .1, .9], Y, , 00]); */
--static gfloat calc_rating(gfloat qsratio, gint quality, gint speed)
-+/* GnuPlot: plot3d(1/X*Y + (100-Y)*1/(1-X) + 1000,[X,0.1,0.9],[Y,0,100]); */
-+static gfloat calc_rating (gfloat qsratio, gint quality, gint speed)
- {
-- gfloat cratio = CLAMP(qsratio, 0.1, 0.9);
-- return 1000.0f + ((1.0 / (1 - cratio) * quality) + (1.0 / cratio * speed));
-+ gfloat cratio = CLAMP (qsratio,0.1,0.9);
-+ return 1000.0f + ( (1.0/ (1-cratio) *quality) + (1.0/cratio*speed) );
- }
-
- //////////////////////////////////////
-
--static GList *get_queued(GlyrQuery *s, MetaDataFetcher *fetcher, gint *fired)
-+static GList * get_queued (GlyrQuery * s, MetaDataFetcher * fetcher, gint * fired)
- {
-- GList *source_list = NULL;
-- for(gint it = 0; it < s->parallel; it++) {
-+ GList * source_list = NULL;
-+ for (gint it = 0; it < s->parallel; it++)
-+ {
- gint pos = 0;
- gint max_pos = -1;
- gfloat max = G_MINFLOAT;
-
-- for(GList *elem = fetcher->provider; elem; elem = elem->next, ++pos) {
-- MetaDataSource *src = elem->data;
-- if(provider_is_enabled(s, src) == TRUE) {
-- if(fired[pos] == 0) {
-- gfloat rating = calc_rating(s->qsratio, src->quality, src->speed);
-- if(rating > max) {
-+ for (GList * elem = fetcher->provider; elem; elem = elem->next, ++pos)
-+ {
-+ MetaDataSource * src = elem->data;
-+ if (provider_is_enabled (s,src) == TRUE)
-+ {
-+ if (fired[pos] == 0)
-+ {
-+ gfloat rating = calc_rating (s->qsratio,src->quality,src->speed);
-+ if (rating > max)
-+ {
- max = rating;
- max_pos = pos;
- }
-@@ -1307,31 +1475,37 @@ static GList *get_queued(GlyrQuery *s, MetaDataFetcher *fetcher, gint *fired)
- }
- }
-
-- if(max_pos != -1) {
-- GList *wanted = g_list_nth(fetcher->provider, max_pos);
-- if(wanted != NULL) {
-- MetaDataSource *src = wanted->data;
-- source_list = g_list_prepend(source_list, src);
-+ if (max_pos != -1)
-+ {
-+ GList * wanted = g_list_nth (fetcher->provider,max_pos);
-+ if (wanted != NULL)
-+ {
-+ MetaDataSource * src = wanted->data;
-+ source_list = g_list_prepend (source_list,src);
- }
- fired[max_pos]++;
- }
- }
-
-- if(source_list != NULL) {
-- source_list = g_list_reverse(source_list);
-+ if (source_list != NULL)
-+ {
-+ source_list = g_list_reverse (source_list);
- }
- return source_list;
- }
-
- //////////////////////////////////////
-
--gboolean is_in_result_list(GlyrMemCache *cache, GList *result_list)
-+gboolean is_in_result_list (GlyrMemCache * cache, GList * result_list)
- {
- gboolean result = FALSE;
-- if(cache != NULL) {
-- for(GList *elem = result_list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(memcmp(cache->md5sum, item->md5sum, 16) == 0) {
-+ if (cache != NULL)
-+ {
-+ for (GList * elem = result_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (memcmp (cache->md5sum, item->md5sum, 16) == 0)
-+ {
- result = TRUE;
- }
- }
-@@ -1341,191 +1515,222 @@ gboolean is_in_result_list(GlyrMemCache *cache, GList *result_list)
-
- //////////////////////////////////////
-
--static void execute_query(GlyrQuery *query, MetaDataFetcher *fetcher, GList *source_list, gboolean *stop_me, GList **result_list)
-+static void execute_query (GlyrQuery * query, MetaDataFetcher * fetcher, GList * source_list, gboolean * stop_me, GList ** result_list)
- {
-- GList *url_list = NULL;
-- GList *endmarks = NULL;
-- GList *offline_provider = NULL;
-- GHashTable *url_table = g_hash_table_new(g_str_hash, g_str_equal);
-+ GList * url_list = NULL;
-+ GList * endmarks = NULL;
-+ GList * offline_provider = NULL;
-+ GHashTable * url_table = g_hash_table_new (g_str_hash,g_str_equal);
-
- /* Iterate over all sources for this fetcher */
-- for(GList *source = source_list; source != NULL; source = source->next) {
-- MetaDataSource *item = source->data;
-- if(item != NULL) {
-+ for (GList * source = source_list; source != NULL; source = source->next)
-+ {
-+ MetaDataSource * item = source->data;
-+ if (item != NULL)
-+ {
- /* get the url of this MetaDataSource */
-- const gchar *lookup_url = item->get_url(query);
-+ const gchar * lookup_url = item->get_url (query);
-
- /* Add this to the list */
-- if(lookup_url != NULL) {
-- if(g_ascii_strncasecmp(lookup_url, OFFLINE_PROVIDER, (sizeof OFFLINE_PROVIDER) - 1) != 0) {
-+ if (lookup_url != NULL)
-+ {
-+ if (g_ascii_strncasecmp (lookup_url,OFFLINE_PROVIDER, (sizeof OFFLINE_PROVIDER) - 1) != 0)
-+ {
- /* make a sane URL out of it */
-- const gchar *prepared = prepare_url(lookup_url, query, TRUE);
-+ const gchar * prepared = prepare_url (lookup_url,query,TRUE);
-
- /* add it to the hash table and relate it to the MetaDataSource */
-- g_hash_table_insert(url_table, (gpointer) prepared, (gpointer) item);
-- url_list = g_list_prepend(url_list, (gpointer) prepared);
-- endmarks = g_list_prepend(endmarks, (gpointer) item->endmarker);
-+ g_hash_table_insert (url_table, (gpointer) prepared, (gpointer) item);
-+ url_list = g_list_prepend (url_list, (gpointer) prepared);
-+ endmarks = g_list_prepend (endmarks, (gpointer) item->endmarker);
-
- /* If the URL was dyn. allocated, we should go and free it */
-- if(item->free_url == TRUE) {
-- g_free((gchar *) lookup_url);
-+ if (item->free_url == TRUE)
-+ {
-+ g_free ( (gchar*) lookup_url);
- }
-- } else {
-+ }
-+ else
-+ {
- /* This providers offers some autogenerated content */
-- offline_provider = g_list_prepend(offline_provider, item);
-+ offline_provider = g_list_prepend (offline_provider,item);
- }
- }
- }
- }
-
-- GList *sub_result_list = NULL;
-- gsize url_list_length = g_list_length(url_list);
-- if(url_list_length != 0 || g_list_length(offline_provider) != 0) {
-+ GList * sub_result_list = NULL;
-+ gsize url_list_length = g_list_length (url_list);
-+ if (url_list_length != 0 || g_list_length (offline_provider) != 0)
-+ {
- gboolean proceed = TRUE;
-- GList *cached_items = NULL;
-- GList *raw_parsed = NULL;
-- GList *ready_caches = NULL;
-+ GList * cached_items = NULL;
-+ GList * raw_parsed = NULL;
-+ GList * ready_caches = NULL;
-
- /* Handle offline provider, that don't need to download something */
-- for(GList *off_source = offline_provider; proceed && off_source && query->itemctr < query->number; off_source = off_source->next) {
-- MetaDataSource *source = off_source->data;
-- if(source != NULL && source->parser != NULL) {
-+ for (GList * off_source = offline_provider; proceed && off_source && query->itemctr < query->number; off_source = off_source->next)
-+ {
-+ MetaDataSource * source = off_source->data;
-+ if (source != NULL && source->parser != NULL)
-+ {
- cb_object pseudo_capo;
-- memset(&pseudo_capo, 0, sizeof pseudo_capo);
-+ memset (&pseudo_capo, 0, sizeof pseudo_capo);
- pseudo_capo.s = query;
-
-- GList *offline_list = source->parser(&pseudo_capo);
-+ GList * offline_list = source->parser (&pseudo_capo);
-
-- if(query->imagejob) {
-- delete_wrong_formats(&offline_list, query);
-- } else {
-- offline_list = check_for_forced_utf8(query, offline_list);
-+ if (query->imagejob)
-+ {
-+ delete_wrong_formats (&offline_list,query);
-+ }
-+ else
-+ {
-+ offline_list = check_for_forced_utf8 (query,offline_list);
- }
-
-- for(GList *off_elem = offline_list; off_elem && query->itemctr < query->number; off_elem = off_elem->next) {
-+ for (GList * off_elem = offline_list; off_elem && query->itemctr < query->number; off_elem = off_elem->next)
-+ {
- GLYR_ERROR result = GLYRE_OK;
-- if(query->callback.download != NULL) {
-- result = query->callback.download(off_elem->data, query);
-+ if (query->callback.download != NULL)
-+ {
-+ result = query->callback.download (off_elem->data,query);
- }
-
-- if(result != GLYRE_STOP_PRE && result != GLYRE_SKIP) {
-- cached_items = g_list_prepend(cached_items, off_elem->data);
-+ if (result != GLYRE_STOP_PRE && result != GLYRE_SKIP)
-+ {
-+ cached_items = g_list_prepend (cached_items,off_elem->data);
- query->itemctr++;
- }
-
-- if(result == GLYRE_STOP_PRE || result == GLYRE_STOP_POST) {
-+ if (result == GLYRE_STOP_PRE || result == GLYRE_STOP_POST)
-+ {
- proceed = FALSE;
- break;
- }
- }
-- g_list_free(offline_list);
-+ g_list_free (offline_list);
- }
- }
-
- /* Now start the downloadmanager - and call the specified callback with the URL table when an item is ready */
-- if(proceed == TRUE && url_list_length != 0 && query->itemctr < query->number) {
-- raw_parsed = async_download(url_list,
-- endmarks,
-- query,
-- url_list_length / query->timeout + 1,
-- MIN((gint)(url_list_length / query->parallel + 3), query->number + 2),
-- call_provider_callback,
-- url_table,
-- TRUE);
-+ if (proceed == TRUE && url_list_length != 0 && query->itemctr < query->number)
-+ {
-+ raw_parsed = async_download (url_list,
-+ endmarks,
-+ query,
-+ url_list_length / query->timeout + 1,
-+ MIN ( (gint) (url_list_length / query->parallel + 3), query->number + 2),
-+ call_provider_callback,
-+ url_table,
-+ TRUE);
- }
-
- /* Now finalize our retrieved items */
-- if(g_list_length(raw_parsed) != 0) {
-+ if (g_list_length (raw_parsed) != 0)
-+ {
-
- /* Kill duplicates before finalizing */
-- int pre_less = delete_dupes(raw_parsed, query);
-- if(pre_less > 0) {
-- glyr_message(2, query, "- Prefiltering double data: (-%d item(s) less)\n", pre_less);
-+ int pre_less = delete_dupes (raw_parsed,query);
-+ if (pre_less > 0)
-+ {
-+ glyr_message (2,query,"- Prefiltering double data: (-%d item(s) less)\n",pre_less);
- query->itemctr -= pre_less;
- }
-
-- glyr_message(2, query, "---- \n");
-- if(g_list_length(raw_parsed) != 0) {
-+ glyr_message (2,query,"---- \n");
-+ if (g_list_length (raw_parsed) != 0)
-+ {
- /* Call finalize to sanitize data, or download given URLs */
-- ready_caches = fetcher->finalize(query, raw_parsed, stop_me, result_list);
-+ ready_caches = fetcher->finalize (query, raw_parsed,stop_me, result_list);
-
- /* Raw data not needed anymore */
-- g_list_free(raw_parsed);
-+ g_list_free (raw_parsed);
- raw_parsed = NULL;
- }
- }
-
-- if(cached_items && ready_caches) {
-- sub_result_list = g_list_concat(cached_items, ready_caches);
-- } else {
-+ if (cached_items && ready_caches)
-+ {
-+ sub_result_list = g_list_concat (cached_items, ready_caches);
-+ }
-+ else
-+ {
- sub_result_list = (cached_items) ? cached_items : ready_caches;
- }
- }
-
- /* Free ressources */
-- glist_free_full(url_list, g_free);
-- g_list_free(endmarks);
-- g_list_free(offline_provider);
-- g_hash_table_destroy(url_table);
--
--
-- for(GList *result = sub_result_list; result; result = result->next) {
-- GlyrMemCache *result_cache = result->data;
-- if(result_cache != NULL) {
-- *result_list = g_list_prepend(*result_list, result->data);
-+ glist_free_full (url_list,g_free);
-+ g_list_free (endmarks);
-+ g_list_free (offline_provider);
-+ g_hash_table_destroy (url_table);
-+
-+
-+ for (GList * result = sub_result_list; result; result = result->next)
-+ {
-+ GlyrMemCache * result_cache = result->data;
-+ if (result_cache != NULL)
-+ {
-+ *result_list = g_list_prepend (*result_list,result->data);
- }
- }
-- g_list_free(sub_result_list);
-+ g_list_free (sub_result_list);
- }
- //////////////////////////////////////
-
--static void print_trigger(GlyrQuery *query, GList *src_list)
-+static void print_trigger (GlyrQuery * query, GList * src_list)
- {
-- glyr_message(2, query, "---- Triggering: ");
-- for(GList *elem = src_list; elem; elem = elem->next) {
-- MetaDataSource *info = elem->data;
-- glyr_message(2, query, "%s ", info->name);
-+ glyr_message (2,query,"---- Triggering: ");
-+ for (GList * elem = src_list; elem; elem = elem->next)
-+ {
-+ MetaDataSource * info = elem->data;
-+ glyr_message (2,query,"%s ",info->name);
- }
-- glyr_message(2, query, "\n");
-+ glyr_message (2,query,"\n");
- }
-
- //////////////////////////////////////
-
--GList *start_engine(GlyrQuery *query, MetaDataFetcher *fetcher, GLYR_ERROR *err)
-+GList * start_engine (GlyrQuery * query, MetaDataFetcher * fetcher, GLYR_ERROR * err)
- {
-- gsize list_len = g_list_length(fetcher->provider);
-+ gsize list_len = g_list_length (fetcher->provider);
- gint fired[list_len];
-- memset(fired, 0, list_len * sizeof(gint));
-+ memset (fired,0,list_len * sizeof (gint) );
-
- gboolean something_was_searched = FALSE;
- gboolean stop_now = FALSE;
-
-- GList *src_list = NULL, * result_list = NULL;
-- while((stop_now == FALSE) &&
-- (g_list_length(result_list) < (gsize) query->number) &&
-- (src_list = get_queued(query, fetcher, fired)) != NULL) {
-+ GList * src_list = NULL, * result_list = NULL;
-+ while ( (stop_now == FALSE) &&
-+ (g_list_length (result_list) < (gsize) query->number) &&
-+ (src_list = get_queued (query, fetcher, fired) ) != NULL)
-+ {
- /* Print what provider were triggered */
-- print_trigger(query, src_list);
-+ print_trigger (query,src_list);
-
- /* Send this list of sources to the download manager */
-- execute_query(query, fetcher, src_list, &stop_now, &result_list);
-+ execute_query (query,fetcher,src_list, &stop_now, &result_list);
-
- /* Do not report errors */
- something_was_searched = TRUE;
-
- /* Next list please */
-- g_list_free(src_list);
-+ g_list_free (src_list);
-
- /* Check is exit was signaled */
-- stop_now = (GET_ATOMIC_SIGNAL_EXIT(query)) ? TRUE : stop_now;
-+ stop_now = (GET_ATOMIC_SIGNAL_EXIT (query) ) ? TRUE : stop_now;
- }
-
-- if(something_was_searched == FALSE) {
-- if(err != NULL) {
-+ if (something_was_searched == FALSE)
-+ {
-+ if (err != NULL)
-+ {
- *err = GLYRE_NO_PROVIDER;
- }
-
-- if(query != NULL) {
-+ if (query != NULL)
-+ {
- query->q_errno = GLYRE_NO_PROVIDER;
- }
- }
-@@ -1536,36 +1741,39 @@ GList *start_engine(GlyrQuery *query, MetaDataFetcher *fetcher, GLYR_ERROR *err)
- //////////////////////////////////////
-
- /* New glib implementation, thanks to Etienne Millon */
--void update_md5sum(GlyrMemCache *c)
-+void update_md5sum (GlyrMemCache * c)
- {
-- if(c && c->data && c->size > 0) {
-+ if (c && c->data && c->size > 0)
-+ {
- gsize bufsize = 16;
-- GChecksum *checksum = g_checksum_new(G_CHECKSUM_MD5);
-+ GChecksum *checksum = g_checksum_new (G_CHECKSUM_MD5);
-
-- g_checksum_update(checksum, (const guchar *) c->data, c->size);
-- g_checksum_get_digest(checksum, c->md5sum, &bufsize);
-- g_checksum_free(checksum);
-+ g_checksum_update (checksum, (const guchar*) c->data, c->size);
-+ g_checksum_get_digest (checksum, c->md5sum, &bufsize);
-+ g_checksum_free (checksum);
- }
- }
-
- //////////////////////////////////////
-
--void glist_free_full(GList *List, void (* free_func)(void *ptr))
-+void glist_free_full (GList * List, void (* free_func) (void * ptr) )
- {
--#if GLIB_CHECK_VERSION(2, 8, )
-+#if GLIB_CHECK_VERSION(2,28,0)
-
- /* Use official version */
-- g_list_free_full(List, free_func);
-+ g_list_free_full (List,free_func);
- #else
-
- /* Fallback to simple own implementation */
-- for(GList *elem = List; elem; elem = elem->next) {
-- if(free_func != NULL) {
-- free_func(elem->data);
-+ for (GList * elem = List; elem; elem = elem->next)
-+ {
-+ if (free_func != NULL)
-+ {
-+ free_func (elem->data);
- }
-
- }
-- g_list_free(List);
-+ g_list_free (List);
- #endif
- }
-
-diff --git a/lib/glyr.c b/lib/glyr.c
-index c341451..aad2ce5 100644
---- a/lib/glyr.c
-+++ b/lib/glyr.c
-@@ -34,10 +34,11 @@ static volatile gboolean is_initalized = FALSE;
-
- //////////////////////////////////
-
--static const char *err_strings[] = {
-+static const char * err_strings[] =
-+{
- [GLYRE_UNKNOWN] = "Unknown error",
- [GLYRE_OK] = "No error",
-- [GLYRE_BAD_VALUE] = "Bad value for glyr_opt_[...]()",
-+ [GLYRE_BAD_VALUE] ="Bad value for glyr_opt_[...]()",
- [GLYRE_BAD_OPTION] = "Bad option passed to gly_opt_[...]()",
- [GLYRE_NO_PROVIDER] = "No valid provider specified in glyr_opt_from()",
- [GLYRE_EMPTY_STRUCT] = "Empty Query structure (NULL)",
-@@ -50,7 +51,8 @@ static const char *err_strings[] = {
- [GLYRE_WAS_STOPPED] = "Library was stopped by glyr_signal_exit()"
- };
-
--static const char *type_strings[] = {
-+static const char * type_strings[] =
-+{
- [GLYR_TYPE_COVERART] = "cover",
- [GLYR_TYPE_LYRICS] = "songtext",
- [GLYR_TYPE_ARTIST_PHOTO] = "artistphoto",
-@@ -74,29 +76,28 @@ static const char *type_strings[] = {
-
- /////////////////////////////////
-
--const gchar *map_language[][2] = {
-- {"en_US", "us"},
-- {"en_CA", "ca"},
-- {"en_UK", "uk"}
-+const gchar * map_language[][2] =
-+{
-+ {"en_US","us"},
-+ {"en_CA","ca"},
-+ {"en_UK","uk"}
- };
-
-
- /////////////////////////////////
-
--void glyr_internal_log(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data)
-+void glyr_internal_log (const gchar *log_domain,GLogLevelFlags log_level,const gchar *message, gpointer user_data)
- {
-- if(message != NULL) {
-- fputs(message, GLYR_OUTPUT);
-- }
-+ if (message != NULL) fputs (message,GLYR_OUTPUT);
- }
-
-
- /////////////////////////////////
-
- /* Local scopes are cool. */
--#define END_STRING(STR, HAR) \
-+#define END_STRING(STR,CHAR) \
- { \
-- gchar * term = strchr(STR, HAR); \
-+ gchar * term = strchr(STR,CHAR); \
- if(term) *term = 0; \
- }
-
-@@ -105,59 +106,67 @@ void glyr_internal_log(const gchar *log_domain, GLogLevelFlags log_level, const
- *
- * @return a newly allocated language code. Free.
- */
--gchar *guess_language(void)
-+gchar * guess_language (void)
- {
- /* Default to 'en' in any case */
-- gchar *result_lang = g_strdup("en");
-+ gchar * result_lang = g_strdup ("en");
-
--#if GLIB_CHECK_VERSION(2, 8, )
-+#if GLIB_CHECK_VERSION(2,28,0)
- gboolean break_out = FALSE;
-
- /* Please never ever free this */
-- const gchar *const *languages = g_get_language_names();
-+ const gchar * const * languages = g_get_language_names();
-
-- for(gint i = 0; languages[i] && break_out == FALSE; i++) {
-- gchar **variants = g_get_locale_variants(languages[i]);
-- for(gint j = 0; variants[j] && !break_out; j++) {
-+ for (gint i = 0; languages[i] && break_out == FALSE; i++)
-+ {
-+ gchar ** variants = g_get_locale_variants (languages[i]);
-+ for (gint j = 0; variants[j] && !break_out; j++)
-+ {
- /* Look up if we need to map a language */
-- gchar *to_investigate = variants[j];
-- gint map_size = (sizeof(map_language) / (2 * sizeof(char *)));
-- for(gint map = 0; map < map_size; map++) {
-- const gchar *to_map = map_language[map][0];
-- gsize map_len = strlen(to_map);
-- if(g_ascii_strncasecmp(to_map, to_investigate, map_len) == 0) {
-- to_investigate = (gchar *) map_language[map][1];
-+ gchar * to_investigate = variants[j];
-+ gint map_size = (sizeof (map_language) / (2 * sizeof (char*) ) );
-+ for (gint map = 0; map < map_size; map++)
-+ {
-+ const gchar * to_map = map_language[map][0];
-+ gsize map_len = strlen (to_map);
-+ if (g_ascii_strncasecmp (to_map,to_investigate,map_len) == 0)
-+ {
-+ to_investigate = (gchar*) map_language[map][1];
- break;
- }
- }
-
- gboolean allowed_lang = TRUE;
-
-- if(allowed_lang &&
-- g_ascii_strncasecmp("en", to_investigate, 2) != 0 &&
-- g_ascii_strncasecmp("C", to_investigate, 1) != 0 &&
-- !strchr(to_investigate, '@') && !strchr(to_investigate, '.')) {
-- g_free(result_lang);
-- result_lang = g_strdup(to_investigate);
-+ if (allowed_lang &&
-+ g_ascii_strncasecmp ("en",to_investigate,2) != 0 &&
-+ g_ascii_strncasecmp ("C", to_investigate,1) != 0 &&
-+ !strchr (to_investigate,'@') && !strchr (to_investigate,'.') )
-+ {
-+ g_free (result_lang);
-+ result_lang = g_strdup (to_investigate);
- break_out = TRUE;
- }
- }
-- g_strfreev(variants);
-+ g_strfreev (variants);
- }
-
--#elif GLIB_CHECK_VERSION(2, 6, )
-+#elif GLIB_CHECK_VERSION(2,26,0)
-
- /* Fallback to simpler version of the above,
- * g_get_locale_variants is not there in this version
- */
-- const gchar *const *possible_locales = g_get_language_names();
-- if(possible_locales != NULL) {
-+ const gchar * const * possible_locales = g_get_language_names();
-+ if (possible_locales != NULL)
-+ {
- /* might be a bit weird */
-- for(gint i = 0; possible_locales[i]; i++) {
-- if(g_ascii_strncasecmp("en", possible_locales[i], 2) != 0 &&
-- g_ascii_strncasecmp("C", possible_locales[i], 1) != 0) {
-- g_free(result_lang);
-- result_lang = g_strdup(possible_locales[i]);
-+ for (gint i = 0; possible_locales[i]; i++)
-+ {
-+ if (g_ascii_strncasecmp ("en",possible_locales[i],2) != 0 &&
-+ g_ascii_strncasecmp ("C", possible_locales[i],1) != 0)
-+ {
-+ g_free (result_lang);
-+ result_lang = g_strdup (possible_locales[i]);
- break;
- }
- }
-@@ -170,9 +179,9 @@ gchar *guess_language(void)
- #endif
-
- /* Properly terminate string */
-- END_STRING(result_lang, '_');
-- END_STRING(result_lang, '@');
-- END_STRING(result_lang, '.');
-+ END_STRING (result_lang,'_');
-+ END_STRING (result_lang,'@');
-+ END_STRING (result_lang,'.');
-
- /* We don't need it anymore */
- #undef END_STRING
-@@ -182,18 +191,19 @@ gchar *guess_language(void)
-
- /////////////////////////////////
-
--static int glyr_set_info(GlyrQuery *s, int at, const char *arg);
--static void set_query_on_defaults(GlyrQuery *glyrs);
-+static int glyr_set_info (GlyrQuery * s, int at, const char * arg);
-+static void set_query_on_defaults (GlyrQuery * glyrs);
-
- /////////////////////////////////
- // OTHER
- /////////////////////////////////
-
- // return a descriptive string on error ID
--__attribute__((visibility("default")))
--const char *glyr_strerror(GLYR_ERROR ID)
-+__attribute__ ( (visibility ("default") ) )
-+const char * glyr_strerror (GLYR_ERROR ID)
- {
-- if(ID < (sizeof(err_strings) / sizeof(const char *))) {
-+ if (ID < (sizeof (err_strings) /sizeof (const char *) ) )
-+ {
- return err_strings[ID];
- }
- return err_strings[GLYRE_UNKNOWN];
-@@ -201,40 +211,40 @@ const char *glyr_strerror(GLYR_ERROR ID)
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_signal_exit(GlyrQuery *query)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_signal_exit (GlyrQuery * query)
- {
-- SET_ATOMIC_SIGNAL_EXIT(query, 1);
-+ SET_ATOMIC_SIGNAL_EXIT (query,1);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_update_md5sum(GlyrMemCache *cache)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_update_md5sum (GlyrMemCache * cache)
- {
-- update_md5sum(cache);
-+ update_md5sum (cache);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_data(GlyrMemCache *cache, const char *data, int len)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_data (GlyrMemCache * cache, const char * data, int len)
- {
-- DL_set_data(cache, data, len);
-+ DL_set_data (cache,data,len);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_cache_copy(GlyrMemCache *cache)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_cache_copy (GlyrMemCache * cache)
- {
-- return DL_copy(cache);
-+ return DL_copy (cache);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--const char *glyr_version(void)
-+__attribute__ ( (visibility ("default") ) )
-+const char * glyr_version (void)
- {
- return "Version "GLYR_VERSION_MAJOR"."GLYR_VERSION_MINOR"."GLYR_VERSION_MICRO" ("GLYR_VERSION_NAME") of ["__DATE__"] compiled at ["__TIME__"]";
- }
-@@ -244,556 +254,525 @@ const char *glyr_version(void)
- /////////////////////////////////
-
- // Seperate method because va_arg struggles with function pointers
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_dlcallback(GlyrQuery *settings, DL_callback dl_cb, void *userp)
--{
--if(settings) {
--settings->callback.download = dl_cb;
--settings->callback.user_pointer = userp;
--return GLYRE_OK;
--}
--return GLYRE_EMPTY_STRUCT;
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_dlcallback (GlyrQuery * settings, DL_callback dl_cb, void * userp)
-+{
-+ if (settings)
-+ {
-+ settings->callback.download = dl_cb;
-+ settings->callback.user_pointer = userp;
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_EMPTY_STRUCT;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_type(GlyrQuery *s, GLYR_GET_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_type (GlyrQuery * s, GLYR_GET_TYPE type)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--if(type != GLYR_GET_UNKNOWN) {
--s->type = type;
--return GLYRE_OK;
--}
--return GLYRE_BAD_VALUE;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ if (type != GLYR_GET_UNKNOWN)
-+ {
-+ s->type = type;
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_BAD_VALUE;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_artist(GlyrQuery *s, const char *artist)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_artist (GlyrQuery * s, const char * artist)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 0, artist);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,0,artist);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_album(GlyrQuery *s, const char *album)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_album (GlyrQuery * s, const char * album)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 1, album);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,1,album);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_title(GlyrQuery *s, const char *title)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_title (GlyrQuery * s, const char * title)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 2, title);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,2,title);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--static int size_set(int *ref, int size)
-+static int size_set (int * ref, int size)
- {
--if(size < -1 && ref) {
--*ref = -1;
--return GLYRE_BAD_VALUE;
--}
-+ if (size < -1 && ref)
-+ {
-+ *ref = -1;
-+ return GLYRE_BAD_VALUE;
-+ }
-
--if(ref) {
--*ref = size;
--return GLYRE_OK;
--}
--return GLYRE_BAD_OPTION;
-+ if (ref)
-+ {
-+ *ref = size;
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_BAD_OPTION;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_img_maxsize(GlyrQuery *s, int size)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_img_maxsize (GlyrQuery * s, int size)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--return size_set(&s->img_max_size, size);
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ return size_set (&s->img_max_size,size);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_img_minsize(GlyrQuery *s, int size)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_img_minsize (GlyrQuery * s, int size)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--return size_set(&s->img_min_size, size);
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ return size_set (&s->img_min_size,size);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_parallel(GlyrQuery *s, unsigned long val)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_parallel (GlyrQuery * s, unsigned long val)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->parallel = (long) val;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->parallel = (long) val;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_timeout(GlyrQuery *s, unsigned long val)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_timeout (GlyrQuery * s, unsigned long val)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->timeout = (long) val;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->timeout = (long) val;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_redirects(GlyrQuery *s, unsigned long val)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_redirects (GlyrQuery * s, unsigned long val)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->redirects = (long) val;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->redirects = (long) val;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_useragent(GlyrQuery *s, const char *useragent)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_useragent (GlyrQuery * s, const char * useragent)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 6, (useragent) ? useragent : "");
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,6, (useragent) ? useragent : "");
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_lang(GlyrQuery *s, const char *langcode)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_lang (GlyrQuery * s, const char * langcode)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--if(langcode != NULL) {
--if(g_ascii_strncasecmp("auto", langcode, 4) == 0) {
--gchar *auto_lang = guess_language();
--glyr_set_info(s, 7, auto_lang);
--g_free(auto_lang);
--} else {
--glyr_set_info(s, 7, langcode);
--}
--return GLYRE_OK;
--}
--return GLYRE_BAD_VALUE;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ if (langcode != NULL)
-+ {
-+ if (g_ascii_strncasecmp ("auto",langcode,4) == 0)
-+ {
-+ gchar * auto_lang = guess_language();
-+ glyr_set_info (s,7,auto_lang);
-+ g_free (auto_lang);
-+ }
-+ else
-+ {
-+ glyr_set_info (s,7,langcode);
-+ }
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_BAD_VALUE;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_lang_aware_only(GlyrQuery *s, bool lang_aware_only)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_lang_aware_only (GlyrQuery * s, bool lang_aware_only)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->lang_aware_only = lang_aware_only;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->lang_aware_only = lang_aware_only;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_number(GlyrQuery *s, unsigned int num)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_number (GlyrQuery * s, unsigned int num)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->number = num == 0 ? INT_MAX : num;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->number = num == 0 ? INT_MAX : num;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_verbosity(GlyrQuery *s, unsigned int level)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_verbosity (GlyrQuery * s, unsigned int level)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->verbosity = level;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->verbosity = level;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_from(GlyrQuery *s, const char *from)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_from (GlyrQuery * s, const char * from)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--if(from != NULL) {
--glyr_set_info(s, 4, from);
--return GLYRE_OK;
--}
--return GLYRE_BAD_VALUE;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ if (from != NULL)
-+ {
-+ glyr_set_info (s,4,from);
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_BAD_VALUE;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_allowed_formats(GlyrQuery *s, const char *formats)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_allowed_formats (GlyrQuery * s, const char * formats)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 5, (formats == NULL) ? GLYR_DEFAULT_ALLOWED_FORMATS : formats);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,5, (formats==NULL) ? GLYR_DEFAULT_ALLOWED_FORMATS : formats);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_musictree_path(GlyrQuery *s, const char *musictree_path)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_musictree_path (GlyrQuery * s, const char * musictree_path)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 8, (musictree_path == NULL) ? GLYR_DEFAULT_MUISCTREE_PATH : musictree_path);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,8, (musictree_path==NULL) ? GLYR_DEFAULT_MUISCTREE_PATH : musictree_path);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_plugmax(GlyrQuery *s, int plugmax)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_plugmax (GlyrQuery * s, int plugmax)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--if(plugmax < 0) {
--return GLYRE_BAD_VALUE;
--}
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ if (plugmax < 0)
-+ {
-+ return GLYRE_BAD_VALUE;
-+ }
-
--s->plugmax = plugmax;
--return GLYRE_OK;
-+ s->plugmax = plugmax;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_qsratio(GlyrQuery *s, float ratio)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_qsratio (GlyrQuery * s, float ratio)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->qsratio = MIN(MAX(ratio, 0.0), 1.0);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->qsratio = MIN (MAX (ratio,0.0),1.0);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_proxy(GlyrQuery *s, const char *proxystring)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_proxy (GlyrQuery * s, const char * proxystring)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--glyr_set_info(s, 3, proxystring);
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ glyr_set_info (s,3,proxystring);
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_fuzzyness(GlyrQuery *s, int fuzz)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_fuzzyness (GlyrQuery * s, int fuzz)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->fuzzyness = fuzz;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->fuzzyness = fuzz;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_download(GlyrQuery *s, bool download)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_download (GlyrQuery * s, bool download)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->download = download;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->download = download;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_force_utf8(GlyrQuery *s, bool force_utf8)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_force_utf8 (GlyrQuery * s, bool force_utf8)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->force_utf8 = force_utf8;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->force_utf8 = force_utf8;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_lookup_db(GlyrQuery *s, GlyrDatabase *db)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_lookup_db (GlyrQuery * s, GlyrDatabase * db)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--if(db != NULL) {
--s->local_db = db;
--return GLYRE_OK;
--}
--return GLYRE_BAD_VALUE;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ if (db != NULL)
-+ {
-+ s->local_db = db;
-+ return GLYRE_OK;
-+ }
-+ return GLYRE_BAD_VALUE;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_db_autowrite(GlyrQuery *s, bool db_autowrite)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_db_autowrite (GlyrQuery * s, bool db_autowrite)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->db_autowrite = db_autowrite;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->db_autowrite = db_autowrite;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_db_autoread(GlyrQuery *s, bool db_autoread)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_db_autoread (GlyrQuery * s, bool db_autoread)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->db_autoread = db_autoread;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->db_autoread = db_autoread;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_ERROR glyr_opt_normalize(GlyrQuery *s, GLYR_NORMALIZATION norm)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_ERROR glyr_opt_normalize (GlyrQuery * s, GLYR_NORMALIZATION norm)
- {
--if(s == NULL) {
--return GLYRE_EMPTY_STRUCT;
--}
--s->normalization = norm;
--return GLYRE_OK;
-+ if (s == NULL) return GLYRE_EMPTY_STRUCT;
-+ s->normalization = norm;
-+ return GLYRE_OK;
- }
-
- /////////////////////////////////
- /////////////////////////////////
- /////////////////////////////////
-
--static void set_query_on_defaults(GlyrQuery *glyrs)
-+static void set_query_on_defaults (GlyrQuery * glyrs)
- {
--if(glyrs == NULL) {
--return;
--}
--
--/* Initialize free pointer pool */
--memset(glyrs, 0, sizeof(GlyrQuery));
--
--glyrs->type = GLYR_GET_UNKNOWN;
--glyrs->artist = NULL;
--glyrs->album = NULL;
--glyrs->title = NULL;
--glyrs->local_db = NULL;
--glyrs->callback.download = NULL;
--glyrs->callback.user_pointer = NULL;
--glyrs->musictree_path = NULL;
--glyrs->q_errno = GLYRE_OK;
--
--glyrs->db_autoread = GLYR_DEFAULT_DB_AUTOREAD;
--glyrs->db_autowrite = GLYR_DEFAULT_DB_AUTOWRITE;
--glyrs->from = GLYR_DEFAULT_FROM;
--glyrs->img_min_size = GLYR_DEFAULT_CMINSIZE;
--glyrs->img_max_size = GLYR_DEFAULT_CMAXSIZE;
--glyrs->number = GLYR_DEFAULT_NUMBER;
--glyrs->parallel = GLYR_DEFAULT_PARALLEL;
--glyrs->redirects = GLYR_DEFAULT_REDIRECTS;
--glyrs->timeout = GLYR_DEFAULT_TIMEOUT;
--glyrs->verbosity = GLYR_DEFAULT_VERBOSITY;
--glyrs->plugmax = GLYR_DEFAULT_PLUGMAX;
--glyrs->download = GLYR_DEFAULT_DOWNLOAD;
--glyrs->fuzzyness = GLYR_DEFAULT_FUZZYNESS;
--glyrs->proxy = GLYR_DEFAULT_PROXY;
--glyrs->qsratio = GLYR_DEFAULT_QSRATIO;
--glyrs->allowed_formats = GLYR_DEFAULT_ALLOWED_FORMATS;
--glyrs->useragent = GLYR_DEFAULT_USERAGENT;
--glyrs->force_utf8 = GLYR_DEFAULT_FORCE_UTF8;
--glyrs->lang = GLYR_DEFAULT_LANG;
--glyrs->lang_aware_only = GLYR_DEFAULT_LANG_AWARE_ONLY;
--glyrs->normalization = GLYR_NORMALIZE_AGGRESSIVE | GLYR_NORMALIZE_ALL;
--glyrs->signal_exit = FALSE;
--glyrs->itemctr = 0;
--
--/* Set on a very specific value, so we can pretty sure,
-- we are not accessing bad memory - feels little hackish.. */
--glyrs->is_initalized = QUERY_INITIALIZER;
--}
--
--/////////////////////////////////
-+ if (glyrs == NULL)
-+ {
-+ return;
-+ }
-
--__attribute__((visibility("default")))
--void glyr_query_init(GlyrQuery *glyrs)
--{
--if(glyrs != NULL) {
--set_query_on_defaults(glyrs);
--}
-+ /* Initialize free pointer pool */
-+ memset (glyrs,0,sizeof (GlyrQuery) );
-+
-+ glyrs->type = GLYR_GET_UNKNOWN;
-+ glyrs->artist = NULL;
-+ glyrs->album = NULL;
-+ glyrs->title = NULL;
-+ glyrs->local_db = NULL;
-+ glyrs->callback.download = NULL;
-+ glyrs->callback.user_pointer = NULL;
-+ glyrs->musictree_path = NULL;
-+ glyrs->q_errno = GLYRE_OK;
-+
-+ glyrs->db_autoread = GLYR_DEFAULT_DB_AUTOREAD;
-+ glyrs->db_autowrite = GLYR_DEFAULT_DB_AUTOWRITE;
-+ glyrs->from = GLYR_DEFAULT_FROM;
-+ glyrs->img_min_size = GLYR_DEFAULT_CMINSIZE;
-+ glyrs->img_max_size = GLYR_DEFAULT_CMAXSIZE;
-+ glyrs->number = GLYR_DEFAULT_NUMBER;
-+ glyrs->parallel = GLYR_DEFAULT_PARALLEL;
-+ glyrs->redirects = GLYR_DEFAULT_REDIRECTS;
-+ glyrs->timeout = GLYR_DEFAULT_TIMEOUT;
-+ glyrs->verbosity = GLYR_DEFAULT_VERBOSITY;
-+ glyrs->plugmax = GLYR_DEFAULT_PLUGMAX;
-+ glyrs->download = GLYR_DEFAULT_DOWNLOAD;
-+ glyrs->fuzzyness = GLYR_DEFAULT_FUZZYNESS;
-+ glyrs->proxy = GLYR_DEFAULT_PROXY;
-+ glyrs->qsratio = GLYR_DEFAULT_QSRATIO;
-+ glyrs->allowed_formats = GLYR_DEFAULT_ALLOWED_FORMATS;
-+ glyrs->useragent = GLYR_DEFAULT_USERAGENT;
-+ glyrs->force_utf8 = GLYR_DEFAULT_FORCE_UTF8;
-+ glyrs->lang = GLYR_DEFAULT_LANG;
-+ glyrs->lang_aware_only = GLYR_DEFAULT_LANG_AWARE_ONLY;
-+ glyrs->normalization = GLYR_NORMALIZE_AGGRESSIVE | GLYR_NORMALIZE_ALL;
-+ glyrs->signal_exit = FALSE;
-+ glyrs->itemctr = 0;
-+
-+ /* Set on a very specific value, so we can pretty sure,
-+ we are not accessing bad memory - feels little hackish.. */
-+ glyrs->is_initalized = QUERY_INITIALIZER;
-+}
-+
-+/////////////////////////////////
-+
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_query_init (GlyrQuery * glyrs)
-+{
-+ if (glyrs != NULL)
-+ {
-+ set_query_on_defaults (glyrs);
-+ }
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_query_destroy(GlyrQuery *sets)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_query_destroy (GlyrQuery * sets)
- {
--if(sets != NULL && QUERY_IS_INITALIZED(sets)) {
--for(gsize i = 0; i < 10; i++) {
--if(sets->info[i] != NULL) {
--g_free((char *) sets->info[i]);
--sets->info[i] = NULL;
--}
--}
-+ if (sets != NULL && QUERY_IS_INITALIZED (sets) )
-+ {
-+ for (gsize i = 0; i < 10; i++)
-+ {
-+ if (sets->info[i] != NULL)
-+ {
-+ g_free ( (char*) sets->info[i]);
-+ sets->info[i] = NULL;
-+ }
-+ }
-
--/* Reset query so it can be used again */
--set_query_on_defaults(sets);
--}
-+ /* Reset query so it can be used again */
-+ set_query_on_defaults (sets);
-+ }
-
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_download(const char *url, GlyrQuery *s)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_download (const char * url, GlyrQuery * s)
- {
--return download_single(url, s, NULL);
-+ return download_single (url,s,NULL);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_free_list(GlyrMemCache *head)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_free_list (GlyrMemCache * head)
- {
--if(head != NULL) {
--GlyrMemCache *next = head;
--GlyrMemCache *prev = head->prev;
-+ if (head != NULL)
-+ {
-+ GlyrMemCache * next = head;
-+ GlyrMemCache * prev = head->prev;
-
--while(next != NULL) {
--GlyrMemCache *p = next;
--next = next->next;
--DL_free(p);
--}
-+ while (next != NULL)
-+ {
-+ GlyrMemCache * p = next;
-+ next = next->next;
-+ DL_free (p);
-+ }
-
--while(prev != NULL) {
--GlyrMemCache *p = prev;
--prev = prev->prev;
--DL_free(p);
--}
--}
-+ while (prev != NULL)
-+ {
-+ GlyrMemCache * p = prev;
-+ prev = prev->prev;
-+ DL_free (p);
-+ }
-+ }
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_free(GlyrMemCache *c)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_free (GlyrMemCache * c)
- {
--DL_free(c);
-+ DL_free (c);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_cache_new(void)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_cache_new (void)
- {
--return DL_init();
-+ return DL_init();
- }
-
- /////////////////////////////////
-
- // !! NOT THREADSAFE !! //
--__attribute__((visibility("default")))
--void glyr_init(void)
--{
--/* Protect agains double initialization */
--if(is_initalized == FALSE) {
--/* Set loghandler */
--g_log_set_handler(G_LOG_DOMAIN, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
--| G_LOG_FLAG_RECURSION,
--glyr_internal_log, NULL);
--
--if(curl_global_init(CURL_GLOBAL_ALL)) {
--glyr_message(-1, NULL, "Fatal: libcurl failed to init\n");
--}
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_init (void)
-+{
-+ /* Protect agains double initialization */
-+ if (is_initalized == FALSE)
-+ {
-+ /* Set loghandler */
-+ g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
-+ | G_LOG_FLAG_RECURSION,
-+ glyr_internal_log, NULL);
-+
-+ if (curl_global_init (CURL_GLOBAL_ALL) )
-+ {
-+ glyr_message (-1,NULL,"Fatal: libcurl failed to init\n");
-+ }
-
--/* Locale */
--if(setlocale(LC_ALL, "") == NULL) {
--glyr_message(-1, NULL, "Cannot set locale!\n");
--}
-+ /* Locale */
-+ if (setlocale (LC_ALL, "") == NULL)
-+ {
-+ glyr_message (-1,NULL,"Cannot set locale!\n");
-+ }
-
--/* Register plugins */
--register_fetcher_plugins();
-+ /* Register plugins */
-+ register_fetcher_plugins();
-
--/* Init the smallest blacklist in the world :-) */
--blacklist_build();
-+ /* Init the smallest blacklist in the world :-) */
-+ blacklist_build();
-
--is_initalized = TRUE;
--}
-+ is_initalized = TRUE;
-+ }
- }
-
-
- /////////////////////////////////
-
- // !! NOT THREADSAFE !! //
--__attribute__((visibility("default")))
--void glyr_cleanup(void)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cleanup (void)
- {
--if(is_initalized == TRUE) {
--/* Curl no longer needed */
--curl_global_cleanup();
-+ if (is_initalized == TRUE)
-+ {
-+ /* Curl no longer needed */
-+ curl_global_cleanup();
-
--/* Destroy all fetchers */
--unregister_fetcher_plugins();
-+ /* Destroy all fetchers */
-+ unregister_fetcher_plugins();
-
--/* Kill it again */
--blacklist_destroy();
-+ /* Kill it again */
-+ blacklist_destroy();
-
--is_initalized = FALSE;
--}
-+ is_initalized = FALSE;
-+ }
- }
-
-
-@@ -801,67 +780,68 @@ is_initalized = FALSE;
- /////////////////////////////////
-
- /* Sets parallel field depending on the get_type */
--static void auto_detect_parallel(MetaDataFetcher *fetcher, GlyrQuery *query)
--{
--if(query->parallel <= 0) {
--if(fetcher->default_parallel <= 0) {
--gint div = (int)(1.0 / (CLAMP(query->qsratio, 0.01, 0.99) * 2));
--query->parallel = (div == 0) ? 3 : g_list_length(fetcher->provider) / div;
--} else {
--query->parallel = fetcher->default_parallel;
--}
--}
-+static void auto_detect_parallel (MetaDataFetcher * fetcher, GlyrQuery * query)
-+{
-+ if (query->parallel <= 0)
-+ {
-+ if (fetcher->default_parallel <= 0)
-+ {
-+ gint div = (int) (1.0/ (CLAMP (query->qsratio,0.01,0.99) * 2) );
-+ query->parallel = (div == 0) ? 3 : g_list_length (fetcher->provider) / div;
-+ }
-+ else
-+ {
-+ query->parallel = fetcher->default_parallel;
-+ }
-+ }
- }
-
- /////////////////////////////////
-
--static gboolean check_if_valid(GlyrQuery *q, MetaDataFetcher *fetch)
-+static gboolean check_if_valid (GlyrQuery * q, MetaDataFetcher * fetch)
- {
--gboolean isValid = TRUE;
--if(fetch->reqs & GLYR_REQUIRES_ARTIST && q->artist == NULL) {
--glyr_message(2, q, "Artist is required for this getter\n");
--isValid = FALSE;
--}
-+ gboolean isValid = TRUE;
-+ if (fetch->reqs & GLYR_REQUIRES_ARTIST && q->artist == NULL)
-+ {
-+ glyr_message (2,q,"Artist is required for this getter\n");
-+ isValid = FALSE;
-+ }
-
--if(fetch->reqs & GLYR_REQUIRES_ALBUM && q->album == NULL) {
--glyr_message(2, q, "Albumname is required for this getter\n");
--isValid = FALSE;
--}
-+ if (fetch->reqs & GLYR_REQUIRES_ALBUM && q->album == NULL)
-+ {
-+ glyr_message (2,q,"Albumname is required for this getter\n");
-+ isValid = FALSE;
-+ }
-
--if(fetch->reqs & GLYR_REQUIRES_TITLE && q->title == NULL) {
--glyr_message(2, q, "Songname is required for this getter\n");
--isValid = FALSE;
--}
-+ if (fetch->reqs & GLYR_REQUIRES_TITLE && q->title == NULL)
-+ {
-+ glyr_message (2,q,"Songname is required for this getter\n");
-+ isValid = FALSE;
-+ }
-
--if(isValid == FALSE && fetch->reqs > GLYR_REQUIRES_TITLE) {
--char *f1 = "", * f2 = "", * f3 = "";
--if(fetch->reqs & GLYR_OPTIONAL_ARTIST) {
--f1 = "Artist ";
--}
--if(fetch->reqs & GLYR_OPTIONAL_ALBUM) {
--f2 = "Album ";
--}
--if(fetch->reqs & GLYR_OPTIONAL_TITLE) {
--f3 = "Songtitle ";
--}
-+ if (isValid == FALSE && fetch->reqs > GLYR_REQUIRES_TITLE)
-+ {
-+ char * f1 = "",* f2 = "", * f3 = "";
-+ if (fetch->reqs & GLYR_OPTIONAL_ARTIST) f1 = "Artist ";
-+ if (fetch->reqs & GLYR_OPTIONAL_ALBUM) f2 = "Album ";
-+ if (fetch->reqs & GLYR_OPTIONAL_TITLE) f3 = "Songtitle ";
-
--if(*f1 || *f2 || *f3) {
--glyr_message(2, q, "\nFollowing fields are optional: %s%s%s\n", f1, f2, f3);
--}
--}
--return isValid;
-+ if (*f1 || *f2 || *f3)
-+ {
-+ glyr_message (2,q,"\nFollowing fields are optional: %s%s%s\n",f1,f2,f3);
-+ }
-+ }
-+ return isValid;
- }
-
- /////////////////////////////////
-
--static void set_error(GLYR_ERROR err_in, GlyrQuery *query, GLYR_ERROR *err_out)
-+static void set_error (GLYR_ERROR err_in, GlyrQuery * query, GLYR_ERROR * err_out)
- {
--if(query) {
--query->q_errno = err_in;
--}
--if(err_out) {
--*err_out = err_in;
--}
-+ if (query)
-+ query->q_errno = err_in;
-+ if (err_out)
-+ *err_out = err_in;
- }
-
- /////////////////////////////////
-@@ -879,385 +859,439 @@ if(err_out) {
- } \
- } \
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_get(GlyrQuery *query, GLYR_ERROR *e, int *length)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_get (GlyrQuery * query, GLYR_ERROR * e, int * length)
- {
--if(is_initalized == FALSE || QUERY_IS_INITALIZED(query) == FALSE) {
--glyr_message(-1, NULL, "Warning: Either query or library is not initialized.\n");
--if(e != NULL) {
--set_error(GLYRE_NO_INIT, query, e);
--}
--return NULL;
--}
--
--set_error(GLYRE_OK, query, e);
--
--if(query != NULL) {
--if(g_ascii_strncasecmp(query->lang, "auto", 4) == 0) {
--glyr_opt_lang(query, "auto");
--}
--
--GList *result = NULL;
--set_error(GLYRE_UNKNOWN_GET, query, e);
--
--for(GList *elem = r_getFList(); elem; elem = elem->next) {
--MetaDataFetcher *item = elem->data;
--if(query->type == item->type) {
--if(check_if_valid(query, item) == TRUE) {
--/* Print some user info, always useful */
--if(query->normalization & GLYR_NORMALIZE_ARTIST) {
--PRINT_NORMALIZED_ATTR("- Artist : ", query->normalization, query->artist);
--} else {
--PRINT_NORMALIZED_ATTR("- Artist : ", GLYR_NORMALIZE_NONE, query->artist);
--}
--
--if(query->normalization & GLYR_NORMALIZE_ALBUM) {
--PRINT_NORMALIZED_ATTR("- Album : ", query->normalization, query->album);
--} else {
--PRINT_NORMALIZED_ATTR("- Album : ", GLYR_NORMALIZE_NONE, query->album);
--}
--
--if(query->normalization & GLYR_NORMALIZE_TITLE) {
--PRINT_NORMALIZED_ATTR("- Title : ", query->normalization, query->title);
--} else {
--PRINT_NORMALIZED_ATTR("- Title : ", GLYR_NORMALIZE_NONE, query->title);
--}
--
--if(query->lang != NULL) {
--glyr_message(2, query, "- Language : ");
--glyr_message(2, query, "%s\n", query->lang);
--}
--
--set_error(GLYRE_OK, query, e);
--glyr_message(2, query, "- Type : %s\n\n", item->name);
--
--/* Lookup what we search for here: Images (url, or raw) or text */
--query->imagejob = !(item->full_data);
-+ if (is_initalized == FALSE || QUERY_IS_INITALIZED (query) == FALSE)
-+ {
-+ glyr_message (-1,NULL,"Warning: Either query or library is not initialized.\n");
-+ if (e != NULL)
-+ {
-+ set_error (GLYRE_NO_INIT, query, e);
-+ }
-+ return NULL;
-+ }
-
--/* If ->parallel is <= 0, it gets autodetected */
--auto_detect_parallel(item, query);
-+ set_error (GLYRE_OK, query, e);
-
--/* Now start your engines, gentlemen */
--result = start_engine(query, item, e);
--break;
--} else {
--set_error(GLYRE_INSUFF_DATA, query, e);
--}
--}
--}
--
--/* Make this query reusable */
--query->itemctr = 0;
-+ if (query != NULL)
-+ {
-+ if (g_ascii_strncasecmp (query->lang,"auto",4) == 0)
-+ {
-+ glyr_opt_lang (query,"auto");
-+ }
-
--/* Start of the returned list */
--GlyrMemCache *head = NULL;
-+ GList * result = NULL;
-+ set_error (GLYRE_UNKNOWN_GET, query, e);
-+
-+ for (GList * elem = r_getFList(); elem; elem = elem->next)
-+ {
-+ MetaDataFetcher * item = elem->data;
-+ if (query->type == item->type)
-+ {
-+ if (check_if_valid (query,item) == TRUE)
-+ {
-+ /* Print some user info, always useful */
-+ if (query->normalization & GLYR_NORMALIZE_ARTIST) {
-+ PRINT_NORMALIZED_ATTR("- Artist : ", query->normalization, query->artist);
-+ } else {
-+ PRINT_NORMALIZED_ATTR("- Artist : ", GLYR_NORMALIZE_NONE, query->artist);
-+ }
-+
-+ if (query->normalization & GLYR_NORMALIZE_ALBUM) {
-+ PRINT_NORMALIZED_ATTR("- Album : ", query->normalization, query->album);
-+ } else {
-+ PRINT_NORMALIZED_ATTR("- Album : ", GLYR_NORMALIZE_NONE, query->album);
-+ }
-+
-+ if (query->normalization & GLYR_NORMALIZE_TITLE) {
-+ PRINT_NORMALIZED_ATTR("- Title : ", query->normalization, query->title);
-+ } else {
-+ PRINT_NORMALIZED_ATTR("- Title : ", GLYR_NORMALIZE_NONE, query->title);
-+ }
-+
-+ if (query->lang != NULL)
-+ {
-+ glyr_message (2,query,"- Language : ");
-+ glyr_message (2,query,"%s\n",query->lang);
-+ }
-+
-+ set_error (GLYRE_OK, query, e);
-+ glyr_message (2,query,"- Type : %s\n\n",item->name);
-+
-+ /* Lookup what we search for here: Images (url, or raw) or text */
-+ query->imagejob = ! (item->full_data);
-+
-+ /* If ->parallel is <= 0, it gets autodetected */
-+ auto_detect_parallel (item, query);
-+
-+ /* Now start your engines, gentlemen */
-+ result = start_engine (query,item,e);
-+ break;
-+ }
-+ else
-+ {
-+ set_error (GLYRE_INSUFF_DATA, query, e);
-+ }
-+ }
-+ }
-
--/* Librarby was stopped, just return NULL. */
--if(result != NULL && GET_ATOMIC_SIGNAL_EXIT(query)) {
--for(GList *elem = result; elem; elem = elem->next) {
--DL_free(elem->data);
--}
-+ /* Make this query reusable */
-+ query->itemctr = 0;
-
--g_list_free(result);
--result = NULL;
-+ /* Start of the returned list */
-+ GlyrMemCache * head = NULL;
-
--set_error(GLYRE_WAS_STOPPED, query, e);
--}
-+ /* Librarby was stopped, just return NULL. */
-+ if (result != NULL && GET_ATOMIC_SIGNAL_EXIT (query) )
-+ {
-+ for (GList * elem = result; elem; elem = elem->next)
-+ DL_free (elem->data);
-
--/* Set the length */
--if(length != NULL) {
--*length = g_list_length(result);
--}
-+ g_list_free (result);
-+ result = NULL;
-
--/* free if empty */
--if(result != NULL) {
--/* Count inserstions */
--gint db_inserts = 0;
-+ set_error (GLYRE_WAS_STOPPED, query, e);
-+ }
-
--/* link caches to each other */
--for(GList *elem = result; elem; elem = elem->next) {
--GlyrMemCache *item = elem->data;
--item->next = (elem->next) ? elem->next->data : NULL;
--item->prev = (elem->prev) ? elem->prev->data : NULL;
-+ /* Set the length */
-+ if (length != NULL)
-+ {
-+ *length = g_list_length (result);
-+ }
-
--if(query->db_autowrite && query->local_db && item->cached == FALSE) {
--db_inserts++;
--glyr_db_insert(query->local_db, query, item);
--}
--}
-+ /* free if empty */
-+ if (result != NULL)
-+ {
-+ /* Count inserstions */
-+ gint db_inserts = 0;
-+
-+ /* link caches to each other */
-+ for (GList * elem = result; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ item->next = (elem->next) ? elem->next->data : NULL;
-+ item->prev = (elem->prev) ? elem->prev->data : NULL;
-+
-+ if (query->db_autowrite && query->local_db && item->cached == FALSE)
-+ {
-+ db_inserts++;
-+ glyr_db_insert (query->local_db,query,item);
-+ }
-+ }
-
--if(db_inserts > 0) {
--glyr_message(2, query, "--- Inserted %d item%s into db.\n", db_inserts, (db_inserts == 1) ? "" : "s");
--}
-+ if (db_inserts > 0)
-+ {
-+ glyr_message (2,query,"--- Inserted %d item%s into db.\n",db_inserts, (db_inserts == 1) ? "" : "s");
-+ }
-
--/* Finish. */
--if(g_list_first(result)) {
--head = g_list_first(result)->data;
--}
-+ /* Finish. */
-+ if (g_list_first (result) )
-+ {
-+ head = g_list_first (result)->data;
-+ }
-
--g_list_free(result);
--result = NULL;
--}
-+ g_list_free (result);
-+ result = NULL;
-+ }
-
--/* Done! */
--SET_ATOMIC_SIGNAL_EXIT(query, 0);
--return head;
--}
-+ /* Done! */
-+ SET_ATOMIC_SIGNAL_EXIT (query,0);
-+ return head;
-+ }
-
--set_error(GLYRE_EMPTY_STRUCT, query, e);
--SET_ATOMIC_SIGNAL_EXIT(query, 0);
--return NULL;
-+ set_error (GLYRE_EMPTY_STRUCT, query, e);
-+ SET_ATOMIC_SIGNAL_EXIT (query,0);
-+ return NULL;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--int glyr_cache_write(GlyrMemCache *data, const char *path)
-+__attribute__ ( (visibility ("default") ) )
-+int glyr_cache_write (GlyrMemCache * data, const char * path)
- {
--int bytes = -1;
--if(path) {
--if(!g_ascii_strcasecmp(path, "null")) {
--bytes = 0;
--} else if(!g_ascii_strcasecmp(path, "stdout")) {
--bytes = fwrite(data->data, 1, data->size, stdout);
--fputc('\n', stdout);
--} else if(!g_ascii_strcasecmp(path, "stderr")) {
--bytes = fwrite(data->data, 1, data->size, stderr);
--fputc('\n', stderr);
--} else {
--FILE *fp = fopen(path, "w");
--if(fp) {
--if(data->data != NULL) {
--bytes = fwrite(data->data, 1, data->size, fp);
--}
--fclose(fp);
--} else {
--glyr_message(-1, NULL, "glyr_cache_write: Unable to write to '%s'!\n", path);
--}
--}
--}
--return bytes;
-+ int bytes = -1;
-+ if (path)
-+ {
-+ if (!g_ascii_strcasecmp (path,"null") )
-+ {
-+ bytes = 0;
-+ }
-+ else if (!g_ascii_strcasecmp (path,"stdout") )
-+ {
-+ bytes=fwrite (data->data,1,data->size,stdout);
-+ fputc ('\n',stdout);
-+ }
-+ else if (!g_ascii_strcasecmp (path,"stderr") )
-+ {
-+ bytes=fwrite (data->data,1,data->size,stderr);
-+ fputc ('\n',stderr);
-+ }
-+ else
-+ {
-+ FILE * fp = fopen (path,"w");
-+ if (fp)
-+ {
-+ if (data->data != NULL)
-+ {
-+ bytes=fwrite (data->data,1,data->size,fp);
-+ }
-+ fclose (fp);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"glyr_cache_write: Unable to write to '%s'!\n",path);
-+ }
-+ }
-+ }
-+ return bytes;
- }
-
- /////////////////////////////////
-
--static int glyr_set_info(GlyrQuery *s, int at, const char *arg)
-+static int glyr_set_info (GlyrQuery * s, int at, const char * arg)
- {
--gint result = GLYRE_OK;
--if(s && arg && at >= 0 && at < 10) {
--if(s->info[at] != NULL) {
--g_free((char *) s->info[at]);
--}
-+ gint result = GLYRE_OK;
-+ if (s && arg && at >= 0 && at < 10)
-+ {
-+ if (s->info[at] != NULL)
-+ {
-+ g_free ( (char*) s->info[at]);
-+ }
-
--s->info[at] = g_strdup(arg);
--switch(at) {
--case 0:
--s->artist = (gchar *) s->info[at];
--break;
--case 1:
--s->album = (gchar *) s->info[at];
--break;
--case 2:
--s->title = (gchar *) s->info[at];
--break;
--case 3:
--s->proxy = s->info[at];
--break;
--case 4:
--s->from = (gchar *) s->info[at];
--break;
--case 5:
--s->allowed_formats = (gchar *) s->info[at];
--break;
--case 6:
--s->useragent = (gchar *) s->info[at];
--break;
--case 7:
--s->lang = (gchar *) s->info[at];
--break;
--case 8:
--s->musictree_path = (gchar *) s->info[at];
--break;
--default:
--glyr_message(2, s, "Warning: wrong <at> for glyr_info_at!\n");
--}
--} else {
--result = GLYRE_BAD_VALUE;
--}
--return result;
-+ s->info[at] = g_strdup (arg);
-+ switch (at)
-+ {
-+ case 0:
-+ s->artist = (gchar*) s->info[at];
-+ break;
-+ case 1:
-+ s->album = (gchar*) s->info[at];
-+ break;
-+ case 2:
-+ s->title = (gchar*) s->info[at];
-+ break;
-+ case 3:
-+ s->proxy = s->info[at];
-+ break;
-+ case 4:
-+ s->from = (gchar*) s->info[at];
-+ break;
-+ case 5:
-+ s->allowed_formats = (gchar*) s->info[at];
-+ break;
-+ case 6:
-+ s->useragent = (gchar*) s->info[at];
-+ break;
-+ case 7:
-+ s->lang = (gchar*) s->info[at];
-+ break;
-+ case 8:
-+ s->musictree_path = (gchar * ) s->info[at];
-+ break;
-+ default:
-+ glyr_message (2,s,"Warning: wrong <at> for glyr_info_at!\n");
-+ }
-+ }
-+ else
-+ {
-+ result = GLYRE_BAD_VALUE;
-+ }
-+ return result;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--const char *glyr_get_type_to_string(GLYR_GET_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+const char * glyr_get_type_to_string (GLYR_GET_TYPE type)
- {
--const gchar *result = "unknown";
-+ const gchar * result = "unknown";
-
--GList *fetcher_list = r_getFList();
--for(GList *elem = fetcher_list; elem != NULL; elem = elem->next) {
--MetaDataFetcher *fetch = elem->data;
--if(fetch->type == type) {
--result = fetch->name;
--break;
--}
--}
-+ GList * fetcher_list = r_getFList();
-+ for (GList * elem = fetcher_list; elem != NULL; elem = elem->next)
-+ {
-+ MetaDataFetcher * fetch = elem->data;
-+ if (fetch->type == type)
-+ {
-+ result = fetch->name;
-+ break;
-+ }
-+ }
-
--return result;
-+ return result;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_GET_TYPE glyr_string_to_get_type(const char *string)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_GET_TYPE glyr_string_to_get_type (const char * string)
- {
--if(string != NULL) {
--GList *fetcher_list = r_getFList();
--for(GList *elem = fetcher_list; elem != NULL; elem = elem->next) {
--MetaDataFetcher *fetch = elem->data;
--if(g_ascii_strcasecmp(fetch->name, string) == 0) {
--return fetch->type;
--break;
--}
--}
--}
--return GLYR_GET_UNKNOWN;
-+ if (string != NULL)
-+ {
-+ GList * fetcher_list = r_getFList();
-+ for (GList * elem = fetcher_list; elem != NULL; elem = elem->next)
-+ {
-+ MetaDataFetcher * fetch = elem->data;
-+ if (g_ascii_strcasecmp (fetch->name,string) == 0)
-+ {
-+ return fetch->type;
-+ break;
-+ }
-+ }
-+ }
-+ return GLYR_GET_UNKNOWN;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--const char *glyr_data_type_to_string(GLYR_DATA_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+const char * glyr_data_type_to_string (GLYR_DATA_TYPE type)
- {
--if(type > 0 && type < (sizeof(type_strings) / sizeof(const char *))) {
--return type_strings[type];
--} else {
--return type_strings[GLYR_TYPE_UNKNOWN];
--}
-+ if (type > 0 && type < (sizeof (type_strings) /sizeof (const char*) ) )
-+ {
-+ return type_strings[type];
-+ }
-+ else
-+ {
-+ return type_strings[GLYR_TYPE_UNKNOWN];
-+ }
- }
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_DATA_TYPE glyr_string_to_data_type(const char *string)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_DATA_TYPE glyr_string_to_data_type (const char * string)
- {
--if(string != NULL) {
--gsize table_size = (sizeof(type_strings) / sizeof(const char *));
--for(gsize i = 0; i < table_size; i++) {
--if(g_ascii_strcasecmp(string, type_strings[i]) == 0) {
--return i;
--}
--}
--}
--return GLYR_TYPE_UNKNOWN;
-+ if (string != NULL)
-+ {
-+ gsize table_size = (sizeof (type_strings) /sizeof (const char*) );
-+ for (gsize i = 0; i < table_size; i++)
-+ {
-+ if (g_ascii_strcasecmp (string,type_strings[i]) == 0)
-+ return i;
-+ }
-+ }
-+ return GLYR_TYPE_UNKNOWN;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_print(GlyrMemCache *cacheditem)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_print (GlyrMemCache * cacheditem)
- {
--if(cacheditem != NULL) {
--glyr_message(-1, NULL, "FROM: <%s>\n", cacheditem->dsrc);
--glyr_message(-1, NULL, "PROV: %s\n", cacheditem->prov);
--glyr_message(-1, NULL, "SIZE: %d Bytes\n", (int) cacheditem->size);
--glyr_message(-1, NULL, "MSUM: ");
-+ if (cacheditem != NULL)
-+ {
-+ glyr_message (-1,NULL,"FROM: <%s>\n",cacheditem->dsrc);
-+ glyr_message (-1,NULL,"PROV: %s\n",cacheditem->prov);
-+ glyr_message (-1,NULL,"SIZE: %d Bytes\n", (int) cacheditem->size);
-+ glyr_message (-1,NULL,"MSUM: ");
-
-
--/* Print md5sum */
--for(int i = 0; i < 16; i++) {
--fprintf(stderr, "%02x", cacheditem->md5sum[i]);
--}
--
--// Each cache identified it's data by a constant
--glyr_message(-1, NULL, "\nTYPE: ");
--if(cacheditem->type == GLYR_TYPE_TRACK) {
--glyr_message(-1, NULL, "[%02d:%02d] ", cacheditem->duration / 60, cacheditem->duration % 60);
--}
--glyr_message(-1, NULL, "%s", glyr_data_type_to_string(cacheditem->type));
--
--glyr_message(-1, NULL, "\nSAFE: %s", (cacheditem->cached) ? "Yes" : "No");
--glyr_message(-1, NULL, "\nRATE: %d", cacheditem->rating);
--glyr_message(-1, NULL, "\nSTMP: %f", cacheditem->timestamp);
-+ /* Print md5sum */
-+ for (int i = 0; i < 16; i++)
-+ {
-+ fprintf (stderr,"%02x", cacheditem->md5sum[i]);
-+ }
-
--/* Print the actual data.
-- * This might have funny results if using cover/photos
-- */
--if(cacheditem->is_image == FALSE) {
--glyr_message(-1, NULL, "\nDATA: \n%s", cacheditem->data);
--} else {
--glyr_message(-1, NULL, "\nFRMT: %s", cacheditem->img_format);
--glyr_message(-1, NULL, "\nDATA: <not printable>");
--}
--glyr_message(-1, NULL, "\n");
--}
-+ // Each cache identified it's data by a constant
-+ glyr_message (-1,NULL,"\nTYPE: ");
-+ if (cacheditem->type == GLYR_TYPE_TRACK)
-+ {
-+ glyr_message (-1,NULL,"[%02d:%02d] ",cacheditem->duration/60, cacheditem->duration%60);
-+ }
-+ glyr_message (-1,NULL,"%s",glyr_data_type_to_string (cacheditem->type) );
-+
-+ glyr_message (-1,NULL,"\nSAFE: %s", (cacheditem->cached) ? "Yes" : "No");
-+ glyr_message (-1,NULL,"\nRATE: %d",cacheditem->rating);
-+ glyr_message (-1,NULL,"\nSTMP: %f",cacheditem->timestamp);
-+
-+ /* Print the actual data.
-+ * This might have funny results if using cover/photos
-+ */
-+ if (cacheditem->is_image == FALSE)
-+ {
-+ glyr_message (-1,NULL,"\nDATA: \n%s",cacheditem->data);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"\nFRMT: %s",cacheditem->img_format);
-+ glyr_message (-1,NULL,"\nDATA: <not printable>");
-+ }
-+ glyr_message (-1,NULL,"\n");
-+ }
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrFetcherInfo *glyr_info_get(void)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrFetcherInfo * glyr_info_get (void)
- {
--return get_plugin_info();
-+ return get_plugin_info();
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_info_free(GlyrFetcherInfo *info)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_info_free (GlyrFetcherInfo * info)
- {
--free_plugin_info(info);
-+ free_plugin_info (info);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--char *glyr_md5sum_to_string(unsigned char *md5sum)
-+__attribute__ ( (visibility ("default") ) )
-+char * glyr_md5sum_to_string (unsigned char * md5sum)
- {
--gchar *md5str = NULL;
--if(md5sum != NULL) {
--const gchar *hex = "0123456789abcdef";
--md5str = g_malloc0(33);
--for(int i = 0; i < 16; i++) {
--gint index = i * 2;
--md5str[index + 0] = hex[md5sum[i] / 16];
--md5str[index + 1] = hex[md5sum[i] % 16];
--}
--}
--return md5str;
-+ gchar * md5str = NULL;
-+ if (md5sum != NULL)
-+ {
-+ const gchar * hex = "0123456789abcdef";
-+ md5str = g_malloc0 (33);
-+ for (int i = 0; i < 16; i++)
-+ {
-+ gint index = i * 2;
-+ md5str[index + 0] = hex[md5sum[i] / 16];
-+ md5str[index + 1] = hex[md5sum[i] % 16];
-+ }
-+ }
-+ return md5str;
- }
-
- /////////////////////////////////
-
- #define CHAR_TO_NUM(c) (unsigned char)(g_ascii_isdigit(c) ? c - '0' : (c - 'a') + 10)
-
--__attribute__((visibility("default")))
--void glyr_string_to_md5sum(const char *string, unsigned char *md5sum)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_string_to_md5sum (const char * string, unsigned char * md5sum)
- {
--if(string != NULL && strlen(string) >= 32 && md5sum) {
--for(gint i = 0; i < 16; i++) {
--gint index = i * 2;
--md5sum[i] = (CHAR_TO_NUM(string[index]) << 4) + CHAR_TO_NUM(string[index + 1]);
--}
--}
-+ if (string != NULL && strlen (string) >= 32 && md5sum)
-+ {
-+ for (gint i = 0; i < 16; i++)
-+ {
-+ gint index = i * 2;
-+ md5sum[i] = (CHAR_TO_NUM (string[index]) << 4) + CHAR_TO_NUM (string[index+1]);
-+ }
-+ }
- }
- #undef CHAR_TO_NUM
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GLYR_FIELD_REQUIREMENT glyr_get_requirements(GLYR_GET_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+GLYR_FIELD_REQUIREMENT glyr_get_requirements (GLYR_GET_TYPE type)
- {
--GLYR_FIELD_REQUIREMENT result = 0;
--GlyrFetcherInfo *info = glyr_info_get();
--GlyrFetcherInfo *head = info;
--while(head != NULL) {
--if(type == head->type) {
--result = head->reqs;
--}
--head = head->next;
--}
--glyr_info_free(info);
--return result;
-+ GLYR_FIELD_REQUIREMENT result = 0;
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ GlyrFetcherInfo * head = info;
-+ while (head != NULL)
-+ {
-+ if (type == head->type)
-+ {
-+ result = head->reqs;
-+ }
-+ head = head->next;
-+ }
-+ glyr_info_free (info);
-+ return result;
- }
-
- /* ---------------------------------------------------------
-@@ -1278,54 +1312,52 @@ return result;
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_dsrc(GlyrMemCache *cache, const char *download_source)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_dsrc (GlyrMemCache * cache, const char * download_source)
- {
--SET_CACHE_STRING(cache, cache->dsrc, download_source);
-+ SET_CACHE_STRING (cache,cache->dsrc,download_source);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_prov(GlyrMemCache *cache, const char *provider)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_prov (GlyrMemCache * cache, const char * provider)
- {
--SET_CACHE_STRING(cache, cache->prov, provider);
-+ SET_CACHE_STRING (cache,cache->prov,provider);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_img_format(GlyrMemCache *cache, const char *img_format)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_img_format (GlyrMemCache * cache, const char * img_format)
- {
--SET_CACHE_STRING(cache, cache->img_format, img_format);
-+ SET_CACHE_STRING (cache,cache->img_format,img_format);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_type(GlyrMemCache *cache, GLYR_DATA_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_type (GlyrMemCache * cache, GLYR_DATA_TYPE type)
- {
--if(cache != NULL) {
--cache->type = MAX(type, GLYR_TYPE_UNKNOWN);
--}
-+ if (cache != NULL)
-+ cache->type = MAX (type,GLYR_TYPE_UNKNOWN);
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--void glyr_cache_set_rating(GlyrMemCache *cache, int rating)
-+__attribute__ ( (visibility ("default") ) )
-+void glyr_cache_set_rating (GlyrMemCache * cache, int rating)
- {
--if(cache != NULL) {
--cache->rating = rating;
--}
-+ if (cache != NULL)
-+ cache->rating = rating;
- }
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--bool glyr_type_is_image(GLYR_GET_TYPE type)
-+__attribute__ ( (visibility ("default") ) )
-+bool glyr_type_is_image (GLYR_GET_TYPE type)
- {
--return TYPE_IS_IMAGE(type);
-+ return TYPE_IS_IMAGE (type);
- }
-
- /////////////////////////////////
-diff --git a/lib/intern/ainfo.c b/lib/intern/ainfo.c
-index 921fe6b..fa63475 100644
---- a/lib/intern/ainfo.c
-+++ b/lib/intern/ainfo.c
-@@ -24,27 +24,30 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
- /* Fix up messy text, escape chars etc. */
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-
-- gchar *temp = beautify_string(item->data);
-- g_free(item->data);
-+ gchar * temp = beautify_string (item->data);
-+ g_free (item->data);
- item->data = temp;
-- item->size = (item->data) ? strlen(item->data) : 0;
-+ item->size = (item->data) ? strlen (item->data) : 0;
- }
- }
-
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_ARTIST_BIO, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_ARTIST_BIO,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_artistbio = {
-+MetaDataFetcher glyrFetcher_artistbio =
-+{
- .name = "artistbio",
- .type = GLYR_GET_ARTIST_BIO,
- .default_data_type = GLYR_TYPE_ARTIST_BIO,
-diff --git a/lib/intern/ainfo/bbcmusic.c b/lib/intern/ainfo/bbcmusic.c
-index 6ffa32e..8d8914f 100644
---- a/lib/intern/ainfo/bbcmusic.c
-+++ b/lib/intern/ainfo/bbcmusic.c
-@@ -29,42 +29,47 @@
- #define CONTENT_BEGIN "<content>"
- #define CONTENT_ENDIN "</content>"
-
--static GlyrMemCache *parse_bbc_xml(GlyrMemCache *input)
-+static GlyrMemCache * parse_bbc_xml (GlyrMemCache * input)
- {
-- GlyrMemCache *result = NULL;
-- char *content = get_search_value(input->data, CONTENT_BEGIN, CONTENT_ENDIN);
-- if(content != NULL) {
-+ GlyrMemCache * result = NULL;
-+ char * content = get_search_value (input->data, CONTENT_BEGIN, CONTENT_ENDIN);
-+ if (content != NULL)
-+ {
- result = DL_init();
- result->data = content;
-- result->dsrc = g_strdup(input->dsrc);
-- result->size = strlen(content);
-+ result->dsrc = g_strdup (input->dsrc);
-+ result->size = strlen (content);
- }
- return result;
- }
-
- /////////////////////////////////
-
--static const char *ainfo_bbcmusic_url(GlyrQuery *qry)
-+static const char * ainfo_bbcmusic_url (GlyrQuery * qry)
- {
- return "http://musicbrainz.org/ws/2/artist?query=artist:${artist}";
- }
-
- /////////////////////////////////
-
--static GList *ainfo_bbcmusic_parse(cb_object *capo)
-+static GList * ainfo_bbcmusic_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- char *mbid = mbid_parse_data(capo->cache, "artist", "name", capo->s->artist, capo->s);
-+ char * mbid = mbid_parse_data (capo->cache, "artist", "name", capo->s->artist, capo->s);
-
-- if(mbid != NULL) {
-- char *full_url = g_strdup_printf(API_ROOT, mbid);
-- if(full_url != NULL) {
-- GlyrMemCache *bbc_xml = download_single(full_url, capo->s, NULL);
-- if(bbc_xml != NULL) {
-- GlyrMemCache *item = parse_bbc_xml(bbc_xml);
-- if(item != NULL) {
-- result_list = g_list_prepend(result_list, item);
-+ if (mbid != NULL)
-+ {
-+ char * full_url = g_strdup_printf (API_ROOT, mbid);
-+ if (full_url != NULL)
-+ {
-+ GlyrMemCache * bbc_xml = download_single (full_url, capo->s, NULL);
-+ if (bbc_xml != NULL)
-+ {
-+ GlyrMemCache * item = parse_bbc_xml (bbc_xml);
-+ if (item != NULL)
-+ {
-+ result_list = g_list_prepend (result_list, item);
- }
- DL_free(bbc_xml);
- }
-@@ -78,7 +83,8 @@ static GList *ainfo_bbcmusic_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource ainfo_bbcmusic_src = {
-+MetaDataSource ainfo_bbcmusic_src =
-+{
- .name = "bbcmusic",
- .key = 'b',
- .free_url = false,
-diff --git a/lib/intern/ainfo/echonest.c b/lib/intern/ainfo/echonest.c
-index 48a8f64..b7c6c22 100644
---- a/lib/intern/ainfo/echonest.c
-+++ b/lib/intern/ainfo/echonest.c
-@@ -24,21 +24,21 @@
- /* JSON Parsing */
- #include "../../jsmn/jsmn.h"
-
--static const gchar *ainfo_echonest_url(GlyrQuery *s)
-+static const gchar * ainfo_echonest_url (GlyrQuery * s)
- {
- return "http://developer.echonest.com/api/v4/artist/biographies?api_key="API_KEY_ECHONEST"&results=${number}&format=json&name=${artist}";
- }
-
- /////////////////////////////////
-
--static char *echonest_strip_escapes(char *src, char *dest, int len)
-+static char * echonest_strip_escapes(char * src, char * dest, int len)
- {
- int offset = 0;
-
-- for(int i = 0; i < len; ++i) {
-- if(src[i] == '\\') {
-+ for (int i = 0; i < len; ++i) {
-+ if (src[i] == '\\') {
- ++i;
-- if(src[i] == 'n') {
-+ if (src[i] == 'n') {
- dest[offset++] = '\n';
- continue;
- }
-@@ -51,10 +51,10 @@ static char *echonest_strip_escapes(char *src, char *dest, int len)
-
- /////////////////////////////////
-
--static bool echonest_check_if_text_is_valid(char *text, int len)
-+static bool echonest_check_if_text_is_valid(char * text, int len)
- {
- bool rc = false;
-- if(len >= 125) {
-+ if (len >= 125) {
- return true;
- }
-
-@@ -63,13 +63,13 @@ static bool echonest_check_if_text_is_valid(char *text, int len)
-
- /////////////////////////////////
-
--static GList *ainfo_echonest_parse(cb_object *capo)
-+static GList * ainfo_echonest_parse (cb_object * capo)
- {
-- char *json = capo->cache->data;
-+ char * json = capo->cache->data;
- bool is_text = false;
- const int num_tokens = 512;
--
-- GList *results = NULL;
-+
-+ GList * results = NULL;
-
- /* jasmin stuff */
- jsmn_parser parser;
-@@ -85,30 +85,30 @@ static GList *ainfo_echonest_parse(cb_object *capo)
- /* Parse the json text */
- error = jsmn_parse(&parser, capo->cache->data, tokens, num_tokens);
-
-- if(error == JSMN_SUCCESS) {
-- for(int i = 0; i < num_tokens; ++i) {
-- jsmntok_t *tok = &tokens[i];
-+ if (error == JSMN_SUCCESS) {
-+ for (int i = 0; i < num_tokens; ++i) {
-+ jsmntok_t * tok = &tokens[i];
- size_t len = tok->end - tok->start;
-- char *text_off = json + tok->start;
--
-+ char * text_off = json + tok->start;
-+
- /* End of tokens? */
- if(tok->start == 0 && tok->end == 0) {
- break;
- }
-
- /* Check for the "text" field. */
-- if(tok->type == JSMN_STRING) {
-- if(len == 4 && g_ascii_strncasecmp(text_off, "text", len) == 0) {
-+ if (tok->type == JSMN_STRING) {
-+ if (len == 4 && g_ascii_strncasecmp(text_off, "text", len) == 0) {
- is_text = true;
- continue;
- }
- }
-
- /* Interesting part! */
-- if(is_text == true && tok->type == JSMN_STRING) {
-- if(echonest_check_if_text_is_valid(text_off, len)) {
-- GlyrMemCache *cache = DL_init();
-- if(cache != NULL) {
-+ if (is_text == true && tok->type == JSMN_STRING) {
-+ if (echonest_check_if_text_is_valid(text_off, len)) {
-+ GlyrMemCache * cache = DL_init();
-+ if (cache != NULL) {
- cache->data = g_strndup(text_off, len);
- cache->data = echonest_strip_escapes(cache->data, cache->data, len);
- cache->size = len;
-@@ -128,7 +128,8 @@ static GList *ainfo_echonest_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource ainfo_echonest_src = {
-+MetaDataSource ainfo_echonest_src =
-+{
- .name = "echonest",
- .key = 'e',
- .free_url = false,
-@@ -138,5 +139,5 @@ MetaDataSource ainfo_echonest_src = {
- .quality = 95,
- .speed = 85,
- .endmarker = NULL,
-- .lang_aware = false
-+ .lang_aware = false
- };
-diff --git a/lib/intern/ainfo/lastfm.c b/lib/intern/ainfo/lastfm.c
-index 17e464d..7cd90f1 100644
---- a/lib/intern/ainfo/lastfm.c
-+++ b/lib/intern/ainfo/lastfm.c
-@@ -26,59 +26,67 @@
- #define CDATA_BEGIN "<![CDATA["
-
- /* Locales that are just mapped to 'en' */
--const char *locale_map_to_en = "ca|uk|us";
-+const char * locale_map_to_en = "ca|uk|us";
-
--static const gchar *ainfo_lastfm_url(GlyrQuery *s)
-+static const gchar * ainfo_lastfm_url (GlyrQuery * s)
- {
-- gchar *url = NULL;
-- gchar *right_artist = strreplace(s->artist, " ", "+");
-- if(right_artist != NULL) {
-- gchar *lang = "en";
-+ gchar * url = NULL;
-+ gchar * right_artist = strreplace (s->artist," ","+");
-+ if (right_artist != NULL)
-+ {
-+ gchar * lang = "en";
-
- /* Check if this is an allowed language */
-- if(strstr(GLYR_DEFAULT_SUPPORTED_LANGS, s->lang) != NULL) {
-- lang = (gchar *) s->lang;
-+ if (strstr (GLYR_DEFAULT_SUPPORTED_LANGS,s->lang) != NULL)
-+ {
-+ lang = (gchar*) s->lang;
- }
-
- /* Do we need to map a language to 'en'? */
-- if(strstr(locale_map_to_en, s->lang) != NULL) {
-+ if (strstr (locale_map_to_en,s->lang) != NULL)
-+ {
- lang = "en";
- }
-
-- url = g_strdup_printf("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&autocorrect=1&artist=%s&lang=%s&api_key="API_KEY_LASTFM, right_artist, lang);
-- g_free(right_artist);
-+ url = g_strdup_printf ("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&autocorrect=1&artist=%s&lang=%s&api_key="API_KEY_LASTFM,right_artist,lang);
-+ g_free (right_artist);
- }
- return url;
- }
-
- /////////////////////////////////
-
--static GList *ainfo_lastfm_parse(cb_object *capo)
-+static GList * ainfo_lastfm_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *content_begin = strstr(capo->cache->data, CONTENT_BEGIN);
-+ GList * result_list = NULL;
-+ gchar * content_begin = strstr (capo->cache->data,CONTENT_BEGIN);
-
-- if(content_begin != NULL) {
-- gchar *content_endin = strstr(capo->cache->data, CONTENT_ENDIN);
-+ if (content_begin != NULL)
-+ {
-+ gchar * content_endin = strstr (capo->cache->data,CONTENT_ENDIN);
-
-- if(content_endin == NULL) {
-- content_endin = strstr(capo->cache->data, OTHER_ENDIN);
-+ if (content_endin == NULL)
-+ {
-+ content_endin = strstr (capo->cache->data,OTHER_ENDIN);
- }
-
-- if(content_endin != NULL) {
-+ if (content_endin != NULL)
-+ {
- content_begin += (sizeof CONTENT_BEGIN) - 1;
-
-- char *skip_cdata = strstr(content_begin, CDATA_BEGIN);
-- if(skip_cdata != NULL) {
-+ char * skip_cdata = strstr(content_begin, CDATA_BEGIN);
-+ if (skip_cdata != NULL)
-+ {
- content_begin = skip_cdata + (sizeof CDATA_BEGIN) - 1;
- }
-
-- gchar *content = copy_value(content_begin, content_endin);
-- if(content != NULL) {
-- GlyrMemCache *result = DL_init();
-+ gchar * content = copy_value (content_begin,content_endin);
-+ if (content != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = content;
-- result->size = strlen(result->data);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (result->data);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -87,7 +95,8 @@ static GList *ainfo_lastfm_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource ainfo_lastfm_src = {
-+MetaDataSource ainfo_lastfm_src =
-+{
- .name = "lastfm",
- .key = 'l',
- .free_url = true,
-diff --git a/lib/intern/ainfo/lyricsreg.c b/lib/intern/ainfo/lyricsreg.c
-index 05f245b..4ed6866 100644
---- a/lib/intern/ainfo/lyricsreg.c
-+++ b/lib/intern/ainfo/lyricsreg.c
-@@ -26,36 +26,41 @@
- #define INFO_ENDIN "</div>"
- /////////////////////////////////
-
--static const gchar *ainfo_lyricsreg_url(GlyrQuery *s)
-+static const gchar * ainfo_lyricsreg_url (GlyrQuery * s)
- {
- return "http://www.lyricsreg.com/biography/${artist}/";
- }
-
- /////////////////////////////////
-
--static GList *ainfo_lyricsreg_parse(cb_object *capo)
-+static GList * ainfo_lyricsreg_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *point_to_start = strstr(capo->cache->data, INFO_BEGIN);
-- if(point_to_start != NULL) {
-- gchar *opt_begin = strstr(point_to_start, OPTN_BEGIN);
-+ GList * result_list = NULL;
-+ gchar * point_to_start = strstr (capo->cache->data,INFO_BEGIN);
-+ if (point_to_start != NULL)
-+ {
-+ gchar * opt_begin = strstr (point_to_start,OPTN_BEGIN);
- gsize skip_len = (sizeof INFO_BEGIN) - 1;
-- if(opt_begin != NULL) {
-+ if (opt_begin != NULL)
-+ {
- point_to_start = opt_begin;
- skip_len = (sizeof OPTN_BEGIN) - 1;
- }
-
- point_to_start += skip_len;
-- gchar *end = strstr(point_to_start, INFO_ENDIN);
-- if(end != NULL) {
-+ gchar * end = strstr (point_to_start, INFO_ENDIN);
-+ if (end != NULL)
-+ {
- gsize info_len = end - point_to_start;
-- if(info_len > 200) {
-- gchar *info = copy_value(point_to_start, end);
-- if(info != NULL) {
-- GlyrMemCache *result = DL_init();
-+ if (info_len > 200)
-+ {
-+ gchar * info = copy_value (point_to_start, end);
-+ if (info != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = info;
- result->size = info_len;
-- result_list = g_list_prepend(result_list, result);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -65,7 +70,8 @@ static GList *ainfo_lyricsreg_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource ainfo_lyricsreg_src = {
-+MetaDataSource ainfo_lyricsreg_src =
-+{
- .name = "lyricsreg",
- .key = 'r',
- .free_url = false,
-diff --git a/lib/intern/albumlist.c b/lib/intern/albumlist.c
-index 14a8705..1df737a 100644
---- a/lib/intern/albumlist.c
-+++ b/lib/intern/albumlist.c
-@@ -24,15 +24,16 @@
-
- //-------------------------------------
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_ALBUMLIST, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_ALBUMLIST,result_list);
- }
-
- //-------------------------------------
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_albumlist = {
-+MetaDataFetcher glyrFetcher_albumlist =
-+{
- .name = "albumlist",
- .type = GLYR_GET_ALBUMLIST,
- .default_data_type = GLYR_TYPE_ALBUMLIST,
-diff --git a/lib/intern/albumlist/musicbrainz.c b/lib/intern/albumlist/musicbrainz.c
-index c8c2874..f60c13b 100644
---- a/lib/intern/albumlist/musicbrainz.c
-+++ b/lib/intern/albumlist/musicbrainz.c
-@@ -21,7 +21,7 @@
- #include "../../stringlib.h"
- #include "../../core.h"
-
--static const gchar *albumlist_musicbrainz_url(GlyrQuery *sets)
-+static const gchar * albumlist_musicbrainz_url (GlyrQuery * sets)
- {
- return "http://musicbrainz.org/ws/1/release/?type=xml&artist=${artist}&limit=100";
- }
-@@ -42,13 +42,16 @@ static const gchar *albumlist_musicbrainz_url(GlyrQuery *sets)
-
- /////////////////////////////////////////////////////////////
-
--static bool is_in_list(GList *list, const char *to_cmp)
-+static bool is_in_list (GList * list, const char * to_cmp)
- {
- bool rc = false;
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- if(g_ascii_strcasecmp(item->data, to_cmp) == 0) {
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ if (g_ascii_strcasecmp (item->data,to_cmp) == 0)
-+ {
- rc = true;
- break;
- }
-@@ -60,14 +63,13 @@ static bool is_in_list(GList *list, const char *to_cmp)
-
- /////////////////////////////////////////////////////////////
-
--static bool type_is_valid(const char *type)
-+static bool type_is_valid (const char * type)
- {
- bool result = FALSE;
-- if(type == NULL) {
-+ if (type == NULL)
- return result;
-- }
-
-- static const char *valid_types[] = {
-+ static const char * valid_types[] = {
- "Single Official",
- "Album Official",
- NULL
-@@ -75,7 +77,7 @@ static bool type_is_valid(const char *type)
-
- int check_idx = 0;
- while(valid_types[check_idx]) {
-- if(g_strcmp0(valid_types[check_idx], type) == 0) {
-+ if (g_strcmp0(valid_types[check_idx], type) == 0) {
- result = TRUE;
- break;
- }
-@@ -87,42 +89,48 @@ static bool type_is_valid(const char *type)
-
- /////////////////////////////////////////////////////////////
-
--static GList *albumlist_musicbrainz_parse(cb_object *capo)
-+static GList * albumlist_musicbrainz_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *node = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * node = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s) &&
-- (node = strstr(node + 1, ALBUM_BEGIN)) != NULL) {
-- gchar *type = get_search_value(node, TYPE_BEGIN, TYPE_ENDIN);
-- if(type_is_valid(type)) {
-- gchar *artist = get_search_value(node, ARTIST_BEGIN, ARTIST_ENDIN);
-- if(artist != NULL &&
-- levenshtein_strnormcmp(capo->s, capo->s->artist, artist) <= capo->s->fuzzyness) {
-+ while (continue_search (g_list_length (result_list),capo->s) &&
-+ (node = strstr (node + 1, ALBUM_BEGIN) ) != NULL)
-+ {
-+ gchar * type = get_search_value (node, TYPE_BEGIN, TYPE_ENDIN);
-+ if (type_is_valid (type))
-+ {
-+ gchar * artist = get_search_value (node,ARTIST_BEGIN, ARTIST_ENDIN);
-+ if (artist != NULL &&
-+ levenshtein_strnormcmp (capo->s, capo->s->artist, artist) <= capo->s->fuzzyness) {
-
-
-- gchar *name = get_search_value(node, TITLE_BEGIN, TITLE_ENDIN);
-+ gchar * name = get_search_value (node,TITLE_BEGIN,TITLE_ENDIN);
-
-- if(name != NULL && is_in_list(result_list, name) == false) {
-- GlyrMemCache *result = DL_init();
-+ if (name != NULL && is_in_list (result_list,name) == false)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = name;
-- result->size = (result->data) ? strlen(result->data) : 0;
-- result_list = g_list_prepend(result_list, result);
-- } else {
-- g_free(name);
-+ result->size = (result->data) ? strlen (result->data) : 0;
-+ result_list = g_list_prepend (result_list,result);
-+ }
-+ else
-+ {
-+ g_free (name);
- }
- }
-- g_free(artist);
-+ g_free (artist);
- }
-
-- g_free(type);
-+ g_free (type);
- }
- return result_list;
- }
-
- /////////////////////////////////////////////////////////////
-
--MetaDataSource albumlist_musicbrainz_src = {
-+MetaDataSource albumlist_musicbrainz_src =
-+{
- .name = "musicbrainz",
- .key = 'm',
- .free_url = false,
-diff --git a/lib/intern/backdrops.c b/lib/intern/backdrops.c
-index 4fbced8..3671644 100644
---- a/lib/intern/backdrops.c
-+++ b/lib/intern/backdrops.c
-@@ -23,15 +23,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_img_finalizer(s, list, stop_me, GLYR_TYPE_BACKDROPS, result_list);
-+ return generic_img_finalizer (s,list,stop_me,GLYR_TYPE_BACKDROPS,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_backdrops = {
-+MetaDataFetcher glyrFetcher_backdrops =
-+{
- .name = "backdrops",
- .type = GLYR_GET_BACKDROPS,
- .default_data_type = GLYR_TYPE_BACKDROPS,
-diff --git a/lib/intern/backdrops/htbackdrops.c b/lib/intern/backdrops/htbackdrops.c
-index 97fd2b4..cbb912c 100644
---- a/lib/intern/backdrops/htbackdrops.c
-+++ b/lib/intern/backdrops/htbackdrops.c
-@@ -26,31 +26,33 @@
- "/searchXML?keywords=${artist}&default_operator=and&" \
- "fields=title&inc=mb_name&limit=%d&dmax_w=%d&dmin_h=%d"
-
--static const gchar *backdrops_htbackdrops_url(GlyrQuery *q)
-+static const gchar * backdrops_htbackdrops_url (GlyrQuery * q)
- {
-- gchar *result = g_strdup_printf(HTBACKDROPS_URL, API_KEY_HTBACK, q->number * 20,
-- (q->img_max_size < 0) ? (gint) 1e10 : q->img_max_size,
-- (q->img_min_size < 0) ? 0 : q->img_min_size);
-+ gchar * result = g_strdup_printf (HTBACKDROPS_URL, API_KEY_HTBACK,q->number * 20,
-+ (q->img_max_size < 0) ? (gint) 1e10 : q->img_max_size,
-+ (q->img_min_size < 0) ? 0 : q->img_min_size);
-
- return result;
- }
-
- /////////////////////////////////
-
--static gboolean check_size(GlyrQuery *query, const gchar *size_string)
-+static gboolean check_size (GlyrQuery * query, const gchar * size_string)
- {
- gboolean result = FALSE;
-- if(size_string != NULL && query != NULL) {
-- /* "1024x1024" -> ["1024", 1024"] */
-- gchar **strv = g_strsplit(size_string, "x", 0);
-- if(strv && strv[0] && strv[1]) {
-- gint width = strtol(strv[0], NULL, 10);
-- gint height = strtol(strv[1], NULL, 10);
-+ if (size_string != NULL && query != NULL)
-+ {
-+ /* "1024x1024" -> ["1024","1024"] */
-+ gchar ** strv = g_strsplit (size_string,"x",0);
-+ if (strv && strv[0] && strv[1])
-+ {
-+ gint width = strtol (strv[0],NULL,10);
-+ gint height = strtol (strv[1],NULL,10);
- gint img_size = (width + height) / 2;
-
-- result = size_is_okay(img_size, query->img_min_size, query->img_max_size);
-+ result = size_is_okay (img_size, query->img_min_size, query->img_max_size);
- }
-- g_strfreev(strv);
-+ g_strfreev (strv);
- }
- return result;
- }
-@@ -59,31 +61,36 @@ static gboolean check_size(GlyrQuery *query, const gchar *size_string)
-
- #define NODE "<image>"
-
--static GList *backdrops_htbackdrops_parse(cb_object *capo)
-+static GList * backdrops_htbackdrops_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *img_list_start = strstr(capo->cache->data, "<images>");
-- if(img_list_start != NULL) {
-- gchar *node = img_list_start;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node, NODE))) {
-+ GList * result_list = NULL;
-+ gchar * img_list_start = strstr (capo->cache->data,"<images>");
-+ if (img_list_start != NULL)
-+ {
-+ gchar * node = img_list_start;
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node,NODE) ) )
-+ {
- node += sizeof NODE;
-
-- gchar *dimensions = get_search_value(node, "<dimensions>", "</dimensions>");
-- if(check_size(capo->s, dimensions) == TRUE) {
-- gchar *validate_artist = get_search_value(node, "<mb_name>", "</mb_name>");
-- if(levenshtein_strnormcmp(capo->s, validate_artist, capo->s->artist) <= capo->s->fuzzyness) {
-- gchar *id = get_search_value(node, "<id>", "</id>");
-- if(id != NULL) {
-- GlyrMemCache *result = DL_init();
-- result->data = g_strdup_printf("http://htbackdrops.org/api/"API_KEY_HTBACK"/download/%s/fullsize", id);
-- result->size = strlen(result->data);
-- result_list = g_list_prepend(result_list, result);
-- g_free(id);
-+ gchar * dimensions = get_search_value (node,"<dimensions>","</dimensions>");
-+ if (check_size (capo->s,dimensions) == TRUE)
-+ {
-+ gchar * validate_artist = get_search_value (node,"<mb_name>","</mb_name>");
-+ if (levenshtein_strnormcmp (capo->s,validate_artist,capo->s->artist) <= capo->s->fuzzyness)
-+ {
-+ gchar * id = get_search_value (node,"<id>","</id>");
-+ if (id != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
-+ result->data = g_strdup_printf ("http://htbackdrops.org/api/"API_KEY_HTBACK"/download/%s/fullsize",id);
-+ result->size = strlen (result->data);
-+ result_list = g_list_prepend (result_list,result);
-+ g_free (id);
- }
- }
-- g_free(validate_artist);
-+ g_free (validate_artist);
- }
-- g_free(dimensions);
-+ g_free (dimensions);
- }
- }
- return result_list;
-@@ -91,7 +98,8 @@ static GList *backdrops_htbackdrops_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource backdrops_htbackdrops_src = {
-+MetaDataSource backdrops_htbackdrops_src =
-+{
- .name = "htbackdrops",
- .key = 'h',
- .parser = backdrops_htbackdrops_parse,
-diff --git a/lib/intern/cache/db_provider.c b/lib/intern/cache/db_provider.c
-index 1bc12f8..c5593ac 100644
---- a/lib/intern/cache/db_provider.c
-+++ b/lib/intern/cache/db_provider.c
-@@ -22,22 +22,27 @@
-
- /////////////////////////////////
-
--static GList *local_provider_parse(cb_object *capo)
-+static GList * local_provider_parse (cb_object * capo)
- {
-- GList *converter_list = NULL;
-- if(capo->s && capo->s->local_db != NULL) {
-+ GList * converter_list = NULL;
-+ if (capo->s && capo->s->local_db != NULL)
-+ {
- gint counter = 0;
-- GlyrMemCache *head = glyr_db_lookup(capo->s->local_db, capo->s);
-- while(head != NULL) {
-- if(counter < capo->s->number) {
-- converter_list = g_list_prepend(converter_list, head);
-+ GlyrMemCache * head = glyr_db_lookup (capo->s->local_db,capo->s);
-+ while (head != NULL)
-+ {
-+ if (counter < capo->s->number)
-+ {
-+ converter_list = g_list_prepend (converter_list,head);
- head->cached = TRUE;
- head = head->next;
- counter++;
-- } else {
-- GlyrMemCache *to_delete = head;
-+ }
-+ else
-+ {
-+ GlyrMemCache * to_delete = head;
- head = head->next;
-- DL_free(to_delete);
-+ DL_free (to_delete);
- }
- }
- }
-@@ -46,14 +51,15 @@ static GList *local_provider_parse(cb_object *capo)
-
- /////////////////////////////////
-
--static const gchar *local_provider_url(GlyrQuery *sets)
-+static const gchar * local_provider_url (GlyrQuery * sets)
- {
- return OFFLINE_PROVIDER;
- }
-
- /////////////////////////////////
-
--MetaDataSource local_provider_src = {
-+MetaDataSource local_provider_src =
-+{
- .name = "local",
- .key = 'l',
- .parser = local_provider_parse,
-diff --git a/lib/intern/common/amazon.c b/lib/intern/common/amazon.c
-index b7f9869..fcba773 100644
---- a/lib/intern/common/amazon.c
-+++ b/lib/intern/common/amazon.c
-@@ -27,28 +27,29 @@
-
- #define ACCESS_KEY API_KEY_AMAZON
- #define rg_markup "__RESPONSE_GROUP__"
--const gchar *generic_amazon_url(GlyrQuery *sets, const gchar *response_group)
-+const gchar * generic_amazon_url (GlyrQuery * sets, const gchar * response_group)
- {
-- const char *lang_link = NULL;
-- if(sets->img_min_size <= 500 || sets->img_min_size) {
-- if(!strcmp(sets->lang, "us")) {
-+ const char * lang_link = NULL;
-+ if (sets->img_min_size <= 500 || sets->img_min_size)
-+ {
-+ if (!strcmp (sets->lang,"us") )
- lang_link = "http://free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else if(!strcmp(sets->lang, "ca")) {
-+ else if (!strcmp (sets->lang,"ca") )
- lang_link = "http://ca.free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else if(!strcmp(sets->lang, "uk")) {
-+ else if (!strcmp (sets->lang,"uk") )
- lang_link = "http://co.uk.free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else if(!strcmp(sets->lang, "fr")) {
-+ else if (!strcmp (sets->lang,"fr") )
- lang_link = "http://fr.free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else if(!strcmp(sets->lang, "de")) {
-+ else if (!strcmp (sets->lang,"de") )
- lang_link = "http://de.free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else if(!strcmp(sets->lang, "jp")) {
-+ else if (!strcmp (sets->lang,"jp") )
- lang_link = "http://co.jp.free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- } else {
-+ else
- lang_link = "http://free.apisigning.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="ACCESS_KEY"&Operation=ItemSearch&SearchIndex=Music&ResponseGroup="rg_markup"&Keywords=${artist}+${album}\0";
-- }
- }
-- if(lang_link != NULL) {
-- return strreplace(lang_link, rg_markup, response_group);
-+ if (lang_link != NULL)
-+ {
-+ return strreplace (lang_link,rg_markup,response_group);
- }
- return NULL;
- }
-diff --git a/lib/intern/common/google.c b/lib/intern/common/google.c
-index 38e6fd9..f99f08a 100644
---- a/lib/intern/common/google.c
-+++ b/lib/intern/common/google.c
-@@ -25,43 +25,55 @@
- /////////////////////////////////
-
- /* Methods used by more than one provider go here */
--const gchar *generic_google_url(GlyrQuery *sets, const gchar *searchterm)
-+const gchar * generic_google_url (GlyrQuery * sets, const gchar * searchterm)
- {
-- const gchar *lang = NULL;
-- if(!g_ascii_strncasecmp(sets->lang, "us", 2)) {
-+ const gchar * lang = NULL;
-+ if (!g_ascii_strncasecmp (sets->lang,"us",2) )
- lang = "com" ;
-- } else if(!g_ascii_strncasecmp(sets->lang, "ca", 2)) {
-+ else if (!g_ascii_strncasecmp (sets->lang,"ca",2) )
- lang = "ca" ;
-- } else if(!g_ascii_strncasecmp(sets->lang, "uk", 2)) {
-+ else if (!g_ascii_strncasecmp (sets->lang,"uk",2) )
- lang = "co.uk";
-- } else if(!g_ascii_strncasecmp(sets->lang, "fr", 2)) {
-+ else if (!g_ascii_strncasecmp (sets->lang,"fr",2) )
- lang = "fr" ;
-- } else if(!g_ascii_strncasecmp(sets->lang, "de", 2)) {
-+ else if (!g_ascii_strncasecmp (sets->lang,"de",2) )
- lang = "de" ;
-- } else if(!g_ascii_strncasecmp(sets->lang, "jp", 2)) {
-+ else if (!g_ascii_strncasecmp (sets->lang,"jp",2) )
- lang = "co.jp";
-- } else {
-+ else
- lang = "com";
-- }
-
-- const gchar *back = NULL;
-- if(sets->img_min_size == -1) {
-+ const gchar * back = NULL;
-+ if (sets->img_min_size == -1)
-+ {
- back = "";
-- } else if(sets->img_min_size < 75) {
-+ }
-+ else if (sets->img_min_size < 75)
-+ {
- back = "&tbs=isz:i";
-- } else if(sets->img_min_size < 300) {
-+ }
-+ else if (sets->img_min_size < 300)
-+ {
- back = "&tbs=isz:m";
-- } else if(sets->img_min_size < 450) {
-- back = "&tbs=isz:lt, slt:qsvga";
-- } else if(sets->img_min_size < 550) {
-- back = "&tbs=isz:lt, slt:vg/a";
-- } else if(sets->img_min_size < 700) {
-- back = "&tbs=isz:lt, slt:svga";
-- } else { /* High enough. */
-- back = "&tbs=isz:lt, slt:xga";
-+ }
-+ else if (sets->img_min_size < 450)
-+ {
-+ back = "&tbs=isz:lt,islt:qsvga";
-+ }
-+ else if (sets->img_min_size < 550)
-+ {
-+ back = "&tbs=isz:lt,islt:vg/a";
-+ }
-+ else if (sets->img_min_size < 700)
-+ {
-+ back = "&tbs=isz:lt,islt:svga";
-+ }
-+ else /* High enough. */
-+ {
-+ back = "&tbs=isz:lt,islt:xga";
- }
-
-- return g_strdup_printf("http://www.google.%s/images?q=%s&safe=off%s%s", lang, searchterm, (back != NULL) ? "" : "&", back);
-+ return g_strdup_printf ("http://www.google.%s/images?q=%s&safe=off%s%s",lang,searchterm, (back!=NULL) ? "" : "&", back);
- }
-
- /////////////////////////////////
-@@ -71,18 +83,20 @@ const gchar *generic_google_url(GlyrQuery *sets, const gchar *searchterm)
- #define HEIGHT_START "&h="
- #define MAX_NUM_BUF 16
-
--static gint google_get_size_value(gchar *ref, gchar *name)
-+static gint google_get_size_value (gchar * ref, gchar * name)
- {
- gint number = 0;
-- gchar *start = g_strstr_len(ref, 256, name);
-- if(start != NULL) {
-- start += strlen(name);
-- gchar *end = strchr(start, ' ');
-- if(end != NULL) {
-+ gchar * start = g_strstr_len (ref,256,name);
-+ if (start != NULL)
-+ {
-+ start += strlen (name);
-+ gchar * end = strchr (start,' ');
-+ if (end != NULL)
-+ {
- gchar numbuf[MAX_NUM_BUF] = {};
-- gsize span = MIN(end - start, MAX_NUM_BUF - 1);
-- strncpy(numbuf, start, span);
-- number = strtol(numbuf, NULL, 10);
-+ gsize span = MIN (end - start,MAX_NUM_BUF-1);
-+ strncpy (numbuf,start,span);
-+ number = strtol (numbuf,NULL,10);
- }
- }
- return number;
-@@ -90,16 +104,17 @@ static gint google_get_size_value(gchar *ref, gchar *name)
-
- /////////////////////////////////
-
--static gboolean google_check_image_size(GlyrQuery *s, gchar *ref)
-+static gboolean google_check_image_size (GlyrQuery * s, gchar * ref)
- {
- gboolean result = FALSE;
-- gchar *img_src_after = strstr(ref, IMG_SRC_START);
-- if(img_src_after != NULL) {
-- gint width = google_get_size_value(img_src_after, WIDTH_START);
-- gint height = google_get_size_value(img_src_after, HEIGHT_START);
-- gint ratio = (width + height) / 2;
-+ gchar * img_src_after = strstr (ref,IMG_SRC_START);
-+ if (img_src_after != NULL)
-+ {
-+ gint width = google_get_size_value (img_src_after,WIDTH_START);
-+ gint height = google_get_size_value (img_src_after,HEIGHT_START);
-+ gint ratio = (width+height) /2;
-
-- result = size_is_okay(ratio, s->img_min_size, s->img_max_size);
-+ result = size_is_okay (ratio,s->img_min_size,s->img_max_size);
- }
- return result;
- }
-@@ -108,22 +123,26 @@ static gboolean google_check_image_size(GlyrQuery *s, gchar *ref)
-
- #define FIRST_RESULT "<a href=\"/imgres?imgurl="
- #define END_OF_URL "&imgrefurl="
--GList *generic_google_parse(cb_object *capo)
-+GList * generic_google_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *find = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * find = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (find = strstr(find + 1, FIRST_RESULT)) != NULL) {
-- gchar *end_of_url = NULL;
-- find += strlen(FIRST_RESULT);
-- if((end_of_url = strstr(find, END_OF_URL)) != NULL) {
-- if(google_check_image_size(capo->s, find) == TRUE) {
-- gchar *url = copy_value(find, end_of_url);
-- if(url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ while (continue_search (g_list_length (result_list),capo->s) && (find = strstr (find+1,FIRST_RESULT) ) != NULL)
-+ {
-+ gchar * end_of_url = NULL;
-+ find += strlen (FIRST_RESULT);
-+ if ( (end_of_url = strstr (find, END_OF_URL) ) != NULL)
-+ {
-+ if (google_check_image_size (capo->s,find) == TRUE)
-+ {
-+ gchar * url = copy_value (find,end_of_url);
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = url;
- result->size = end_of_url - find;
-- result_list = g_list_prepend(result_list, result);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-diff --git a/lib/intern/common/mbid_lookup.c b/lib/intern/common/mbid_lookup.c
-index 0502f5b..644d2fe 100644
---- a/lib/intern/common/mbid_lookup.c
-+++ b/lib/intern/common/mbid_lookup.c
-@@ -23,29 +23,31 @@
-
- //////////////////////////////////
-
--char *mbid_parse_data(GlyrMemCache *data, const char *lookup_entity, const char *find_entity, const char *compre_entity, GlyrQuery *qry)
-+char * mbid_parse_data (GlyrMemCache * data, const char * lookup_entity, const char * find_entity, const char * compre_entity, GlyrQuery * qry)
- {
-- char *key = g_strdup_printf("<%s ", lookup_entity);
-- size_t keylen = strlen(key);
-- char *node = data->data;
-- char *result = NULL;
--
-- char *find_ent_start = g_strdup_printf("<%s>", find_entity);
-- char *find_ent_end = g_strdup_printf("</%s>", find_entity);
--
-- while((node = strstr(node + keylen, key))) {
-- char *name = get_search_value(node, find_ent_start, find_ent_end);
-- if(name && levenshtein_strnormcmp(qry, name, compre_entity) <= qry->fuzzyness) {
-- result = get_search_value(node, "id=\"", "\"");
-- g_free(name);
-+ char * key = g_strdup_printf ("<%s ", lookup_entity);
-+ size_t keylen = strlen (key);
-+ char * node = data->data;
-+ char * result = NULL;
-+
-+ char * find_ent_start = g_strdup_printf ("<%s>", find_entity);
-+ char * find_ent_end = g_strdup_printf ("</%s>", find_entity);
-+
-+ while ( (node = strstr (node + keylen, key) ) )
-+ {
-+ char * name = get_search_value (node, find_ent_start, find_ent_end);
-+ if (name && levenshtein_strnormcmp (qry, name, compre_entity) <= qry->fuzzyness)
-+ {
-+ result = get_search_value (node, "id=\"", "\"");
-+ g_free (name);
- break;
- }
-- g_free(name);
-+ g_free (name);
- }
-
-- g_free(find_ent_start);
-- g_free(find_ent_end);
-- g_free(key);
-+ g_free (find_ent_start);
-+ g_free (find_ent_end);
-+ g_free (key);
- return result;
- }
-
-@@ -56,18 +58,18 @@ char *mbid_parse_data(GlyrMemCache *data, const char *lookup_entity, const char
-
- //////////////////////////////////
-
--char *mbid_lookup(const char *query, GLYR_DATA_TYPE type, GlyrQuery *qry)
-+char * mbid_lookup (const char * query, GLYR_DATA_TYPE type, GlyrQuery * qry)
- {
-- char *result_mbid = NULL;
-- if(query == NULL) {
-+ char * result_mbid = NULL;
-+ if (query == NULL)
- return result_mbid;
-- }
-
-- const char *lookup_entity = "";
-- const char *compre_entity = qry->artist;
-- const char *find_entity = "name";
-+ const char * lookup_entity = "";
-+ const char * compre_entity = qry->artist;
-+ const char * find_entity = "name";
-
-- switch(type) {
-+ switch (type)
-+ {
- case GLYR_TYPE_TAG_ARTIST:
- lookup_entity = "artist";
- compre_entity = qry->artist;
-@@ -88,14 +90,15 @@ char *mbid_lookup(const char *query, GLYR_DATA_TYPE type, GlyrQuery *qry)
- break;
- }
-
-- char *lookup_url = g_strdup_printf(LOOKUP_QUERY, lookup_entity, lookup_entity, query);
-- GlyrMemCache *parseable_data = download_single(lookup_url, qry, NULL);
-- if(parseable_data != NULL) {
-- result_mbid = mbid_parse_data(parseable_data, lookup_entity, find_entity, compre_entity, qry);
-- DL_free(parseable_data);
-+ char * lookup_url = g_strdup_printf (LOOKUP_QUERY, lookup_entity, lookup_entity, query);
-+ GlyrMemCache * parseable_data = download_single (lookup_url, qry, NULL);
-+ if (parseable_data != NULL)
-+ {
-+ result_mbid = mbid_parse_data (parseable_data, lookup_entity, find_entity, compre_entity, qry);
-+ DL_free (parseable_data);
- }
-
-- g_free(lookup_url);
-+ g_free (lookup_url);
- return result_mbid;
- }
-
-diff --git a/lib/intern/common/musicbrainz.c b/lib/intern/common/musicbrainz.c
-index a219ab7..439329c 100644
---- a/lib/intern/common/musicbrainz.c
-+++ b/lib/intern/common/musicbrainz.c
-@@ -25,43 +25,43 @@
- /////////////////////////////////
-
- /* 'please' is important. gcc won't compile without. */
--gint please_what_type(GlyrQuery *s)
-+gint please_what_type (GlyrQuery * s)
- {
- int result = -1;
-- if(s->artist && !s->album && !s->title) {
-+ if (s->artist && !s->album && !s->title)
- result = GLYR_TYPE_TAG_ARTIST;
-- } else if(!s->artist && !s->album && s->title) {
-+ else if (!s->artist && !s->album && s->title)
- result = GLYR_TYPE_TAG_TITLE;
-- } else if(!s->artist && s->album && !s->title) {
-+ else if (!s->artist && s->album && !s->title)
- result = GLYR_TYPE_TAG_ALBUM;
-- } else if(s->artist && s->album && s->title) {
-+ else if (s->artist && s->album && s->title)
- result = GLYR_TYPE_TAG_TITLE;
-- } else if(s->artist && !s->album && s->title) {
-+ else if (s->artist && !s->album && s->title)
- result = GLYR_TYPE_TAG_TITLE;
-- } else if(s->artist && s->album && !s->title) {
-+ else if (s->artist && s->album && !s->title)
- result = GLYR_TYPE_TAG_ALBUM;
-- } else {
-+ else
- result = -1;
-- }
-
- return result;
- }
-
- /////////////////////////////////
-
--const gchar *generic_musicbrainz_url(GlyrQuery *sets)
-+const gchar * generic_musicbrainz_url (GlyrQuery * sets)
- {
-- const gchar *wrap_a = sets->artist ? "${artist}" : "";
-- const gchar *wrap_b = sets->album ? "${album}" : "";
-- const gchar *wrap_t = sets->title ? "${title}" : "";
-+ const gchar * wrap_a = sets->artist ? "${artist}" : "";
-+ const gchar * wrap_b = sets->album ? "${album}" : "";
-+ const gchar * wrap_t = sets->title ? "${title}" : "";
-
-- switch(please_what_type(sets)) {
-+ switch (please_what_type (sets) )
-+ {
- case GLYR_TYPE_TAG_TITLE :
-- return g_strdup_printf("http://musicbrainz.org/ws/1/track/?type=xml&title=%s&artist=%s&release=%s", wrap_t, wrap_a, wrap_b);
-+ return g_strdup_printf ("http://musicbrainz.org/ws/1/track/?type=xml&title=%s&artist=%s&release=%s",wrap_t,wrap_a,wrap_b);
- case GLYR_TYPE_TAG_ALBUM :
-- return g_strdup_printf("http://musicbrainz.org/ws/1/release/?type=xml&title=%s&artist=%s", wrap_b, wrap_a);
-+ return g_strdup_printf ("http://musicbrainz.org/ws/1/release/?type=xml&title=%s&artist=%s",wrap_b,wrap_a);
- case GLYR_TYPE_TAG_ARTIST:
-- return g_strdup_printf("http://musicbrainz.org/ws/1/artist/?type=xml&name=%s", wrap_a);
-+ return g_strdup_printf ("http://musicbrainz.org/ws/1/artist/?type=xml&name=%s",wrap_a);
- default:
- return NULL;
- }
-@@ -70,17 +70,17 @@ const gchar *generic_musicbrainz_url(GlyrQuery *sets)
- /////////////////////////////////
-
- #define ID_BEGIN "id=\""
--const gchar *get_mbid_from_xml(GlyrQuery *s, GlyrMemCache *c, gint *offset)
-+const gchar * get_mbid_from_xml (GlyrQuery * s, GlyrMemCache * c, gint * offset)
- {
-- if(c == NULL || s == NULL || offset == NULL) {
-+ if (c==NULL || s==NULL || offset==NULL)
- return NULL;
-- }
-
-- const gchar *searchterm = NULL;
-- const gchar *checkstring = NULL;
-- const gchar *comparestr = NULL;
-+ const gchar * searchterm = NULL;
-+ const gchar * checkstring = NULL;
-+ const gchar * comparestr = NULL;
-
-- switch(please_what_type(s)) {
-+ switch (please_what_type (s) )
-+ {
- case GLYR_TYPE_TAG_TITLE:
- checkstring = "<title>";
- searchterm = "<track ";
-@@ -97,32 +97,34 @@ const gchar *get_mbid_from_xml(GlyrQuery *s, GlyrMemCache *c, gint *offset)
- comparestr = s->artist;
- break;
- default:
-- glyr_message(1, s, "Warning: (tags/musicbrainz.c) Unable to determine type.\n");
-+ glyr_message (1,s,"Warning: (tags/musicbrainz.c) Unable to determine type.\n");
- }
-
-- const gchar *mbid = NULL;
-- if(searchterm != NULL) {
-- gchar *node = c->data + *offset;
-- gchar *search_check = NULL;
-+ const gchar * mbid = NULL;
-+ if (searchterm != NULL)
-+ {
-+ gchar * node = c->data + *offset;
-+ gchar * search_check = NULL;
- gsize nlen = (sizeof ID_BEGIN) - 1;
-- gsize clen = strlen(checkstring);
-+ gsize clen = strlen (checkstring);
-
-- while(node && (node = strstr(node, searchterm)) && mbid == NULL) {
-- if(!(node = strstr(node, ID_BEGIN))) {
-+ while (node && (node = strstr (node,searchterm) ) && mbid == NULL)
-+ {
-+ if (! (node = strstr (node,ID_BEGIN) ) )
- break;
-- }
-
-- if(!(search_check = strstr(node, checkstring))) {
-+ if (! (search_check = strstr (node,checkstring) ) )
- break;
-- }
-
- search_check += clen;
-- gchar *to_compare = copy_value(search_check, strstr(search_check, "</"));
-- if(to_compare != NULL) {
-- if(levenshtein_strnormcmp(s, to_compare, comparestr) <= s->fuzzyness) {
-- mbid = (gchar *) copy_value(node + nlen, strchr(node + nlen, '"'));
-+ gchar * to_compare = copy_value (search_check,strstr (search_check,"</") );
-+ if (to_compare != NULL)
-+ {
-+ if (levenshtein_strnormcmp (s,to_compare,comparestr) <= s->fuzzyness)
-+ {
-+ mbid = (gchar*) copy_value (node+nlen,strchr (node+nlen,'"') );
- }
-- g_free(to_compare);
-+ g_free (to_compare);
- }
- node += (sizeof ID_BEGIN) - 1;
- }
-@@ -134,16 +136,19 @@ const gchar *get_mbid_from_xml(GlyrQuery *s, GlyrMemCache *c, gint *offset)
- /////////////////////////////////
-
- /* Returns only a parseable memcache */
--GlyrMemCache *generic_musicbrainz_parse(cb_object *capo, gint *last_mbid, const gchar *include)
-+GlyrMemCache * generic_musicbrainz_parse (cb_object * capo, gint * last_mbid, const gchar * include)
- {
- gsize offset = 0;
-- const gchar *mbid = NULL;
-- GlyrMemCache *info = NULL;
--
-- while(offset < capo->cache->size && info == NULL && (mbid = get_mbid_from_xml(capo->s, capo->cache, last_mbid))) {
-- if(mbid != NULL) {
-- const gchar *type = NULL;
-- switch(please_what_type(capo->s)) {
-+ const gchar * mbid = NULL;
-+ GlyrMemCache * info = NULL;
-+
-+ while (offset < capo->cache->size && info==NULL && (mbid = get_mbid_from_xml (capo->s,capo->cache,last_mbid) ) )
-+ {
-+ if (mbid != NULL)
-+ {
-+ const gchar * type = NULL;
-+ switch (please_what_type (capo->s) )
-+ {
- case GLYR_TYPE_TAG_TITLE:
- type = "track";
- break;
-@@ -155,12 +160,13 @@ GlyrMemCache *generic_musicbrainz_parse(cb_object *capo, gint *last_mbid, const
- break;
- }
-
-- gchar *info_page_url = g_strdup_printf("http://musicbrainz.org/ws/1/%s/%s?type=xml&inc=%s", type, mbid, include);
-- if(info_page_url) {
-- info = download_single(info_page_url, capo->s, NULL);
-- g_free(info_page_url);
-+ gchar * info_page_url = g_strdup_printf ("http://musicbrainz.org/ws/1/%s/%s?type=xml&inc=%s",type,mbid,include);
-+ if (info_page_url)
-+ {
-+ info = download_single (info_page_url,capo->s,NULL);
-+ g_free (info_page_url);
- }
-- g_free((gchar *) mbid);
-+ g_free ( (gchar*) mbid);
- }
- }
- return info;
-diff --git a/lib/intern/common/picsearch.c b/lib/intern/common/picsearch.c
-index 6947419..4e9713a 100644
---- a/lib/intern/common/picsearch.c
-+++ b/lib/intern/common/picsearch.c
-@@ -21,22 +21,24 @@
- #include "../../stringlib.h"
- #include "picsearch.h"
-
--const gchar *generic_picsearch_url(GlyrQuery *s, const char *fmt)
-+const gchar * generic_picsearch_url (GlyrQuery * s, const char * fmt)
- {
- /* picsearch offers a nice way to set img_min / img_max */
-- gchar *base_url = "http://www.picsearch.com/index.cgi?q=%s&face=both&orientation=square&size=%dt%d";
-+ gchar * base_url = "http://www.picsearch.com/index.cgi?q=%s&face=both&orientation=square&size=%dt%d";
-
- gint img_min_size = s->img_min_size;
-- if(img_min_size == -1) {
-+ if (img_min_size == -1)
-+ {
- img_min_size = 0;
- }
-
- gint img_max_size = s->img_max_size;
-- if(img_max_size == -1) {
-+ if (img_max_size == -1)
-+ {
- img_max_size = INT_MAX;
- }
-
-- return g_strdup_printf(base_url, fmt, img_min_size, img_max_size);
-+ return g_strdup_printf (base_url, fmt, img_min_size, img_max_size);
- }
-
- /////////////////////////////////
-@@ -45,18 +47,21 @@ const gchar *generic_picsearch_url(GlyrQuery *s, const char *fmt)
- #define IMG_HOOK_BEGIN "<a rel=\"nofollow\" href=\""
- #define IMG_HOOK_ENDIN "\"><img src=\""
-
--static GlyrMemCache *parse_details_page(GlyrMemCache *to_parse)
-+static GlyrMemCache * parse_details_page (GlyrMemCache * to_parse)
- {
-- GlyrMemCache *result = NULL;
-- if(to_parse != NULL) {
-- char *start = strstr(to_parse->data, IMG_HOOK);
-- if(start != NULL) {
-- char *img_url = get_search_value(start, IMG_HOOK_BEGIN, IMG_HOOK_ENDIN);
-- if(img_url != NULL) {
-+ GlyrMemCache * result = NULL;
-+ if (to_parse != NULL)
-+ {
-+ char * start = strstr (to_parse->data,IMG_HOOK);
-+ if (start != NULL)
-+ {
-+ char * img_url = get_search_value (start,IMG_HOOK_BEGIN,IMG_HOOK_ENDIN);
-+ if (img_url != NULL)
-+ {
- result = DL_init();
- result->data = img_url;
-- result->size = strlen(img_url);
-- result->dsrc = g_strdup(to_parse->dsrc);
-+ result->size = strlen (img_url);
-+ result->dsrc = g_strdup (to_parse->dsrc);
- }
- }
- }
-@@ -68,38 +73,43 @@ static GlyrMemCache *parse_details_page(GlyrMemCache *to_parse)
- #define NODE "<div class=\"imgContainer\">"
- #define NODE_NEEDS_TO_BEGIN "/imageDetail.cgi"
-
--GList *generic_picsearch_parse(cb_object *capo)
-+GList * generic_picsearch_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- gchar *node = capo->cache->data;
-+ gchar * node = capo->cache->data;
- gint nodelen = (sizeof NODE) - 1;
-
-- node = strstr(node, "<div id=\"results_table\">");
-+ node = strstr (node,"<div id=\"results_table\">");
-
- int items = 0, tries = 0;
- const int MAX_TRIES = capo->s->number * 4;
-
-- while(continue_search(items, capo->s) &&
-- (node = strstr(node, "<a href=\"")) &&
-- tries++ < MAX_TRIES) {
-+ while (continue_search (items,capo->s) &&
-+ (node = strstr (node, "<a href=\"") ) &&
-+ tries++ < MAX_TRIES)
-+ {
- node += nodelen;
-- gchar *details_url = get_search_value(node, "<a href=\"", "\" ");
-- if(details_url != NULL && strncmp(details_url, NODE_NEEDS_TO_BEGIN, sizeof(NODE_NEEDS_TO_BEGIN) - 1) == 0) {
-- gchar *full_url = g_strdup_printf("www.picsearch.com%s", details_url);
-- if(full_url != NULL) {
-- GlyrMemCache *to_parse = download_single(full_url, capo->s, NULL);
-- if(to_parse != NULL) {
-- GlyrMemCache *result = parse_details_page(to_parse);
-- if(result != NULL) {
-- result_list = g_list_prepend(result_list, result);
-+ gchar * details_url = get_search_value (node,"<a href=\"","\" ");
-+ if (details_url != NULL && strncmp (details_url,NODE_NEEDS_TO_BEGIN,sizeof (NODE_NEEDS_TO_BEGIN)-1) == 0)
-+ {
-+ gchar * full_url = g_strdup_printf ("www.picsearch.com%s",details_url);
-+ if (full_url != NULL)
-+ {
-+ GlyrMemCache * to_parse = download_single (full_url,capo->s,NULL);
-+ if (to_parse != NULL)
-+ {
-+ GlyrMemCache * result = parse_details_page (to_parse);
-+ if (result != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result);
- items++;
- }
-- DL_free(to_parse);
-+ DL_free (to_parse);
- }
-- g_free(full_url);
-+ g_free (full_url);
- }
-- g_free(details_url);
-+ g_free (details_url);
- }
- }
- return result_list;
-diff --git a/lib/intern/cover.c b/lib/intern/cover.c
-index 48acdee..e76693e 100644
---- a/lib/intern/cover.c
-+++ b/lib/intern/cover.c
-@@ -24,15 +24,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_img_finalizer(s, list, stop_me, GLYR_TYPE_COVERART, result_list);
-+ return generic_img_finalizer (s,list,stop_me,GLYR_TYPE_COVERART,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_cover = {
-+MetaDataFetcher glyrFetcher_cover =
-+{
- .name = "cover",
- .type = GLYR_GET_COVERART,
- .default_data_type = GLYR_TYPE_COVERART,
-diff --git a/lib/intern/cover/albumart.c b/lib/intern/cover/albumart.c
-index 4979cb0..168d856 100644
---- a/lib/intern/cover/albumart.c
-+++ b/lib/intern/cover/albumart.c
-@@ -21,12 +21,13 @@
- #include "../../core.h"
- #include "../../stringlib.h"
-
--static const gchar *cover_albumart_url(GlyrQuery *sets)
-+static const gchar * cover_albumart_url (GlyrQuery * sets)
- {
- gint i = sets->img_min_size;
- gint e = sets->img_max_size;
-
-- if((e >= 50 || e == -1) && (i == -1 || i < 450)) {
-+ if ( (e >= 50 || e == -1) && (i == -1 || i < 450) )
-+ {
- return "http://www.albumart.org/index.php?searchkey=${artist}&itempage=1&newsearch=1&searchindex=Music";
- }
- return NULL;
-@@ -39,42 +40,50 @@ static const gchar *cover_albumart_url(GlyrQuery *sets)
- #define AMZ "http://ecx.images-amazon.com/images/"
- #define IMG_FORMAT ".jpg"
-
--static GList *cover_albumart_parse(cb_object *capo)
-+static GList * cover_albumart_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *node = strstr(capo->cache->data, NODE_START);
-- if(node != NULL) {
-+ GList * result_list = NULL;
-+ gchar * node = strstr (capo->cache->data,NODE_START);
-+ if (node != NULL)
-+ {
- /* Decide what size we want */
- gsize size_it = 2;
-- if(capo->s->img_max_size < 450 && capo->s->img_max_size != -1 && capo->s->img_min_size < 160) {
-+ if (capo->s->img_max_size < 450 && capo->s->img_max_size != -1 && capo->s->img_min_size < 160)
-+ {
- size_it = 1;
- }
-
- /* Go through all nodes */
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + (sizeof NODE_NEXT) - 1, NODE_NEXT))) {
-- gchar *img_tag = node;
-- gchar *img_end = NULL;
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + (sizeof NODE_NEXT) - 1,NODE_NEXT) ) )
-+ {
-+ gchar * img_tag = node;
-+ gchar * img_end = NULL;
-
-- gchar *album_name = get_search_value(node, "title=\"", "\"");
-- if(levenshtein_strnormcmp(capo->s, album_name, capo->s->album) <= capo->s->fuzzyness) {
-- for(gsize it = 0; it < size_it; it++, img_tag += (sizeof AMZ) - 1) {
-- if((img_tag = strstr(img_tag, AMZ)) == NULL) {
-+ gchar * album_name = get_search_value (node,"title=\"","\"");
-+ if (levenshtein_strnormcmp (capo->s,album_name,capo->s->album) <= capo->s->fuzzyness)
-+ {
-+ for (gsize it = 0; it < size_it; it++, img_tag += (sizeof AMZ) - 1)
-+ {
-+ if ( (img_tag = strstr (img_tag,AMZ) ) == NULL)
-+ {
- break;
- }
- }
-
-- if((img_end = strstr(img_tag, IMG_FORMAT)) != NULL) {
-- gchar *img_url = copy_value(img_tag, img_end);
-- if(img_url != NULL) {
-- GlyrMemCache *result = DL_init();
-- result->data = g_strdup_printf(AMZ"%s"IMG_FORMAT, img_url);
-- result->size = strlen(result->data);
-- result_list = g_list_prepend(result_list, result);
-- g_free(img_url);
-+ if ( (img_end = strstr (img_tag,IMG_FORMAT) ) != NULL)
-+ {
-+ gchar * img_url = copy_value (img_tag,img_end);
-+ if (img_url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
-+ result->data = g_strdup_printf (AMZ"%s"IMG_FORMAT, img_url);
-+ result->size = strlen (result->data);
-+ result_list = g_list_prepend (result_list,result);
-+ g_free (img_url);
- }
- }
- }
-- g_free(album_name);
-+ g_free (album_name);
- }
- }
- return result_list;
-@@ -82,7 +91,8 @@ static GList *cover_albumart_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource cover_albumart_src = {
-+MetaDataSource cover_albumart_src =
-+{
- .name = "albumart",
- .key = 'b',
- .parser = cover_albumart_parse,
-diff --git a/lib/intern/cover/amazon.c b/lib/intern/cover/amazon.c
-index be55aac..204d56f 100644
---- a/lib/intern/cover/amazon.c
-+++ b/lib/intern/cover/amazon.c
-@@ -59,9 +59,9 @@ http://ecx.images-amazon.com/images/I/51rnlRwtsiL.jpg
- // as an fallback there is the albumart and coverhunt plugin which implement a search on amazon (on serverside)
- /////////////////////////////////
-
--static const gchar *cover_amazon_url(GlyrQuery *sets)
-+static const gchar * cover_amazon_url (GlyrQuery * sets)
- {
-- return generic_amazon_url(sets, "Images");
-+ return generic_amazon_url (sets,"Images");
- }
-
- /////////////////////////////////
-@@ -70,29 +70,32 @@ static const gchar *cover_amazon_url(GlyrQuery *sets)
- #define C_MAX(X) (capo->s->img_max_size < X && capo->s->img_max_size != -1)
- #define C_MIN(X) (capo->s->img_min_size >= X && capo->s->img_min_size != -1)
-
--static GList *cover_amazon_parse(cb_object *capo)
-+static GList * cover_amazon_parse (cb_object *capo)
- {
- const gchar *tag_ssize = (capo->s->img_max_size == -1 && capo->s->img_min_size == -1) ? "<LargeImage>" :
-- (C_MAX(30) && C_MIN(-1)) ? "<SwatchImage>" :
-- (C_MAX(70) && C_MIN(30)) ? "<SmallImage>" :
-- (C_MAX(150) && C_MIN(70)) ? "<MediumImage>" :
-+ (C_MAX ( 30) && C_MIN (-1) ) ? "<SwatchImage>" :
-+ (C_MAX ( 70) && C_MIN (30) ) ? "<SmallImage>" :
-+ (C_MAX (150) && C_MIN (70) ) ? "<MediumImage>" :
- "<LargeImage>" ;
-
-- GList *result_list = NULL;
-- gchar *find = capo->cache->data;
-- while(continue_search(g_list_length(result_list), capo->s) && (find = strstr(find + strlen(tag_ssize), tag_ssize)) != NULL) {
-+ GList * result_list = NULL;
-+ gchar * find = capo->cache->data;
-+ while (continue_search (g_list_length (result_list),capo->s) && (find = strstr (find + strlen (tag_ssize), tag_ssize) ) != NULL)
-+ {
- /* Next two XML tags not relevant */
-- nextTag(find);
-- nextTag(find);
-+ nextTag (find);
-+ nextTag (find);
-
-- gchar *endTag = NULL;
-- if((endTag = strstr(find, END_OF_URL)) != NULL) {
-- gchar *result_url = copy_value(find, endTag);
-- if(result_url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ gchar * endTag = NULL;
-+ if ( (endTag = strstr (find, END_OF_URL) ) != NULL)
-+ {
-+ gchar * result_url = copy_value (find,endTag);
-+ if (result_url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = result_url;
- result->size = endTag - find;
-- result_list = g_list_prepend(result_list, result);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -101,7 +104,8 @@ static GList *cover_amazon_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource cover_amazon_src = {
-+MetaDataSource cover_amazon_src =
-+{
- .name = "amazon",
- .key = 'a',
- .parser = cover_amazon_parse,
-diff --git a/lib/intern/cover/coverartarchive.c b/lib/intern/cover/coverartarchive.c
-index c91c07b..a24626a 100644
---- a/lib/intern/cover/coverartarchive.c
-+++ b/lib/intern/cover/coverartarchive.c
-@@ -25,7 +25,7 @@
-
- //////////////////////////////////////////////////
-
--static const char *cover_coverartarchive_url(GlyrQuery *qry)
-+static const char * cover_coverartarchive_url (GlyrQuery * qry)
- {
- /* Return a search for the mbid, later we'll search for the cover */
- return "http://musicbrainz.org/ws/2/release?query=artist:${artist}%20AND%20release:${album}";
-@@ -36,20 +36,22 @@ static const char *cover_coverartarchive_url(GlyrQuery *qry)
- #define IMAGE_NODE "\"image\":\""
-
- /* This should work, but apparently there is no real data yet there... */
--static GList *parse_archive_json(GlyrMemCache *input, GlyrQuery *qry)
-+static GList * parse_archive_json (GlyrMemCache * input, GlyrQuery * qry)
- {
-- GList *result_list = NULL;
-- char *node = input->data;
--
-- while((node = strstr(node + sizeof(IMAGE_NODE), IMAGE_NODE))) {
-- char *url = copy_value(node, strstr(node + sizeof(IMAGE_NODE), "\""));
-- if(url != NULL) {
-- GlyrMemCache *item = DL_init();
-+ GList * result_list = NULL;
-+ char * node = input->data;
-+
-+ while ( (node = strstr (node + sizeof (IMAGE_NODE), IMAGE_NODE) ) )
-+ {
-+ char * url = copy_value (node, strstr (node + sizeof (IMAGE_NODE), "\"") );
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * item = DL_init();
- item->data = url;
-- item->size = strlen(url);
-- item->dsrc = g_strdup(input->dsrc);
-+ item->size = strlen (url);
-+ item->dsrc = g_strdup (input->dsrc);
-
-- result_list = g_list_prepend(result_list, item);
-+ result_list = g_list_prepend (result_list, item);
- }
- }
- return result_list;
-@@ -62,19 +64,22 @@ static GList *parse_archive_json(GlyrMemCache *input, GlyrQuery *qry)
-
- //////////////////////////////////////////////////
-
--static GList *cover_coverartarchive_parse(cb_object *capo)
-+static GList * cover_coverartarchive_parse (cb_object * capo)
- {
- GList *result_list = NULL;
-- char *mbid = mbid_parse_data(capo->cache, "release", "title", capo->s->album, capo->s);
-- if(mbid != NULL) {
-- char *full_url = g_strdup_printf(API_ROOT, mbid);
-- if(full_url != NULL) {
-- GlyrMemCache *json_data = download_single(full_url, capo->s, NULL);
-- if(json_data != NULL) {
-- result_list = parse_archive_json(json_data, capo->s);
-- DL_free(json_data);
-+ char * mbid = mbid_parse_data (capo->cache, "release", "title", capo->s->album, capo->s);
-+ if (mbid != NULL)
-+ {
-+ char * full_url = g_strdup_printf (API_ROOT, mbid);
-+ if (full_url != NULL)
-+ {
-+ GlyrMemCache * json_data = download_single (full_url, capo->s, NULL);
-+ if (json_data != NULL)
-+ {
-+ result_list = parse_archive_json (json_data, capo->s);
-+ DL_free (json_data);
- }
-- g_free(full_url);
-+ g_free (full_url);
- }
- }
- return result_list;
-@@ -82,7 +87,8 @@ static GList *cover_coverartarchive_parse(cb_object *capo)
-
- //////////////////////////////////////////////////
-
--MetaDataSource cover_coverartarchive_src = {
-+MetaDataSource cover_coverartarchive_src =
-+{
- .name = "coverartarchive",
- .key = 'z',
- .parser = cover_coverartarchive_parse,
-diff --git a/lib/intern/cover/coverhunt.c b/lib/intern/cover/coverhunt.c
-index 0a90a8b..ff80932 100644
---- a/lib/intern/cover/coverhunt.c
-+++ b/lib/intern/cover/coverhunt.c
-@@ -25,28 +25,30 @@
- * Coverhunt seems to have some load problems at time of writing...
- */
-
--static const gchar *cover_coverhunt_url(GlyrQuery *sets)
-+static const gchar * cover_coverhunt_url (GlyrQuery * sets)
- {
-- if(sets->img_min_size <= 500 || sets->img_min_size == -1) {
-+ if (sets->img_min_size <= 500 || sets->img_min_size == -1)
-+ {
- return "http://www.coverhunt.com/index.php?query=${artist}+${album}&action=Find+my+CD+Covers";
- }
- return NULL;
- }
-
--static gboolean check_size(const char *art_root, const char *hw, cb_object *capo)
-+static gboolean check_size (const char * art_root, const char *hw, cb_object * capo)
- {
-- gchar *begin = strstr(art_root, hw);
-- if(begin != NULL) {
-- gchar *end = strchr(begin, ' ');
-- gchar *buf = copy_value(begin + strlen(hw), end);
-- if(buf != NULL) {
-- gint atoid = strtol(buf, NULL, 10);
-- g_free(buf);
-+ gchar * begin = strstr (art_root,hw);
-+ if (begin != NULL)
-+ {
-+ gchar * end = strchr (begin,' ');
-+ gchar * buf = copy_value (begin+strlen (hw),end);
-+ if (buf != NULL)
-+ {
-+ gint atoid = strtol (buf,NULL,10);
-+ g_free (buf);
-
-- if((atoid >= capo->s->img_min_size || capo->s->img_min_size == -1) &&
-- (atoid <= capo->s->img_max_size || capo->s->img_max_size == -1)) {
-+ if ( (atoid >= capo->s->img_min_size || capo->s->img_min_size == -1) &&
-+ (atoid <= capo->s->img_max_size || capo->s->img_max_size == -1) )
- return TRUE;
-- }
- }
- }
- return FALSE;
-@@ -60,51 +62,62 @@ static gboolean check_size(const char *art_root, const char *hw, cb_object *capo
- * coverhunt sadly offers no way to check if the
- * image is really related to the query we're searching for
- */
--static GList *cover_coverhunt_parse(cb_object *capo)
-+static GList * cover_coverhunt_parse (cb_object *capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
- /* navigate to start of search results */
-- gchar *table_start;
-- if((table_start = strstr(capo->cache->data, SEARCH_RESULT_BEGIN)) == NULL) {
-+ gchar * table_start;
-+ if ( (table_start = strstr (capo->cache->data,SEARCH_RESULT_BEGIN) ) == NULL)
-+ {
- /* Whoops, nothing to see here */
- return NULL;
- }
-
-- while(continue_search(g_list_length(result_list), capo->s) && (table_start = strstr(table_start + 1, NODE_BEGIN))) {
-- gchar *table_end = NULL;
-- if((table_end = strstr(table_start, "\">")) != NULL) {
-- gchar *go_url = copy_value(table_start + strlen(NODE_BEGIN), table_end);
-- if(go_url) {
-- gchar *real_url = g_strdup_printf("http://www.coverhunt.com/go/%s", go_url);
-- if(real_url != NULL) {
-- GlyrMemCache *search_buf = download_single(real_url, capo->s, "<div id=\"right\">");
-- if(search_buf != NULL) {
-- gchar *artwork = strstr(search_buf->data, "<div class=\"artwork\">");
-- if(artwork != NULL) {
-- if(check_size(artwork, "height=", capo) && check_size(artwork, "width=", capo)) {
-- gchar *img_start = strstr(artwork, IMG_START);
-- if(img_start != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (table_start = strstr (table_start + 1,NODE_BEGIN) ) )
-+ {
-+ gchar * table_end = NULL;
-+ if ( (table_end = strstr (table_start,"\">") ) != NULL)
-+ {
-+ gchar * go_url = copy_value (table_start + strlen (NODE_BEGIN),table_end);
-+ if (go_url)
-+ {
-+ gchar * real_url = g_strdup_printf ("http://www.coverhunt.com/go/%s",go_url);
-+ if (real_url != NULL)
-+ {
-+ GlyrMemCache * search_buf = download_single (real_url,capo->s,"<div id=\"right\">");
-+ if (search_buf != NULL)
-+ {
-+ gchar * artwork = strstr (search_buf->data, "<div class=\"artwork\">");
-+ if (artwork != NULL)
-+ {
-+ if (check_size (artwork,"height=",capo) && check_size (artwork,"width=",capo) )
-+ {
-+ gchar * img_start = strstr (artwork,IMG_START);
-+ if (img_start != NULL)
-+ {
- img_start += (sizeof IMG_START) - 1;
-- gchar *img_end = strstr(img_start, "\" ");
-- if(img_end != NULL) {
-- gchar *url = copy_value(img_start, img_end);
-- if(url != NULL) {
-- GlyrMemCache *shell = DL_init();
-+ gchar * img_end = strstr (img_start,"\" ");
-+ if (img_end != NULL)
-+ {
-+ gchar * url = copy_value (img_start,img_end);
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * shell = DL_init();
- shell->data = url;
- shell->size = img_end - img_start;
-- shell->dsrc = g_strdup(real_url);
-- result_list = g_list_prepend(result_list, shell);
-+ shell->dsrc = g_strdup (real_url);
-+ result_list = g_list_prepend (result_list,shell);
- }
- }
- }
- }
- }
-- DL_free(search_buf);
-+ DL_free (search_buf);
- }
-- g_free(real_url);
-+ g_free (real_url);
- }
-- g_free(go_url);
-+ g_free (go_url);
- }
- }
- }
-@@ -112,7 +125,8 @@ static GList *cover_coverhunt_parse(cb_object *capo)
- }
-
- /* Queued last, as long coverhunt is down */
--MetaDataSource cover_coverhunt_src = {
-+MetaDataSource cover_coverhunt_src =
-+{
- .name = "coverhunt",
- .key = 'c',
- .parser = cover_coverhunt_parse,
-diff --git a/lib/intern/cover/discogs.c b/lib/intern/cover/discogs.c
-index dc95c53..4b03191 100644
---- a/lib/intern/cover/discogs.c
-+++ b/lib/intern/cover/discogs.c
-@@ -52,47 +52,51 @@
- #define THUMB_SUBDNOE "\"thumb\": \""
- #define FOLLR_SUBNODE "\"uri\": \""
- #define NODE THUMB_SUBDNOE
--#define ENDOF_SUBNODE "\",
-+#define ENDOF_SUBNODE "\","
-
-
- /////////////////////////////////////////////////////
-
--static bool check_artist_album(GlyrQuery *q, const char *artist_album)
-+static bool check_artist_album (GlyrQuery * q, const char * artist_album)
- {
- bool rc = false;
-
-- char **split = g_strsplit(artist_album, " - ", 2);
-- if(split && split[0] && split[1]) {
-- rc = levenshtein_strnormcmp(q, q->artist, split[0]) <= q->fuzzyness &&
-- levenshtein_strnormcmp(q, q->album, split[1]) <= q->fuzzyness;
-+ char ** split = g_strsplit (artist_album," - ",2);
-+ if (split && split[0] && split[1])
-+ {
-+ rc = levenshtein_strnormcmp (q,q->artist,split[0]) <= q->fuzzyness &&
-+ levenshtein_strnormcmp (q,q->album, split[1]) <= q->fuzzyness;
- }
-
-- g_strfreev(split);
-+ g_strfreev (split);
- return rc;
- }
-
- /////////////////////////////////////////////////////
-
--static GlyrMemCache *transform_url(cb_object *s, const char *url)
-+static GlyrMemCache * transform_url (cb_object * s, const char * url)
- {
-- GlyrMemCache *rc = NULL;
-- size_t rc_size = strlen(url);
-- char *rc_url = g_strdup(url);
--
-- if(rc_url != NULL) {
-- char *slash = strrchr(rc_url, '/');
-- if(slash != NULL) {
-- char *sp = strchr(slash, '-');
-- if(sp != NULL) {
-- char *ep = strchr(sp + 1, '-');
-+ GlyrMemCache * rc = NULL;
-+ size_t rc_size = strlen (url);
-+ char * rc_url = g_strdup (url);
-+
-+ if (rc_url != NULL)
-+ {
-+ char * slash = strrchr (rc_url,'/');
-+ if (slash != NULL)
-+ {
-+ char * sp = strchr (slash,'-');
-+ if (sp != NULL)
-+ {
-+ char * ep = strchr (sp + 1, '-');
- if(ep != NULL) {
- size_t rest_len = rc_size - (ep - rc_url) + 1;
-- memmove(sp, ep, rest_len);
-+ memmove (sp,ep,rest_len);
-
- rc = DL_init();
-- rc->data = (char *) rc_url;
-- rc->size = strlen(url);
-- rc->dsrc = g_strdup(s->url);
-+ rc->data = (char*) rc_url;
-+ rc->size = strlen (url);
-+ rc->dsrc = g_strdup (s->url);
- }
- }
- }
-@@ -104,38 +108,42 @@ static GlyrMemCache *transform_url(cb_object *s, const char *url)
- /////////////////////////////////////////////////////
- /////////////////////////////////////////////////////
-
--static const char *cover_discogs_url(GlyrQuery *q)
-+static const char * cover_discogs_url (GlyrQuery * q)
- {
- return API_ENTRY;
- }
-
- /////////////////////////////////////////////////////
-
--static GList *cover_discogs_parse(cb_object *capo)
-+static GList * cover_discogs_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
- /* Jump to the very first node 'directly' */
-- gchar *node = capo->cache->data;
-+ gchar * node = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s)
-- && (node = strstr(node + (sizeof NODE) - 1, NODE)) != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s)
-+ && (node = strstr (node + (sizeof NODE) - 1,NODE) ) != NULL)
-+ {
-
-- char *artist_album = get_search_value(node, TITLE_SUBNODE, ENDOF_SUBNODE);
-+ char * artist_album = get_search_value (node,TITLE_SUBNODE,ENDOF_SUBNODE);
-
-- if(artist_album && check_artist_album(capo->s, artist_album)) {
-+ if (artist_album && check_artist_album (capo->s,artist_album) )
-+ {
-
-- char *thumb_url = get_search_value(node, THUMB_SUBDNOE, ENDOF_SUBNODE);
-- if(thumb_url) {
-+ char * thumb_url = get_search_value (node,THUMB_SUBDNOE,ENDOF_SUBNODE);
-+ if (thumb_url)
-+ {
-
-- GlyrMemCache *p = transform_url(capo, thumb_url);
-- if(p != NULL) {
-- result_list = g_list_prepend(result_list, p);
-+ GlyrMemCache * p = transform_url (capo,thumb_url);
-+ if (p != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,p);
- }
-- g_free(thumb_url);
-+ g_free (thumb_url);
- }
- }
-- g_free(artist_album);
-+ g_free (artist_album);
- }
-
- return result_list;
-@@ -143,7 +151,8 @@ static GList *cover_discogs_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource cover_discogs_src = {
-+MetaDataSource cover_discogs_src =
-+{
- .name = "discogs",
- .key = 'd',
- .parser = cover_discogs_parse,
-diff --git a/lib/intern/cover/google.c b/lib/intern/cover/google.c
-index 9c68e83..ff39008 100644
---- a/lib/intern/cover/google.c
-+++ b/lib/intern/cover/google.c
-@@ -23,27 +23,29 @@
-
- /////////////////////////////////
-
--static const gchar *cover_google_url(GlyrQuery *s)
-+static const gchar * cover_google_url (GlyrQuery * s)
- {
-- const gchar *result = NULL;
-- gchar *searchterm = g_strdup("${artist}+${album}+album");
-- if(searchterm != NULL) {
-- result = generic_google_url(s, searchterm);
-- g_free(searchterm);
-+ const gchar * result = NULL;
-+ gchar * searchterm = g_strdup ("${artist}+${album}+album");
-+ if (searchterm != NULL)
-+ {
-+ result = generic_google_url (s,searchterm);
-+ g_free (searchterm);
- }
- return result;
- }
-
- /////////////////////////////////
-
--static GList *cover_google_parse(cb_object *capo)
-+static GList * cover_google_parse (cb_object * capo)
- {
-- return generic_google_parse(capo);
-+ return generic_google_parse (capo);
- }
-
- /////////////////////////////////
-
--MetaDataSource cover_google_src = {
-+MetaDataSource cover_google_src =
-+{
- .name = "google",
- .key = 'g',
- .parser = cover_google_parse,
-diff --git a/lib/intern/cover/jamendo.c b/lib/intern/cover/jamendo.c
-index 1969368..da4215f 100644
---- a/lib/intern/cover/jamendo.c
-+++ b/lib/intern/cover/jamendo.c
-@@ -27,26 +27,27 @@
- #define RESULT_URL "http://www.jamendo.com/get/album/id/album/artworkurl/redirect/%s/?artwork_size=%d"
- #define SOURCE_URL "http://api.jamendo.com/get2/id+name+artist_name/album/plain/?order=searchweight_desc&n=100&searchquery=${album}"
-
--static int get_cover_size(GlyrQuery *query);
--static bool check_values(GlyrQuery *query, char *artist, char *album);
-+static int get_cover_size (GlyrQuery * query);
-+static bool check_values (GlyrQuery * query, char * artist, char * album);
-
- /////////////////////////////////
-
--static const char *cover_jamendo_url(GlyrQuery *sets)
-+static const char * cover_jamendo_url (GlyrQuery * sets)
- {
- return SOURCE_URL;
- }
-
- /////////////////////////////////
-
--void do_line_split(char **p_arr, char *line)
-+void do_line_split (char ** p_arr, char * line)
- {
-- g_return_if_fail(p_arr && line);
-+ g_return_if_fail (p_arr && line);
-
-- char *hop = line;
-+ char * hop = line;
- *p_arr = line;
-
-- while((hop = strchr(hop, '\t')) != NULL) {
-+ while ( (hop = strchr (hop,'\t') ) != NULL)
-+ {
- p_arr++;
-
- *hop = 0;
-@@ -56,32 +57,37 @@ void do_line_split(char **p_arr, char *line)
-
- /////////////////////////////////
-
--static GList *cover_jamendo_parse(cb_object *capo)
-+static GList * cover_jamendo_parse (cb_object *capo)
- {
- // A nice parser with zero memory overhead..
-
-- GList *result_list = NULL;
-- gchar *line = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * line = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s)) {
-- char *line_end;
-+ while (continue_search (g_list_length (result_list),capo->s) )
-+ {
-+ char * line_end;
-
-- if((line_end = strchr(line, '\n')) != NULL) {
-+ if ( (line_end = strchr (line,'\n') ) != NULL)
-+ {
- *line_end = 0;
-
-- char *line_split[3] = {0, 0, 0};
-- do_line_split(line_split, line);
-+ char * line_split[3] = {0,0,0};
-+ do_line_split (line_split,line);
-
-- if(check_values(capo->s, line_split[2], line_split[1])) {
-- char *url = g_strdup_printf(RESULT_URL, line_split[0], get_cover_size(capo->s));
-- GlyrMemCache *result = DL_init();
-+ if (check_values (capo->s,line_split[2],line_split[1]) )
-+ {
-+ char * url = g_strdup_printf (RESULT_URL,line_split[0],get_cover_size (capo->s) );
-+ GlyrMemCache * result = DL_init();
- result->data = url;
-- result->size = strlen(url);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (url);
-+ result_list = g_list_prepend (result_list,result);
- }
-
- line = ++line_end;
-- } else {
-+ }
-+ else
-+ {
- break;
- }
- }
-@@ -90,10 +96,11 @@ static GList *cover_jamendo_parse(cb_object *capo)
-
- /////////////////////////////////
-
--static bool check_values(GlyrQuery *query, char *artist, char *album)
-+static bool check_values (GlyrQuery * query, char * artist, char * album)
- {
-- if(levenshtein_strnormcmp(query, query->artist, artist) <= query->fuzzyness
-- && levenshtein_strnormcmp(query, query->album, album) <= query->fuzzyness) {
-+ if (levenshtein_strnormcmp (query, query->artist, artist) <= query->fuzzyness
-+ && levenshtein_strnormcmp (query, query->album,album) <= query->fuzzyness)
-+ {
- return true;
- }
- return false;
-@@ -101,17 +108,22 @@ static bool check_values(GlyrQuery *query, char *artist, char *album)
-
- /////////////////////////////////
-
--static int get_cover_size(GlyrQuery *query)
-+static int get_cover_size (GlyrQuery * query)
- {
-- int cover_size[] = {50, 50, 100, 200, 300, 400, 600, INT_MAX};
-- int array_len = (sizeof(cover_size) / sizeof(int));
-+ int cover_size[] = {50,50,100,200,300,400,600,INT_MAX};
-+ int array_len = (sizeof (cover_size) /sizeof (int) );
-
-- if(query->img_max_size == -1) {
-+ if (query->img_max_size == -1)
-+ {
- return 400;
-- } else {
-- for(int i = 1; i < array_len; i++) {
-- if(query->img_max_size <= cover_size[i]) {
-- return cover_size[i - 1];
-+ }
-+ else
-+ {
-+ for (int i=1; i<array_len; i++)
-+ {
-+ if (query->img_max_size <= cover_size[i])
-+ {
-+ return cover_size[i-1];
- }
- }
- }
-@@ -121,7 +133,8 @@ static int get_cover_size(GlyrQuery *query)
-
- /////////////////////////////////
-
--MetaDataSource cover_jamendo_src = {
-+MetaDataSource cover_jamendo_src =
-+{
- .name = "jamendo",
- .key = 'j',
- .parser = cover_jamendo_parse,
-diff --git a/lib/intern/cover/lastfm.c b/lib/intern/cover/lastfm.c
-index 4ae417e..9272000 100644
---- a/lib/intern/cover/lastfm.c
-+++ b/lib/intern/cover/lastfm.c
-@@ -23,7 +23,7 @@
-
- /////////////////////////////////
-
--static const char *cover_lastfm_url(GlyrQuery *sets)
-+static const char * cover_lastfm_url (GlyrQuery * sets)
- {
- return "http://ws.audioscrobbler.com/2.0/?method=album.search&autocorrect=1&album=${artist}+${album}&api_key="API_KEY_LASTFM;
- }
-@@ -33,62 +33,68 @@ static const char *cover_lastfm_url(GlyrQuery *sets)
- #define ALBUM_NODE "<album>"
- #define BAD_DEFAULT_IMAGE "http://cdn.last.fm/flatness/catalogue/noimage/2/default_album_medium.png"
-
--static GList *cover_lastfm_parse(cb_object *capo)
-+static GList * cover_lastfm_parse (cb_object *capo)
- {
- /* Handle size requirements (Default to large) */
-- const gchar *tag_ssize = NULL ;
-- const gchar *tag_esize = "</image>";
-+ const gchar * tag_ssize = NULL ;
-+ const gchar * tag_esize = "</image>";
-
- /* find desired size */
-- if(size_is_okay(300, capo->s->img_min_size, capo->s->img_max_size)) {
-+ if ( size_is_okay (300,capo->s->img_min_size,capo->s->img_max_size) )
- tag_ssize = "<image size=\"extralarge\">";
-- } else if(size_is_okay(125, capo->s->img_min_size, capo->s->img_max_size)) {
-+ else if ( size_is_okay (125,capo->s->img_min_size,capo->s->img_max_size) )
- tag_ssize = "<image size=\"large\">";
-- } else if(size_is_okay(64, capo->s->img_min_size, capo->s->img_max_size)) {
-+ else if ( size_is_okay (64, capo->s->img_min_size,capo->s->img_max_size) )
- tag_ssize = "<image size=\"middle\">";
-- } else if(size_is_okay(34, capo->s->img_min_size, capo->s->img_max_size)) {
-+ else if ( size_is_okay (34, capo->s->img_min_size,capo->s->img_max_size) )
- tag_ssize = "<image size=\"small\">";
-- } else if(true || false) {
-+ else if ( true || false )
- tag_ssize = "<image size=\"extralarge\">";
-- }
-
- /* The result (perhaps) */
-- GList *result_list = NULL;
-- gchar *find = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * find = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (find = strstr(find + sizeof(ALBUM_NODE), ALBUM_NODE)) != NULL) {
-- gchar *artist = get_search_value(find, "<artist>", "</artist>");
-- gchar *album = get_search_value(find, "<name>", "</name>");
-+ while (continue_search (g_list_length (result_list),capo->s) && (find = strstr (find + sizeof(ALBUM_NODE), ALBUM_NODE) ) != NULL)
-+ {
-+ gchar * artist = get_search_value (find, "<artist>", "</artist>");
-+ gchar * album = get_search_value (find, "<name>", "</name>");
-
-- if(levenshtein_strnormcmp(capo->s, artist, capo->s->artist) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, album, capo->s->album) <= capo->s->fuzzyness) {
-+ if (levenshtein_strnormcmp (capo->s, artist, capo->s->artist) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s, album, capo->s->album) <= capo->s->fuzzyness) {
-
-- gchar *img_start = strstr(find, tag_ssize);
-+ gchar * img_start = strstr(find, tag_ssize);
-
-- if(img_start != NULL) {
-- gchar *url = get_search_value(find, (gchar *) tag_ssize, (gchar *) tag_esize);
-- if(url != NULL) {
-- if(strcmp(url, BAD_DEFAULT_IMAGE) != 0) {
-- GlyrMemCache *result = DL_init();
-+ if (img_start != NULL)
-+ {
-+ gchar * url = get_search_value (find, (gchar*) tag_ssize, (gchar*) tag_esize);
-+ if (url != NULL)
-+ {
-+ if (strcmp (url,BAD_DEFAULT_IMAGE) != 0)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = url;
-- result->size = strlen(url);
-- result_list = g_list_prepend(result_list, result);
-- } else {
-- g_free(url);
-+ result->size = strlen (url);
-+ result_list = g_list_prepend (result_list,result);
-+ }
-+ else
-+ {
-+ g_free (url);
- }
- }
- }
- }
-
-- g_free(artist);
-- g_free(album);
-+ g_free (artist);
-+ g_free (album);
- }
- return result_list;
- }
-
- /////////////////////////////////
-
--MetaDataSource cover_lastfm_src = {
-+MetaDataSource cover_lastfm_src =
-+{
- .name = "lastfm",
- .key = 'l',
- .parser = cover_lastfm_parse,
-diff --git a/lib/intern/cover/lyricswiki.c b/lib/intern/cover/lyricswiki.c
-index a102f23..a150226 100644
---- a/lib/intern/cover/lyricswiki.c
-+++ b/lib/intern/cover/lyricswiki.c
-@@ -21,10 +21,11 @@
- #include "../../stringlib.h"
- #include "../../core.h"
-
--const gchar *cover_lyricswiki_url(GlyrQuery *sets)
-+const gchar * cover_lyricswiki_url (GlyrQuery * sets)
- {
-- const gchar *url = NULL;
-- if(sets->img_min_size < 650) {
-+ const gchar * url = NULL;
-+ if (sets->img_min_size < 650)
-+ {
- url = "http://lyrics.wikia.com/api.php?format=xml&action=query&list=allimages&aiprefix=${artist}";
- }
- return url;
-@@ -32,27 +33,30 @@ const gchar *cover_lyricswiki_url(GlyrQuery *sets)
-
- /////////////////////////////////
-
--static gboolean check_file_format(GlyrQuery *query, gchar *filename)
-+static gboolean check_file_format (GlyrQuery * query, gchar * filename)
- {
- gboolean result = FALSE;
-- gsize length = strlen(filename);
-+ gsize length = strlen (filename);
- gsize offset = 0;
- gchar *token = NULL;
-
-- gchar **token_list = g_strsplit(query->allowed_formats, GLYR_DEFAULT_FROM_ARGUMENT_DELIM, 0);
-- while((token = token_list[offset]) != NULL) {
-- if(g_str_has_suffix(filename, token) == TRUE) {
-+ gchar ** token_list = g_strsplit (query->allowed_formats,GLYR_DEFAULT_FROM_ARGUMENT_DELIM,0);
-+ while ( (token = token_list[offset]) != NULL)
-+ {
-+ if (g_str_has_suffix (filename,token) == TRUE)
-+ {
- result = TRUE;
-- gsize format_pos = length - strlen(token);
-+ gsize format_pos = length - strlen (token);
- filename[format_pos] = '\0';
-- if(format_pos != 0 && filename[format_pos - 1] == '.') {
-- filename[format_pos - 1] = '\0';
-+ if (format_pos != 0 && filename[format_pos-1] == '.')
-+ {
-+ filename[format_pos-1] = '\0';
- }
- break;
- }
- offset++;
- }
-- g_strfreev(token_list);
-+ g_strfreev (token_list);
- return result;
- }
-
-@@ -71,55 +75,58 @@ static gboolean check_file_format(GlyrQuery *query, gchar *filename)
- #define URL_END "\" descriptionurl="
- #define NEXT_NAME "<img name=\""
-
--GList *cover_lyricswiki_parse(cb_object *capo)
-+GList * cover_lyricswiki_parse (cb_object * capo)
- {
-- gchar *find = capo->cache->data;
-- gchar *endTag = NULL;
-- GList *result_list = NULL;
-+ gchar * find = capo->cache->data;
-+ gchar * endTag = NULL;
-+ GList * result_list = NULL;
-
-- gchar *escaped_album_name = strreplace(capo->s->album, " ", "_");
-- if(escaped_album_name != NULL) {
-+ gchar * escaped_album_name = strreplace (capo->s->album," ","_");
-+ if (escaped_album_name != NULL)
-+ {
- /* Go through all names and compare them with Levenshtein */
-- while(continue_search(g_list_length(result_list), capo->s) && (find = strstr(find + (sizeof IMG_TAG) - 1, IMG_TAG)) != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (find = strstr (find+ (sizeof IMG_TAG) - 1,IMG_TAG) ) != NULL)
-+ {
- /* Find end & start of the name */
- find += (sizeof IMG_TAG) - 1;
-- endTag = strstr(find, END_TAG);
-+ endTag = strstr (find,END_TAG);
-
-- if(endTag == NULL || endTag <= find) {
-+ if (endTag == NULL || endTag <= find)
- continue;
-- }
-
- /* Copy the name of the current album */
-- gchar *name = copy_value(find, endTag);
-- if(name != NULL) {
-- if(check_file_format(capo->s, name) && levenshtein_strnormcmp(capo->s, escaped_album_name, name) <= capo->s->fuzzyness) {
-- gchar *url = get_search_value(endTag, URL_MARKER, URL_END);
-- if(url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ gchar * name = copy_value (find,endTag);
-+ if (name != NULL)
-+ {
-+ if (check_file_format (capo->s,name) && levenshtein_strnormcmp (capo->s,escaped_album_name,name) <= capo->s->fuzzyness)
-+ {
-+ gchar * url = get_search_value (endTag, URL_MARKER, URL_END);
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = url;
-- result->size = strlen(url);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (url);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
-
- /* Get next img tag */
-- find = strstr(endTag, NEXT_NAME);
-- g_free(name);
-+ find = strstr (endTag,NEXT_NAME);
-+ g_free (name);
-
- /* Whoops, right into nonexistence.. */
-- if(find == NULL) {
-- break;
-- }
-+ if (find == NULL) break;
- }
- }
-- g_free(escaped_album_name);
-+ g_free (escaped_album_name);
- }
- return result_list;
- }
-
- /////////////////////////////////
-
--MetaDataSource cover_lyricswiki_src = {
-+MetaDataSource cover_lyricswiki_src =
-+{
- .name = "lyricswiki",
- .key = 'w',
- .parser = cover_lyricswiki_parse,
-diff --git a/lib/intern/cover/musicbrainz.c b/lib/intern/cover/musicbrainz.c
-index 61f1474..1ea903c 100644
---- a/lib/intern/cover/musicbrainz.c
-+++ b/lib/intern/cover/musicbrainz.c
-@@ -23,7 +23,7 @@
-
- /////////////////////////////////
-
--static const char *cover_musicbrainz_url(GlyrQuery *q)
-+static const char * cover_musicbrainz_url (GlyrQuery * q)
- {
- return "http://musicbrainz.org/ws/2/release?query=${album}&limit=10&offset=0";
- }
-@@ -37,24 +37,28 @@ static const char *cover_musicbrainz_url(GlyrQuery *q)
- * This is silly overall,
- * but coverartarchive.org does not seem to work fully yet.
- */
--static GlyrMemCache *parse_web_page(GlyrMemCache *page)
-+static GlyrMemCache * parse_web_page (GlyrMemCache * page)
- {
-- GlyrMemCache *retv = NULL;
-- if(page && page->data) {
-- char *begin = strstr(page->data, COVERART);
-- if(begin != NULL) {
-- char *amz_url = strstr(begin, AMZ_URL_START);
-- if(amz_url != NULL) {
-- char *img_url = get_search_value(amz_url, "\"", "\"");
-- if(img_url != NULL) {
-+ GlyrMemCache * retv = NULL;
-+ if (page && page->data)
-+ {
-+ char * begin = strstr (page->data,COVERART);
-+ if (begin != NULL)
-+ {
-+ char * amz_url = strstr (begin,AMZ_URL_START);
-+ if (amz_url != NULL)
-+ {
-+ char * img_url = get_search_value (amz_url,"\"","\"");
-+ if (img_url != NULL)
-+ {
- retv = DL_init();
-- retv->dsrc = g_strdup(page->dsrc);
-+ retv->dsrc = g_strdup (page->dsrc);
- retv->data = img_url;
-- retv->size = strlen(img_url);
-+ retv->size = strlen (img_url);
- }
- }
- }
-- DL_free(page);
-+ DL_free (page);
- }
- return retv;
- }
-@@ -66,35 +70,40 @@ static GlyrMemCache *parse_web_page(GlyrMemCache *page)
-
- /////////////////////////////////
-
--static GList *cover_musicbrainz_parse(cb_object *capo)
-+static GList * cover_musicbrainz_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
--
-- char *node = capo->cache->data;
--
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + 1, NODE))) {
-- char *album = get_search_value(node, "<title>", "</title>");
-- char *artist = get_search_value(node, "<name>" , "</name>");
--
--
-- if(levenshtein_strnormcmp(capo->s, artist, capo->s->artist) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, album , capo->s->album) <= capo->s->fuzzyness) {
--
-- char *ID = get_search_value(node, "id=\"", "\" ");
-- if(ID != NULL) {
-- char *url = g_strdup_printf(DL_URL, ID);
-- if(url != NULL) {
-- GlyrMemCache *item = parse_web_page(download_single(url, capo->s, NULL));
-- if(item != NULL) {
-- result_list = g_list_prepend(result_list, item);
-+ GList * result_list = NULL;
-+
-+ char * node = capo->cache->data;
-+
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + 1,NODE) ) )
-+ {
-+ char * album = get_search_value (node,"<title>","</title>");
-+ char * artist = get_search_value (node,"<name>" ,"</name>" );
-+
-+
-+ if (levenshtein_strnormcmp (capo->s,artist,capo->s->artist) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s,album ,capo->s->album ) <= capo->s->fuzzyness)
-+ {
-+
-+ char * ID = get_search_value (node,"id=\"","\" ");
-+ if (ID != NULL)
-+ {
-+ char * url = g_strdup_printf (DL_URL,ID);
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * item = parse_web_page (download_single (url,capo->s,NULL) );
-+ if (item != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,item);
- }
- }
-- g_free(url);
-+ g_free (url);
- }
-- g_free(ID);
-+ g_free (ID);
- }
-- g_free(artist);
-- g_free(album);
-+ g_free (artist);
-+ g_free (album);
- }
-
- return result_list;
-@@ -102,7 +111,8 @@ static GList *cover_musicbrainz_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource cover_musicbrainz_src = {
-+MetaDataSource cover_musicbrainz_src =
-+{
- .name = "musicbrainz",
- .key = 'z',
- .parser = cover_musicbrainz_parse,
-diff --git a/lib/intern/cover/picsearch.c b/lib/intern/cover/picsearch.c
-index a646c53..4faa16d 100644
---- a/lib/intern/cover/picsearch.c
-+++ b/lib/intern/cover/picsearch.c
-@@ -23,20 +23,21 @@
-
- /////////////////////////////////
-
--static const gchar *cover_picsearch_url(GlyrQuery *s)
-+static const gchar * cover_picsearch_url (GlyrQuery * s)
- {
-- return generic_picsearch_url(s, "${artist}+${album}+coverart");
-+ return generic_picsearch_url (s,"${artist}+${album}+coverart");
- }
-
- /////////////////////////////////
--static GList *cover_picsearch_parse(cb_object *capo)
-+static GList * cover_picsearch_parse (cb_object * capo)
- {
-- return generic_picsearch_parse(capo);
-+ return generic_picsearch_parse (capo);
- }
-
- /////////////////////////////////
-
--MetaDataSource cover_picsearch_src = {
-+MetaDataSource cover_picsearch_src =
-+{
- .name = "picsearch",
- .key = 'p',
- .parser = cover_picsearch_parse,
-diff --git a/lib/intern/cover/rhapsody.c b/lib/intern/cover/rhapsody.c
-index 972eff3..b62be53 100644
---- a/lib/intern/cover/rhapsody.c
-+++ b/lib/intern/cover/rhapsody.c
-@@ -23,18 +23,21 @@
-
- /////////////////////////////////
-
--static gchar *translate_string(gchar *string)
-+static gchar * translate_string (gchar * string)
- {
-- gchar *result = NULL;
-- if(string != NULL) {
-- gchar *beautiful = beautify_string(string);
-- if(beautiful != NULL) {
-- gchar *downcase = g_utf8_strdown(beautiful, -1);
-- if(downcase != NULL) {
-- result = translate_umlauts(downcase);
-- g_free(downcase);
-+ gchar * result = NULL;
-+ if (string != NULL)
-+ {
-+ gchar * beautiful = beautify_string (string);
-+ if (beautiful != NULL)
-+ {
-+ gchar * downcase = g_utf8_strdown (beautiful,-1);
-+ if (downcase != NULL)
-+ {
-+ result = translate_umlauts (downcase);
-+ g_free (downcase);
- }
-- g_free(beautiful);
-+ g_free (beautiful);
- }
- }
- return result;
-@@ -42,34 +45,37 @@ static gchar *translate_string(gchar *string)
-
- /////////////////////////////////
-
--static const gchar *cover_rhapsody_url(GlyrQuery *query)
-+static const gchar * cover_rhapsody_url (GlyrQuery * query)
- {
-- gchar *result = NULL;
-- gchar *corrected_artist = translate_string(query->artist);
-- gchar *corrected_album = translate_string(query->album);
-- if(corrected_artist && corrected_album) {
-- result = g_strdup_printf("http://feeds.rhapsody.com/%s/%s/data.xml", corrected_artist, corrected_album);
-+ gchar * result = NULL;
-+ gchar * corrected_artist = translate_string (query->artist);
-+ gchar * corrected_album = translate_string (query->album);
-+ if (corrected_artist && corrected_album)
-+ {
-+ result = g_strdup_printf ("http://feeds.rhapsody.com/%s/%s/data.xml",corrected_artist,corrected_album);
- }
-- g_free(corrected_artist);
-- g_free(corrected_album);
-+ g_free (corrected_artist);
-+ g_free (corrected_album);
- return result;
- }
-
- /////////////////////////////////
-
--static gboolean check_size(GlyrQuery *s, gchar *ref)
-+static gboolean check_size (GlyrQuery * s, gchar * ref)
- {
- gboolean result = FALSE;
-- if(ref != NULL) {
-- gchar *width_str = get_search_value(ref, "width=\"", "\"");
-- gchar *height_str = get_search_value(ref, "height=\"", "\"");
-- if(width_str && height_str) {
-- gint width = strtol(width_str, NULL, 10);
-- gint height = strtol(height_str, NULL, 10);
-- result = size_is_okay((width + height) / 2, s->img_min_size, s->img_max_size);
-+ if (ref != NULL)
-+ {
-+ gchar * width_str = get_search_value (ref,"width=\"","\"");
-+ gchar * height_str = get_search_value (ref,"height=\"","\"");
-+ if (width_str && height_str)
-+ {
-+ gint width = strtol (width_str, NULL,10);
-+ gint height = strtol (height_str,NULL,10);
-+ result = size_is_okay ( (width+height) /2,s->img_min_size,s->img_max_size);
- }
-- g_free(width_str);
-- g_free(height_str);
-+ g_free (width_str);
-+ g_free (height_str);
- }
- return result;
- }
-@@ -82,28 +88,33 @@ static gboolean check_size(GlyrQuery *s, gchar *ref)
- #define HACK_SIZE "170x170"
- #define HIGH_SIZE "500x500"
-
--static GList *cover_rhapsody_parse(cb_object *capo)
-+static GList * cover_rhapsody_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *delim_beg = strstr(capo->cache->data, DELIM_BEG);
-- gchar *delim_end = strstr(capo->cache->data, DELIM_END);
-- GlyrMemCache *special_size = NULL;
-+ GList * result_list = NULL;
-+ gchar * delim_beg = strstr (capo->cache->data,DELIM_BEG);
-+ gchar * delim_end = strstr (capo->cache->data,DELIM_END);
-+ GlyrMemCache * special_size = NULL;
-
-- if(delim_beg && delim_end) {
-- gchar *node = delim_beg;
-+ if (delim_beg && delim_end)
-+ {
-+ gchar * node = delim_beg;
- gsize nd_len = (sizeof NODE) - 1;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nd_len, NODE)) && node < delim_end) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nd_len, NODE) ) && node < delim_end)
-+ {
- node += nd_len;
-- if(check_size(capo->s, node) == TRUE) {
-- gchar *url = get_search_value(node, "src=\"", "\"");
-- if(url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ if (check_size (capo->s,node) == TRUE)
-+ {
-+ gchar * url = get_search_value (node,"src=\"","\"");
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = url;
-- result->size = strlen(url);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (url);
-+ result_list = g_list_prepend (result_list,result);
-
- /* A very cool hack. Thanks Bansheeproject! */
-- if(strstr(result->data, HACK_SIZE) != NULL) {
-+ if (strstr (result->data,HACK_SIZE) != NULL)
-+ {
- special_size = result;
- }
- }
-@@ -111,15 +122,16 @@ static GList *cover_rhapsody_parse(cb_object *capo)
- }
-
- /* Awesome hack continues.. */
-- if(special_size != NULL) {
-+ if (special_size != NULL)
-+ {
- /* Note: Prepend the large size at begin:
- * If only one item requested it will just
- * be thrown away (the small size)
- */
-- GlyrMemCache *result = DL_init();
-- result->data = strreplace(special_size->data, HACK_SIZE, HIGH_SIZE);
-- result->size = strlen(result->data);
-- result_list = g_list_prepend(result_list, result);
-+ GlyrMemCache * result = DL_init();
-+ result->data = strreplace (special_size->data,HACK_SIZE,HIGH_SIZE);
-+ result->size = strlen (result->data);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- return result_list;
-@@ -127,7 +139,8 @@ static GList *cover_rhapsody_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource cover_rhapsody_src = {
-+MetaDataSource cover_rhapsody_src =
-+{
- .name = "rhapsody",
- .key = 'r',
- .parser = cover_rhapsody_parse,
-diff --git a/lib/intern/cover/slothradio.c b/lib/intern/cover/slothradio.c
-index d888a0a..1f87668 100644
---- a/lib/intern/cover/slothradio.c
-+++ b/lib/intern/cover/slothradio.c
-@@ -33,12 +33,11 @@
-
- #define STREQ(s1,s2) (g_ascii_strcasecmp(s1,s2) == 0)
-
--static const char *cover_slothradio_url(GlyrQuery *s)
-+static const char * cover_slothradio_url (GlyrQuery * s)
- {
-- const char *locale = "us";
-- if(STREQ(s->lang, "uk") || STREQ(s->lang, "de")) {
-+ const char * locale = "us";
-+ if (STREQ (s->lang,"uk") || STREQ (s->lang,"de") )
- locale = s->lang;
-- }
-
- /*
- * Possible image sizes:
-@@ -48,81 +47,82 @@ static const char *cover_slothradio_url(GlyrQuery *s)
- * s = small (50 **2)
- **/
- char image_size = 'x';
-- if(s->img_max_size != -1) {
-- if(s->img_max_size < 75) {
-+ if (s->img_max_size != -1)
-+ {
-+ if (s->img_max_size < 75)
- image_size = 's';
-- } else if(s->img_max_size < 150) {
-+ else if (s->img_max_size < 150)
- image_size = 'm';
-- } else if(s->img_max_size < 350) {
-+ else if (s->img_max_size < 350)
- image_size = 'l';
-- }
- }
-
-- return g_strdup_printf(API_URL, s->artist, s->album, image_size, locale);
-+ return g_strdup_printf (API_URL,s->artist,s->album,image_size,locale);
- }
-
- ///////////////////////
-
--static bool check_size(GlyrQuery *q, char *node)
-+static bool check_size (GlyrQuery * q, char * node)
- {
- bool rc = false;
-- char *width = get_search_value(node, "width=\"", "\"");
-- char *height = get_search_value(node, "height=\"", "\"");
-+ char * width = get_search_value (node,"width=\"", "\"");
-+ char * height = get_search_value (node,"height=\"","\"");
-
-- if(width && height) {
-- int w = strtol(width, NULL, 10);
-- int h = strtol(height, NULL, 10);
-+ if (width && height)
-+ {
-+ int w = strtol (width, NULL,10);
-+ int h = strtol (height,NULL,10);
-
-- if(size_is_okay(w, q->img_min_size, q->img_max_size) &&
-- size_is_okay(h, q->img_min_size, q->img_max_size)) {
-+ if (size_is_okay (w,q->img_min_size,q->img_max_size) &&
-+ size_is_okay (h,q->img_min_size,q->img_max_size) )
- rc = true;
-- }
- }
-- g_free(width);
-- g_free(height);
-+ g_free (width);
-+ g_free (height);
-
- return rc;
- }
-
- ///////////////////////
-
--static GList *cover_slothradio_parse(cb_object *capo)
-+static GList * cover_slothradio_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- const char *bound_start = strstr(capo->cache->data, RESULT_LIST_START);
-- if(bound_start == NULL) {
-+ const char * bound_start = strstr (capo->cache->data,RESULT_LIST_START);
-+ if (bound_start == NULL)
- return NULL;
-- }
-
-- const char *bound_end = strstr(bound_start, RESULT_LIST_END);
-- if(bound_end == NULL) {
-+ const char * bound_end = strstr (bound_start,RESULT_LIST_END);
-+ if (bound_end == NULL)
- return NULL;
-- }
-
-- char *node = (char *) bound_start;
-- while((node = strstr(node + sizeof(RESULT_ITEM_START), RESULT_ITEM_START)) != NULL) {
-- if(node >= bound_end) {
-+ char * node = (char*) bound_start;
-+ while ( (node = strstr (node + sizeof (RESULT_ITEM_START),RESULT_ITEM_START) ) != NULL)
-+ {
-+ if (node >= bound_end)
- break;
-- }
-
-- char *url = get_search_value(node, "img src=\"", "\"");
-- if(url != NULL) {
-- if(check_size(capo->s, node)) {
-- GlyrMemCache *result = DL_init();
-- result->dsrc = g_strdup(capo->url);
-+ char * url = get_search_value (node,"img src=\"","\"");
-+ if (url != NULL)
-+ {
-+ if (check_size (capo->s,node) )
-+ {
-+ GlyrMemCache * result = DL_init();
-+ result->dsrc = g_strdup (capo->url);
- result->data = url;
-- result->size = strlen(url);
-+ result->size = strlen (url);
-
-- result_list = g_list_prepend(result_list, result);
-- } else {
-- g_free(url);
-+ result_list = g_list_prepend (result_list,result);
-+ }
-+ else
-+ {
-+ g_free (url);
- }
- }
-
-- if(continue_search(g_list_length(result_list), capo->s) == false) {
-+ if (continue_search (g_list_length (result_list),capo->s) == false)
- break;
-- }
- }
-
- return result_list;
-@@ -130,7 +130,8 @@ static GList *cover_slothradio_parse(cb_object *capo)
-
- ///////////////////////
-
--MetaDataSource cover_slothradio_src = {
-+MetaDataSource cover_slothradio_src =
-+{
- .name = "slothradio",
- .key = 's',
- .parser = cover_slothradio_parse,
-diff --git a/lib/intern/generic.c b/lib/intern/generic.c
-index f4de573..d8436ab 100644
---- a/lib/intern/generic.c
-+++ b/lib/intern/generic.c
-@@ -22,48 +22,59 @@
- #include "../core.h"
- #include "../stringlib.h"
-
--struct callback_save_struct {
-- GHashTable *table;
-+struct callback_save_struct
-+{
-+ GHashTable * table;
- GLYR_DATA_TYPE type;
-- GList *results;
-+ GList * results;
- };
-
- /////////////////////////////////
-
- /* Simple finalizer template sufficient for most */
--GList *generic_txt_finalizer(GlyrQuery *settings, GList *input_list, gboolean *stop_me, GLYR_DATA_TYPE type, GList **result_list)
-+GList * generic_txt_finalizer (GlyrQuery * settings, GList * input_list, gboolean * stop_me, GLYR_DATA_TYPE type, GList ** result_list)
- {
- gboolean add_to_list = TRUE;
-- GList *almost_copied = NULL;
-- for(GList *elem = input_list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(is_in_result_list(item, result_list[0]) == FALSE && add_to_list == TRUE) {
-+ GList * almost_copied = NULL;
-+ for (GList * elem = input_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (is_in_result_list (item,result_list[0]) == FALSE && add_to_list == TRUE)
-+ {
- /* Set to some default type */
-- if(item->type == GLYR_TYPE_UNKNOWN) {
-+ if (item->type == GLYR_TYPE_UNKNOWN)
-+ {
- item->type = type;
- }
-
- /* call user defined callback */
- GLYR_ERROR response = GLYRE_OK;
-- if(settings->callback.download) {
-+ if (settings->callback.download)
-+ {
- /* Call the usercallback */
-- response = settings->callback.download(item, settings);
-+ response = settings->callback.download (item,settings);
- }
-
-- if(response != GLYRE_SKIP && response != GLYRE_STOP_PRE) {
-- almost_copied = g_list_prepend(almost_copied, item);
-- } else {
-- DL_free(item);
-+ if (response != GLYRE_SKIP && response != GLYRE_STOP_PRE)
-+ {
-+ almost_copied = g_list_prepend (almost_copied,item);
-+ }
-+ else
-+ {
-+ DL_free (item);
- item = NULL;
- }
-
-- if(response == GLYRE_STOP_POST || response == GLYRE_STOP_PRE) {
-+ if (response == GLYRE_STOP_POST || response == GLYRE_STOP_PRE)
-+ {
- add_to_list = FALSE;
- *stop_me = TRUE;
- }
-- } else {
-+ }
-+ else
-+ {
- settings->itemctr--;
-- DL_free(item);
-+ DL_free (item);
- item = NULL;
- }
- }
-@@ -72,43 +83,54 @@ GList *generic_txt_finalizer(GlyrQuery *settings, GList *input_list, gboolean *s
-
- /////////////////////////////////
-
--static GList *async_dl_callback(cb_object *capo, void *userptr, bool *stop_download, gint *add_item)
-+static GList * async_dl_callback (cb_object * capo, void * userptr, bool * stop_download, gint * add_item)
- {
-- if(capo->cache != NULL && userptr != NULL) {
-+ if (capo->cache != NULL && userptr != NULL)
-+ {
- /* Sanitize this */
-- struct callback_save_struct *saver = userptr;
-- GHashTable *prov_url_table = saver->table;
-+ struct callback_save_struct * saver = userptr;
-+ GHashTable * prov_url_table = saver->table;
- capo->cache->is_image = true;
-
-- if(prov_url_table != NULL) {
-- GlyrMemCache *old_cache = g_hash_table_lookup(prov_url_table, capo->cache->dsrc);
-+ if (prov_url_table != NULL)
-+ {
-+ GlyrMemCache * old_cache = g_hash_table_lookup (prov_url_table,capo->cache->dsrc);
- GLYR_ERROR response = GLYRE_OK;
-- if(old_cache != NULL) {
-- update_md5sum(capo->cache);
-- if(is_in_result_list(capo->cache, saver->results) == FALSE) {
-- capo->cache->prov = (old_cache->prov != NULL) ? g_strdup(old_cache->prov) : NULL;
-- capo->cache->img_format = (old_cache->img_format) ? g_strdup(old_cache->img_format) : NULL;
--
-- if(capo->cache->type == GLYR_TYPE_UNKNOWN) {
-+ if (old_cache != NULL)
-+ {
-+ update_md5sum (capo->cache);
-+ if (is_in_result_list (capo->cache,saver->results) == FALSE)
-+ {
-+ capo->cache->prov = (old_cache->prov!=NULL) ? g_strdup (old_cache->prov) : NULL;
-+ capo->cache->img_format = (old_cache->img_format) ? g_strdup (old_cache->img_format) : NULL;
-+
-+ if (capo->cache->type == GLYR_TYPE_UNKNOWN)
-+ {
- capo->cache->type = saver->type;
- }
-
-- if(capo->s->callback.download != NULL) {
-- response = capo->s->callback.download(capo->cache, capo->s);
-+ if (capo->s->callback.download != NULL)
-+ {
-+ response = capo->s->callback.download (capo->cache,capo->s);
- }
-
- *add_item = (response != GLYRE_SKIP && response != GLYRE_STOP_PRE);
-- } else {
-+ }
-+ else
-+ {
- capo->s->itemctr--;
- *add_item = FALSE;
- }
- }
-
-- if(response == GLYRE_STOP_POST || response == GLYRE_STOP_PRE) {
-+ if (response == GLYRE_STOP_POST || response == GLYRE_STOP_PRE)
-+ {
- *stop_download = TRUE;
- }
-- } else {
-- glyr_message(-1, NULL, "glyr: Warn: Hashtable is empty im image_callback!\n");
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"glyr: Warn: Hashtable is empty im image_callback!\n");
- }
- }
- return NULL;
-@@ -116,58 +138,66 @@ static GList *async_dl_callback(cb_object *capo, void *userptr, bool *stop_downl
-
- /////////////////////////////////
-
--GList *generic_img_finalizer(GlyrQuery *s, GList *list, gboolean *stop_me, GLYR_DATA_TYPE type, GList **result_list)
-+GList * generic_img_finalizer (GlyrQuery * s, GList * list, gboolean * stop_me, GLYR_DATA_TYPE type, GList ** result_list)
- {
- /* Just return URLs */
-- if(s->download == false) {
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *img = elem->data;
-+ if (s->download == false)
-+ {
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * img = elem->data;
- img->is_image = false;
- }
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_IMG_URL, result_list);
-- } else {
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_IMG_URL,result_list);
-+ }
-+ else
-+ {
- /* Convert to a list of URLs first */
-- GList *url_list = NULL;
-+ GList * url_list = NULL;
-
- /* Hashtable to associate the provider name with the corresponding URL */
-- GHashTable *cache_url_table = g_hash_table_new_full(g_str_hash, g_str_equal,
-- NULL,
-- (GDestroyNotify) DL_free
-- );
-+ GHashTable * cache_url_table = g_hash_table_new_full (g_str_hash,g_str_equal,
-+ NULL,
-+ (GDestroyNotify) DL_free
-+ );
-
- /* Iterate over all caches and turn them to GList */
-- for(GList *item = list; item; item = item->next) {
-- GlyrMemCache *cache = item->data;
-+ for (GList * item = list; item; item = item->next)
-+ {
-+ GlyrMemCache * cache = item->data;
-
- /* Make a copy, since we free the cache */
-- gchar *url_double = g_strdup(cache->data);
-- url_list = g_list_prepend(url_list, url_double);
-+ gchar * url_double = g_strdup (cache->data);
-+ url_list = g_list_prepend (url_list,url_double);
-
- /* Fill in the URL */
-- g_hash_table_insert(cache_url_table, (gpointer) url_double, (gpointer) cache);
-+ g_hash_table_insert (cache_url_table, (gpointer) url_double, (gpointer) cache);
- }
-
- /* We need to pass this to the callback */
-- struct callback_save_struct userptr = {
-+ struct callback_save_struct userptr =
-+ {
- .table = cache_url_table,
- .type = type,
- .results = result_list ? result_list[0] : NULL
- };
-
- /* Download images in parallel */
-- GList *dl_raw_images = async_download(url_list, NULL, s, 1, (g_list_length(url_list) / 2), async_dl_callback, &userptr, FALSE);
-+ GList * dl_raw_images = async_download (url_list,NULL,s,1, (g_list_length (url_list) /2),async_dl_callback,&userptr,FALSE);
-
- /* Default to the given type */
-- for(GList *elem = dl_raw_images; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item && item->type == GLYR_TYPE_UNKNOWN) {
-+ for (GList * elem = dl_raw_images; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item && item->type == GLYR_TYPE_UNKNOWN)
-+ {
- item->type = type;
- }
- }
-
- /* Freeing Party */
-- g_hash_table_destroy(cache_url_table);
-- glist_free_full(url_list, g_free);
-+ g_hash_table_destroy (cache_url_table);
-+ glist_free_full (url_list,g_free);
-
- /* Ready to save images */
- return dl_raw_images;
-diff --git a/lib/intern/guitartabs.c b/lib/intern/guitartabs.c
-index acd2bb1..41c4a87 100644
---- a/lib/intern/guitartabs.c
-+++ b/lib/intern/guitartabs.c
-@@ -24,27 +24,30 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
- /* Fix up tabs, escape chars etc. */
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- gchar *temp = beautify_string(item->data);
-- g_free(item->data);
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ gchar * temp = beautify_string (item->data);
-+ g_free (item->data);
- item->data = temp;
-- item->size = (item->data) ? strlen(item->data) : 0;
-+ item->size = (item->data) ? strlen (item->data) : 0;
- }
- }
-
- /* Let the rest do by the norma generic finalizer */
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_GUITARTABS, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_GUITARTABS,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_guitartabs = {
-+MetaDataFetcher glyrFetcher_guitartabs =
-+{
- .name = "guitartabs",
- .type = GLYR_GET_GUITARTABS,
- .default_data_type = GLYR_TYPE_GUITARTABS,
-diff --git a/lib/intern/guitartabs/chordie_com.c b/lib/intern/guitartabs/chordie_com.c
-index 318a8bc..fdbffab 100644
---- a/lib/intern/guitartabs/chordie_com.c
-+++ b/lib/intern/guitartabs/chordie_com.c
-@@ -27,29 +27,32 @@
- #define RESULTS_ENDIN "<!--results end-->"
- #define NODE "<a class=\"darkblue\" href=\""
-
--static const gchar *guitartabs_chordie_url(GlyrQuery *s)
-+static const gchar * guitartabs_chordie_url (GlyrQuery * s)
- {
- return SEARCH_URL;
- }
-
- /////////////////////////////////
-
--static gboolean check_title_value(GlyrQuery *s, const gchar *to_check)
-+static gboolean check_title_value (GlyrQuery * s, const gchar * to_check)
- {
- gboolean result = FALSE;
-- if(to_check != NULL) {
-- gchar *artist = g_strrstr(to_check, "(");
-- if(artist != NULL) {
-+ if (to_check != NULL)
-+ {
-+ gchar * artist = g_strrstr (to_check,"(");
-+ if (artist != NULL)
-+ {
- artist[0] = 0;
- artist++;
-
-- gchar *end_bracket = strchr(artist, ')');
-- if(end_bracket) {
-+ gchar * end_bracket = strchr (artist,')');
-+ if (end_bracket)
-+ {
- end_bracket[0] = 0;
- }
-
-- result = (levenshtein_strnormcmp(s, artist, s->artist) <= s->fuzzyness &&
-- levenshtein_strnormcmp(s, to_check, s->title) <= s->fuzzyness);
-+ result = (levenshtein_strnormcmp (s,artist,s->artist) <= s->fuzzyness &&
-+ levenshtein_strnormcmp (s,to_check,s->title) <= s->fuzzyness);
- }
- }
- return result;
-@@ -57,20 +60,23 @@ static gboolean check_title_value(GlyrQuery *s, const gchar *to_check)
-
- /////////////////////////////////
-
--static GlyrMemCache *parse_result_page(GlyrQuery *s, gchar *content_url)
-+static GlyrMemCache * parse_result_page (GlyrQuery * s, gchar * content_url)
- {
-- GlyrMemCache *result = NULL;
-- if(content_url != NULL) {
-- GlyrMemCache *dl_cache = download_single(content_url, s, NULL);
-- if(dl_cache != NULL) {
-- gchar *content = get_search_value(dl_cache->data, "<div class=\"song\">", "</div>");
-- if(content != NULL) {
-+ GlyrMemCache * result = NULL;
-+ if (content_url != NULL)
-+ {
-+ GlyrMemCache * dl_cache = download_single (content_url,s,NULL);
-+ if (dl_cache != NULL)
-+ {
-+ gchar * content = get_search_value (dl_cache->data,"<div class=\"song\">","</div>");
-+ if (content != NULL)
-+ {
- result = DL_init();
- result->data = content;
-- result->size = strlen(content);
-- result->dsrc = g_strdup(content_url);
-+ result->size = strlen (content);
-+ result->dsrc = g_strdup (content_url);
- }
-- DL_free(dl_cache);
-+ DL_free (dl_cache);
- }
- }
- return result;
-@@ -79,29 +85,35 @@ static GlyrMemCache *parse_result_page(GlyrQuery *s, gchar *content_url)
-
- /////////////////////////////////
-
--static GList *guitartabs_chordie_parse(cb_object *capo)
-+static GList * guitartabs_chordie_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *search_begin = strstr(capo->cache->data, RESULTS_BEGIN);
-- if(search_begin != NULL) {
-- gchar *search_ending = strstr(search_begin, RESULTS_ENDIN);
-- if(search_ending != NULL) {
-- gchar *node = search_begin;
-+ GList * result_list = NULL;
-+ gchar * search_begin = strstr (capo->cache->data,RESULTS_BEGIN);
-+ if (search_begin != NULL)
-+ {
-+ gchar * search_ending = strstr (search_begin,RESULTS_ENDIN);
-+ if (search_ending != NULL)
-+ {
-+ gchar * node = search_begin;
- gsize nodelen = (sizeof NODE) - 1;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nodelen, NODE)) != NULL && node >= search_begin && node <= search_ending) {
-- gchar *url = get_search_value(node, NODE, "\" ");
-- if(url != NULL) {
-- gchar *name_value = get_search_value(node, "\">", "</a>");
-- if(check_title_value(capo->s, name_value) == TRUE) {
-- gchar *content_url = g_strdup_printf("%s%s", BASE_URL, url);
-- GlyrMemCache *result = parse_result_page(capo->s, content_url);
-- if(result != NULL) {
-- result_list = g_list_prepend(result_list, result);
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nodelen, NODE) ) != NULL && node >= search_begin && node <= search_ending)
-+ {
-+ gchar * url = get_search_value (node,NODE,"\" ");
-+ if (url != NULL)
-+ {
-+ gchar * name_value = get_search_value (node,"\">","</a>");
-+ if (check_title_value (capo->s, name_value) == TRUE)
-+ {
-+ gchar * content_url = g_strdup_printf ("%s%s",BASE_URL,url);
-+ GlyrMemCache * result = parse_result_page (capo->s,content_url);
-+ if (result != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result);
- }
-- g_free(content_url);
-+ g_free (content_url);
- }
-- g_free(name_value);
-- g_free(url);
-+ g_free (name_value);
-+ g_free (url);
- }
- }
- }
-@@ -111,7 +123,8 @@ static GList *guitartabs_chordie_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource guitartabs_chordie_src = {
-+MetaDataSource guitartabs_chordie_src =
-+{
- .name = "chordie",
- .key = 'c',
- .parser = guitartabs_chordie_parse,
-diff --git a/lib/intern/guitartabs/guitaretab.c b/lib/intern/guitartabs/guitaretab.c
-index f7793bc..9e817d4 100644
---- a/lib/intern/guitartabs/guitaretab.c
-+++ b/lib/intern/guitartabs/guitaretab.c
-@@ -25,26 +25,28 @@
-
- /////////////////////////////////
-
--static const gchar *gt_guitaretabs_url(GlyrQuery *settings)
-+static const gchar * gt_guitaretabs_url (GlyrQuery * settings)
- {
- return GT_URL;
- }
-
- /////////////////////////////////
-
--static GlyrMemCache *parse_single_page(GlyrQuery *s, const gchar *url)
-+static GlyrMemCache * parse_single_page (GlyrQuery * s, const gchar * url)
- {
-- GlyrMemCache *result = NULL;
-- GlyrMemCache *tab_cache = download_single(url, s, NULL);
-- if(tab_cache != NULL) {
-- gchar *content = get_search_value(tab_cache->data, "<pre>", "</pre>");
-- if(content != NULL) {
-+ GlyrMemCache * result = NULL;
-+ GlyrMemCache * tab_cache = download_single (url,s,NULL);
-+ if (tab_cache != NULL)
-+ {
-+ gchar * content = get_search_value (tab_cache->data,"<pre>","</pre>");
-+ if (content != NULL)
-+ {
- result = DL_init();
- result->data = content;
-- result->size = strlen(content);
-- result->dsrc = g_strdup(url);
-+ result->size = strlen (content);
-+ result->dsrc = g_strdup (url);
- }
-- DL_free(tab_cache);
-+ DL_free (tab_cache);
- }
- return result;
- }
-@@ -62,53 +64,62 @@ static GlyrMemCache *parse_single_page(GlyrQuery *s, const gchar *url)
- #define TITLE_BEGIN "\">"
- #define TITLE_ENDIN "</a></li>"
-
--static GList *gt_guitaretabs_parse(cb_object *capo)
-+static GList * gt_guitaretabs_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *begin_search = strstr(capo->cache->data, SEARCH_RESULTS_BEGIN);
-- if(begin_search != NULL) {
-+ GList * result_list = NULL;
-+ gchar * begin_search = strstr (capo->cache->data,SEARCH_RESULTS_BEGIN);
-+ if (begin_search != NULL)
-+ {
- /* End need to assure we don't get over the search results */
-- gchar *endin_search = strstr(begin_search, SEARCH_RESULTS_ENDIN);
-- if(endin_search != NULL) {
-+ gchar * endin_search = strstr (begin_search,SEARCH_RESULTS_ENDIN);
-+ if (endin_search != NULL)
-+ {
- /* Go through all search results */
-- gchar *node = begin_search;
-+ gchar * node = begin_search;
- gsize nodelen = (sizeof SEARCH_NODE) - 1;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nodelen, SEARCH_NODE)) != NULL && node <= endin_search) {
-- gchar *artist = get_search_value(node, ARTIST_BEGIN, ARTIST_END);
-- node = strstr(node + nodelen, SEARCH_NODE);
-- if(node != NULL) {
-- gchar *url = get_search_value(node, SEARCH_NODE, URL_END);
-- gchar *title = get_search_value(node, TITLE_BEGIN, TITLE_ENDIN);
--
-- if(title != NULL) {
-- gchar *delim = g_strrstr(title, " chords");
-- if(delim == NULL) {
-- delim = g_strrstr(title, " tab");
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nodelen, SEARCH_NODE) ) != NULL && node <= endin_search)
-+ {
-+ gchar * artist = get_search_value (node,ARTIST_BEGIN,ARTIST_END);
-+ node = strstr (node + nodelen, SEARCH_NODE);
-+ if (node != NULL)
-+ {
-+ gchar * url = get_search_value (node,SEARCH_NODE,URL_END);
-+ gchar * title = get_search_value (node,TITLE_BEGIN,TITLE_ENDIN);
-+
-+ if (title != NULL)
-+ {
-+ gchar * delim = g_strrstr (title," chords");
-+ if (delim == NULL)
-+ {
-+ delim = g_strrstr (title," tab");
- }
-
-- if(delim != NULL) {
-+ if (delim != NULL)
-+ {
- delim[0] = 0;
- }
- }
-
- /* Check if this is the item we actually search */
-- if(levenshtein_strnormcmp(capo->s, title, capo->s->title) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, artist, capo->s->artist) <= capo->s->fuzzyness) {
-+ if (levenshtein_strnormcmp (capo->s,title, capo->s->title ) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s,artist,capo->s->artist) <= capo->s->fuzzyness)
-+ {
- /* Build resulting url */
-- gchar *result_url = g_strdup_printf("%s%s", GT_BASE, url);
-+ gchar * result_url = g_strdup_printf ("%s%s",GT_BASE,url);
-
- /* Go and parse it */
-- GlyrMemCache *result = parse_single_page(capo->s, result_url);
-- if(result != NULL) {
-- result_list = g_list_prepend(result_list, result);
-+ GlyrMemCache * result = parse_single_page (capo->s,result_url);
-+ if (result != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result);
- }
-- g_free(result_url);
-+ g_free (result_url);
- }
-- g_free(url);
-- g_free(title);
-+ g_free (url);
-+ g_free (title);
-
- }
-- g_free(artist);
-+ g_free (artist);
- }
- }
- }
-@@ -117,7 +128,8 @@ static GList *gt_guitaretabs_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource guitartabs_guitaretab_src = {
-+MetaDataSource guitartabs_guitaretab_src =
-+{
- .name = "guitaretab",
- .key = 'g',
- .parser = gt_guitaretabs_parse,
-diff --git a/lib/intern/lyrics.c b/lib/intern/lyrics.c
-index ef7d93f..7e84058 100644
---- a/lib/intern/lyrics.c
-+++ b/lib/intern/lyrics.c
-@@ -24,27 +24,30 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
- /* Fix up lyrics, escape chars etc. */
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- gchar *temp = beautify_string(item->data);
-- g_free(item->data);
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ gchar * temp = beautify_string (item->data);
-+ g_free (item->data);
- item->data = temp;
-- item->size = (item->data) ? strlen(item->data) : 0;
-+ item->size = (item->data) ? strlen (item->data) : 0;
- }
- }
-
- /* Let the rest do by the norma generic finalizer */
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_LYRICS, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_LYRICS,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_lyrics = {
-+MetaDataFetcher glyrFetcher_lyrics =
-+{
- .name = "lyrics",
- .type = GLYR_GET_LYRICS,
- .default_data_type = GLYR_TYPE_LYRICS,
-diff --git a/lib/intern/lyrics/chartlyrics.c b/lib/intern/lyrics/chartlyrics.c
-index 6c9d82a..088fe5a 100644
---- a/lib/intern/lyrics/chartlyrics.c
-+++ b/lib/intern/lyrics/chartlyrics.c
-@@ -25,7 +25,7 @@
-
- /////////////////////////////////
-
--static const gchar *lyrics_chartlyrics_url(GlyrQuery *s)
-+static const gchar * lyrics_chartlyrics_url (GlyrQuery * s)
- {
- return CL_API_URL;
- }
-@@ -35,19 +35,21 @@ static const gchar *lyrics_chartlyrics_url(GlyrQuery *s)
- #define LYRIC_TEXT_BEG "<Lyric>"
- #define LYRIC_TEXT_END "</Lyric>"
-
--static GlyrMemCache *get_lyrics_from_results(GlyrQuery *s, const gchar *url)
-+static GlyrMemCache * get_lyrics_from_results (GlyrQuery * s, const gchar * url)
- {
-- GlyrMemCache *result = NULL;
-- GlyrMemCache *dl_cache = download_single(url, s, NULL);
-- if(dl_cache != NULL) {
-- gchar *text = get_search_value(dl_cache->data, LYRIC_TEXT_BEG, LYRIC_TEXT_END);
-- if(text != NULL) {
-+ GlyrMemCache * result = NULL;
-+ GlyrMemCache * dl_cache = download_single (url,s,NULL);
-+ if (dl_cache != NULL)
-+ {
-+ gchar * text = get_search_value (dl_cache->data,LYRIC_TEXT_BEG,LYRIC_TEXT_END);
-+ if (text != NULL)
-+ {
- result = DL_init();
- result->data = text;
-- result->size = strlen(text);
-- result->dsrc = g_strdup(url);
-+ result->size = strlen (text);
-+ result->dsrc = g_strdup (url);
- }
-- DL_free(dl_cache);
-+ DL_free (dl_cache);
- }
- return result;
- }
-@@ -68,34 +70,38 @@ static GlyrMemCache *get_lyrics_from_results(GlyrQuery *s, const gchar *url)
- #define LYRIC_ID_BEG "<LyricId>"
- #define LYRIC_ID_END "</LyricId>"
-
--static GList *lyrics_chartlyrics_parse(cb_object *capo)
-+static GList * lyrics_chartlyrics_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *node = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * node = capo->cache->data;
- gint nodelen = (sizeof LYRIC_NODE) - 1;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nodelen, LYRIC_NODE)) != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nodelen, LYRIC_NODE) ) != NULL)
-+ {
- node += nodelen;
-- gchar *artist = get_search_value(node, ARTIST_BEG, ARTIST_END);
-- gchar *title = get_search_value(node, SONG_BEG, SONG_END);
--
-- if(levenshtein_strnormcmp(capo->s, artist, capo->s->artist) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, title, capo->s->title) <= capo->s->fuzzyness) {
-- gchar *lyric_id = get_search_value(node, LYRIC_ID_BEG, LYRIC_ID_END);
-- gchar *lyric_checksum = get_search_value(node, LYRIC_CHECKSUM_BEG, LYRIC_CHECKSUM_END);
-- if(lyric_id && lyric_checksum && strcmp(lyric_id, "0") != 0) {
-- gchar *content_url = g_strdup_printf(CL_API_GET, lyric_id, lyric_checksum);
-- GlyrMemCache *result = get_lyrics_from_results(capo->s, content_url);
-- if(result != NULL) {
-- result_list = g_list_prepend(result_list, result);
-+ gchar * artist = get_search_value (node,ARTIST_BEG,ARTIST_END);
-+ gchar * title = get_search_value (node,SONG_BEG,SONG_END);
-+
-+ if (levenshtein_strnormcmp (capo->s,artist,capo->s->artist) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s,title,capo->s->title) <= capo->s->fuzzyness)
-+ {
-+ gchar * lyric_id = get_search_value (node,LYRIC_ID_BEG,LYRIC_ID_END);
-+ gchar * lyric_checksum = get_search_value (node,LYRIC_CHECKSUM_BEG,LYRIC_CHECKSUM_END);
-+ if (lyric_id && lyric_checksum && strcmp (lyric_id,"0") != 0)
-+ {
-+ gchar * content_url = g_strdup_printf (CL_API_GET,lyric_id,lyric_checksum);
-+ GlyrMemCache * result = get_lyrics_from_results (capo->s,content_url);
-+ if (result != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result);
- }
-- g_free(content_url);
-+ g_free (content_url);
- }
-- g_free(lyric_id);
-- g_free(lyric_checksum);
-+ g_free (lyric_id);
-+ g_free (lyric_checksum);
- }
-- g_free(artist);
-- g_free(title);
-+ g_free (artist);
-+ g_free (title);
- }
- return result_list;
- }
-@@ -103,7 +109,8 @@ static GList *lyrics_chartlyrics_parse(cb_object *capo)
- /////////////////////////////////
-
-
--MetaDataSource lyrics_chartlyrics_src = {
-+MetaDataSource lyrics_chartlyrics_src =
-+{
- .name = "chartlyrics",
- .key = 'c',
- .parser = lyrics_chartlyrics_parse,
-diff --git a/lib/intern/lyrics/elyrics.c b/lib/intern/lyrics/elyrics.c
-index bfb36cb..b529e85 100644
---- a/lib/intern/lyrics/elyrics.c
-+++ b/lib/intern/lyrics/elyrics.c
-@@ -23,34 +23,34 @@
- /* Simple URL replace scheme - works pretty good here */
- #define ELYRICS_BASE_URL "http://www.elyrics.net/read/%c/%s-lyrics/%s-lyrics.html"
-
--static const gchar *lyrics_elyrics_url(GlyrQuery *settings)
-+static const gchar * lyrics_elyrics_url (GlyrQuery * settings)
- {
-- gchar *result_url = NULL;
--
-- gchar *space_to_min_artist = strreplace(settings->artist, " ", "-");
-- gchar *space_to_min_title = strreplace(settings->title, " ", "-");
-- if(space_to_min_artist && space_to_min_title) {
-- gchar *prep_title = NULL, * prep_artist = NULL;
-- if(settings->normalization & GLYR_NORMALIZE_ARTIST) {
-- prep_title = prepare_string(space_to_min_title, settings->normalization, TRUE);
-- } else {
-- prep_title = prepare_string(space_to_min_title, GLYR_NORMALIZE_NONE, TRUE);
-+ gchar * result_url = NULL;
-+
-+ gchar * space_to_min_artist = strreplace (settings->artist," ","-");
-+ gchar * space_to_min_title = strreplace (settings->title, " ","-");
-+ if (space_to_min_artist && space_to_min_title)
-+ {
-+ gchar * prep_title = NULL, * prep_artist = NULL;
-+ if (settings->normalization & GLYR_NORMALIZE_ARTIST)
-+ prep_title = prepare_string (space_to_min_title, settings->normalization,TRUE);
-+ else
-+ prep_title = prepare_string (space_to_min_title, GLYR_NORMALIZE_NONE,TRUE);
-+
-+ if (settings->normalization & GLYR_NORMALIZE_ARTIST)
-+ prep_artist = prepare_string (space_to_min_artist, settings->normalization,TRUE);
-+ else
-+ prep_artist = prepare_string (space_to_min_artist, GLYR_NORMALIZE_NONE,TRUE);
-+
-+ if (prep_title && prep_artist)
-+ {
-+ result_url = g_strdup_printf (ELYRICS_BASE_URL,prep_artist[0],prep_artist,prep_title);
-+ g_free (prep_title);
-+ g_free (prep_artist);
- }
-
-- if(settings->normalization & GLYR_NORMALIZE_ARTIST) {
-- prep_artist = prepare_string(space_to_min_artist, settings->normalization, TRUE);
-- } else {
-- prep_artist = prepare_string(space_to_min_artist, GLYR_NORMALIZE_NONE, TRUE);
-- }
--
-- if(prep_title && prep_artist) {
-- result_url = g_strdup_printf(ELYRICS_BASE_URL, prep_artist[0], prep_artist, prep_title);
-- g_free(prep_title);
-- g_free(prep_artist);
-- }
--
-- g_free(space_to_min_artist);
-- g_free(space_to_min_title);
-+ g_free (space_to_min_artist);
-+ g_free (space_to_min_title);
- }
- return result_url;
- }
-@@ -63,20 +63,24 @@ static const gchar *lyrics_elyrics_url(GlyrQuery *settings)
- #define BAD_STRING "Lyrics removed for copyright protection!"
-
- /* This data is separated from the actual lyrics => remove it from here */
--static void remove_from_from_string(gchar *string)
-+static void remove_from_from_string (gchar * string)
- {
-- gchar *from_middle = strstr(string, FROM_MIDDLE);
-- if(from_middle != NULL) {
-- gchar *from_end = strstr(from_middle, FROM_END);
-- if(from_end != NULL) {
-- gchar *from_start = from_middle;
-- while(from_start[0] && from_start[0] != '>') {
-+ gchar * from_middle = strstr (string,FROM_MIDDLE);
-+ if (from_middle != NULL)
-+ {
-+ gchar * from_end = strstr (from_middle,FROM_END);
-+ if (from_end != NULL)
-+ {
-+ gchar * from_start = from_middle;
-+ while (from_start[0] && from_start[0] != '>')
-+ {
- from_start--;
- }
-
-- if(from_start != NULL) {
-+ if (from_start != NULL)
-+ {
- gsize memlen = from_end - from_start;
-- memset(from_start, ' ', memlen);
-+ memset (from_start,' ',memlen);
- }
- }
- }
-@@ -88,28 +92,32 @@ static void remove_from_from_string(gchar *string)
- #define LYRICS_ALT_END "these lyrics are submitted by"
- #define LYRICS_END "</div>"
-
--static GList *lyrics_elyrics_parse(cb_object *capo)
-+static GList * lyrics_elyrics_parse (cb_object * capo)
- {
-- GList *results = NULL;
-- gchar *lyrics_begin = strstr(capo->cache->data, LYRICS_BEGIN);
-- if(lyrics_begin != NULL) {
-- if(g_strstr_len(lyrics_begin, 250, BAD_STRING) == NULL) {
-- gchar *lyrics_end = strstr(lyrics_begin, LYRICS_ALT_END);
-- if(lyrics_end == NULL) {
-- lyrics_end = strstr(lyrics_begin, LYRICS_END);
-+ GList * results = NULL;
-+ gchar * lyrics_begin = strstr (capo->cache->data,LYRICS_BEGIN);
-+ if (lyrics_begin != NULL)
-+ {
-+ if (g_strstr_len (lyrics_begin,250,BAD_STRING) == NULL)
-+ {
-+ gchar * lyrics_end = strstr (lyrics_begin,LYRICS_ALT_END);
-+ if (lyrics_end == NULL)
-+ {
-+ lyrics_end = strstr (lyrics_begin,LYRICS_END);
- }
-
-- if(lyrics_end != NULL) {
-+ if (lyrics_end != NULL)
-+ {
- /* Modifying original buffer is allowed
- * As long it's not saved in the result cache
- * */
- lyrics_end[0] = '\0';
-
-- GlyrMemCache *item = DL_init();
-- remove_from_from_string(lyrics_begin);
-- item->data = g_strdup(lyrics_begin);
-+ GlyrMemCache * item = DL_init();
-+ remove_from_from_string (lyrics_begin);
-+ item->data = g_strdup (lyrics_begin);
- item->size = lyrics_end - lyrics_begin;
-- results = g_list_prepend(results, item);
-+ results = g_list_prepend (results,item);
- }
- }
- }
-@@ -118,7 +126,8 @@ static GList *lyrics_elyrics_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_elyrics_src = {
-+MetaDataSource lyrics_elyrics_src =
-+{
- .name = "elyrics",
- .key = 'e',
- .encoding = "LATIN1",
-diff --git a/lib/intern/lyrics/lipwalk.c b/lib/intern/lyrics/lipwalk.c
-index 852b634..4ea754b 100644
---- a/lib/intern/lyrics/lipwalk.c
-+++ b/lib/intern/lyrics/lipwalk.c
-@@ -32,31 +32,35 @@
-
- #define IS_ON_SEARCH_PAGE "<title>Search results for"
-
--static const gchar *lyrics_lipwalk_url(GlyrQuery *settings)
-+static const gchar * lyrics_lipwalk_url (GlyrQuery * settings)
- {
- return LIPWALK_URL;
- }
-
- /////////////////////////////////
-
--static GlyrMemCache *parse_lyrics_page(GlyrMemCache *cache)
-+static GlyrMemCache * parse_lyrics_page (GlyrMemCache * cache)
- {
-- gchar *start = NULL;
-- gchar *end = NULL;
-- gchar *content = NULL;
-+ gchar * start = NULL;
-+ gchar * end = NULL;
-+ gchar * content = NULL;
-
-- GlyrMemCache *result_cache = NULL;
-- if(cache && (start = strstr(cache->data, START)) != NULL) {
-+ GlyrMemCache * result_cache = NULL;
-+ if (cache && (start = strstr (cache->data,START) ) != NULL)
-+ {
- start += (sizeof START) - 1;
-- if(start && (end = strstr(start + (sizeof START) , END)) != NULL) {
-- if(ABS(end - start) > 35) {
-+ if (start && (end = strstr (start + (sizeof START) ,END) ) != NULL)
-+ {
-+ if (ABS (end-start) > 35)
-+ {
- * (end) = 0;
-- content = strreplace(start, "<br />", NULL);
-- if(content != NULL) {
-+ content = strreplace (start,"<br />",NULL);
-+ if (content != NULL)
-+ {
- result_cache = DL_init();
- result_cache->data = content;
-- result_cache->size = strlen(content);
-- result_cache->dsrc = g_strdup(cache->dsrc);
-+ result_cache->size = strlen (content);
-+ result_cache->dsrc = g_strdup (cache->dsrc);
- }
- }
- }
-@@ -66,19 +70,23 @@ static GlyrMemCache *parse_lyrics_page(GlyrMemCache *cache)
-
- /////////////////////////////////
-
--static gboolean validate_track_description(GlyrQuery *query, gchar *description)
-+static gboolean validate_track_description (GlyrQuery * query, gchar * description)
- {
- gboolean result = FALSE;
-- if(description != NULL) {
-- gchar **splitv = g_strsplit(description, " - ", 0);
-- if(splitv != NULL) {
-- if(splitv[0] && splitv[1] != NULL) {
-- if(levenshtein_strnormcmp(query, query->artist, splitv[0]) <= query->fuzzyness
-- && levenshtein_strnormcmp(query, query->title, splitv[1]) <= query->fuzzyness) {
-+ if (description != NULL)
-+ {
-+ gchar ** splitv = g_strsplit (description," - ",0);
-+ if (splitv != NULL)
-+ {
-+ if (splitv[0] && splitv[1] != NULL)
-+ {
-+ if (levenshtein_strnormcmp (query,query->artist,splitv[0]) <= query->fuzzyness
-+ && levenshtein_strnormcmp (query,query->title, splitv[1]) <= query->fuzzyness)
-+ {
- result = TRUE;
- }
- }
-- g_strfreev(splitv);
-+ g_strfreev (splitv);
- }
- }
- return result;
-@@ -86,38 +94,47 @@ static gboolean validate_track_description(GlyrQuery *query, gchar *description)
-
- /////////////////////////////////
-
--static GList *lyrics_lipwalk_parse(cb_object *capo)
-+static GList * lyrics_lipwalk_parse (cb_object *capo)
- {
-- GList *result_list = NULL;
-- if(strstr(capo->cache->data, IS_ON_SEARCH_PAGE) == NULL) {
-- GlyrMemCache *result_cache = parse_lyrics_page(capo->cache);
-- result_list = g_list_prepend(result_list, result_cache);
-- } else { /* Oops, we're on the search results page, things are complicated now */
-+ GList * result_list = NULL;
-+ if (strstr (capo->cache->data,IS_ON_SEARCH_PAGE) == NULL)
-+ {
-+ GlyrMemCache * result_cache = parse_lyrics_page (capo->cache);
-+ result_list = g_list_prepend (result_list,result_cache);
-+ }
-+ else /* Oops, we're on the search results page, things are complicated now */
-+ {
- /* Happens with "In Flames" - "Trigger" e.g. */
-- gchar *search_node = capo->cache->data;
-+ gchar * search_node = capo->cache->data;
- gsize track_len = (sizeof TRACK_BEGIN) - 1;
-- while(continue_search(g_list_length(result_list), capo->s) && (search_node = strstr(search_node + track_len, TRACK_BEGIN))) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (search_node = strstr (search_node + track_len,TRACK_BEGIN) ) )
-+ {
- search_node += track_len;
-- gchar *track_end = strstr(search_node, TRACK_ENDIN);
-- if(track_end != NULL) {
-- gchar *lyrics_url = copy_value(search_node, track_end);
-- if(lyrics_url != NULL) {
-+ gchar * track_end = strstr (search_node,TRACK_ENDIN);
-+ if (track_end != NULL)
-+ {
-+ gchar * lyrics_url = copy_value (search_node,track_end);
-+ if (lyrics_url != NULL)
-+ {
- track_end += (sizeof TRACK_ENDIN) - 1;
-- gchar *track_descr = copy_value(track_end, strstr(track_end, TRACK_DESCR));
-- if(track_descr != NULL && validate_track_description(capo->s, track_descr) == TRUE) {
-- gchar *full_url = g_strdup_printf("%s%s", LIPWALK_DOMAIN, lyrics_url);
-- GlyrMemCache *lyrics_page = download_single(full_url, capo->s, NULL);
-- if(lyrics_page != NULL) {
-- GlyrMemCache *result_cache = parse_lyrics_page(lyrics_page);
-- if(result_cache != NULL) {
-- result_list = g_list_prepend(result_list, result_cache);
-+ gchar * track_descr = copy_value (track_end,strstr (track_end,TRACK_DESCR) );
-+ if (track_descr != NULL && validate_track_description (capo->s,track_descr) == TRUE)
-+ {
-+ gchar * full_url = g_strdup_printf ("%s%s",LIPWALK_DOMAIN,lyrics_url);
-+ GlyrMemCache * lyrics_page = download_single (full_url,capo->s,NULL);
-+ if (lyrics_page != NULL)
-+ {
-+ GlyrMemCache * result_cache = parse_lyrics_page (lyrics_page);
-+ if (result_cache != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result_cache);
- }
-- DL_free(lyrics_page);
-+ DL_free (lyrics_page);
- }
-- g_free(track_descr);
-- g_free(full_url);
-+ g_free (track_descr);
-+ g_free (full_url);
- }
-- g_free(lyrics_url);
-+ g_free (lyrics_url);
- }
- }
- }
-@@ -127,7 +144,8 @@ static GList *lyrics_lipwalk_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lipwalk_src = {
-+MetaDataSource lyrics_lipwalk_src =
-+{
- .name = "lipwalk",
- .key = 'z',
- .parser = lyrics_lipwalk_parse,
-diff --git a/lib/intern/lyrics/lyrdb.c b/lib/intern/lyrics/lyrdb.c
-index cb5a719..08514a6 100644
---- a/lib/intern/lyrics/lyrdb.c
-+++ b/lib/intern/lyrics/lyrdb.c
-@@ -24,48 +24,54 @@
-
- /////////////////////////////////
-
--static const char *lyrics_lyrdb_url(GlyrQuery *settings)
-+static const char * lyrics_lyrdb_url (GlyrQuery * settings)
- {
- return LYRDB_URL;
- }
-
- /////////////////////////////////
-
--static GList *lyrics_lyrdb_parse(cb_object *capo)
-+static GList * lyrics_lyrdb_parse (cb_object * capo)
- {
- gchar *slash = NULL;
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- if((slash = strchr(capo->cache->data, '\\')) != NULL) {
-- gchar *uID = copy_value(capo->cache->data, slash);
-- if(uID != NULL) {
-- gchar *lyr_url = g_strdup_printf("http://webservices.lyrdb.com/getlyr.php?q=%s", uID);
-- if(lyr_url != NULL) {
-- GlyrMemCache *new_cache = download_single(lyr_url, capo->s, NULL);
-- if(new_cache != NULL) {
-+ if ( (slash = strchr (capo->cache->data,'\\') ) != NULL)
-+ {
-+ gchar * uID = copy_value (capo->cache->data,slash);
-+ if (uID != NULL)
-+ {
-+ gchar * lyr_url = g_strdup_printf ("http://webservices.lyrdb.com/getlyr.php?q=%s",uID);
-+ if (lyr_url != NULL)
-+ {
-+ GlyrMemCache * new_cache = download_single (lyr_url,capo->s,NULL);
-+ if (new_cache != NULL)
-+ {
- gsize i = 0;
-- gchar *buffer = g_malloc0(new_cache->size + 1);
-- for(i = 0; i < new_cache->size; i++) {
-+ gchar * buffer = g_malloc0 (new_cache->size + 1);
-+ for (i = 0; i < new_cache->size; i++)
-+ {
- buffer[i] = (new_cache->data[i] == '\r') ?
- ' ' :
- new_cache->data[i];
- }
- buffer[i] = 0;
-
-- if(i != 0) {
-- GlyrMemCache *result = DL_init();
-+ if (i != 0)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = buffer;
- result->size = i;
-- result->dsrc = g_strdup(lyr_url);
-+ result->dsrc = g_strdup (lyr_url);
-
-- result_list = g_list_prepend(result_list, result);
-+ result_list = g_list_prepend (result_list,result);
- }
-
-- DL_free(new_cache);
-+ DL_free (new_cache);
- }
-- g_free(lyr_url);
-+ g_free (lyr_url);
- }
-- g_free(uID);
-+ g_free (uID);
- }
- }
- return result_list;
-@@ -73,7 +79,8 @@ static GList *lyrics_lyrdb_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lyrdb_src = {
-+MetaDataSource lyrics_lyrdb_src =
-+{
- .name = "lyrdb",
- .key = 'd',
- .encoding = "LATIN1",
-diff --git a/lib/intern/lyrics/lyricsreg.c b/lib/intern/lyrics/lyricsreg.c
-index a9dfe96..1891b53 100644
---- a/lib/intern/lyrics/lyricsreg.c
-+++ b/lib/intern/lyrics/lyricsreg.c
-@@ -23,30 +23,34 @@
- #define INFO_BEGIN "</div><div style=\"text-align:center;\">"
- #define INFO_ENDIN " <a href=\""
-
--static const char *lyrics_lyricsreg_url(GlyrQuery *s)
-+static const char * lyrics_lyricsreg_url (GlyrQuery * s)
- {
- return "http://www.lyricsreg.com/lyrics/${artist}/${title}/";
- }
-
--static GList *lyrics_lyricsreg_parse(cb_object *capo)
-+static GList * lyrics_lyricsreg_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *start = strstr(capo->cache->data, INFO_BEGIN);
-+ GList * result_list = NULL;
-+ gchar * start = strstr (capo->cache->data, INFO_BEGIN);
-
-- if(start != NULL) {
-+ if (start != NULL)
-+ {
- start += (sizeof INFO_BEGIN) - 1;
-- gchar *end = strstr(start, INFO_ENDIN);
-- if(end != NULL) {
-+ gchar * end = strstr (start,INFO_ENDIN);
-+ if (end != NULL)
-+ {
- * (end) = 0;
-- gchar *no_br_tags = strreplace(start, "<br />", NULL);
-- if(no_br_tags != NULL) {
-- GlyrMemCache *tmp = DL_init();
-- tmp->data = beautify_string(no_br_tags);
-- tmp->size = tmp->data ? strlen(tmp->data) : 0;
-- g_free(no_br_tags);
-+ gchar * no_br_tags = strreplace (start,"<br />",NULL);
-+ if (no_br_tags != NULL)
-+ {
-+ GlyrMemCache * tmp = DL_init();
-+ tmp->data = beautify_string (no_br_tags);
-+ tmp->size = tmp->data ? strlen (tmp->data) : 0;
-+ g_free (no_br_tags);
-
-- if(tmp->data != NULL) {
-- result_list = g_list_prepend(result_list, tmp);
-+ if (tmp->data != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,tmp);
- }
- }
- }
-@@ -56,7 +60,8 @@ static GList *lyrics_lyricsreg_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lyricsreg_src = {
-+MetaDataSource lyrics_lyricsreg_src =
-+{
- .name = "lyricsreg",
- .key = 'r',
- .parser = lyrics_lyricsreg_parse,
-diff --git a/lib/intern/lyrics/lyricstime.c b/lib/intern/lyrics/lyricstime.c
-index 2f3d76d..ef091a9 100644
---- a/lib/intern/lyrics/lyricstime.c
-+++ b/lib/intern/lyrics/lyricstime.c
-@@ -24,7 +24,7 @@
-
- /////////////////////////////////
-
--static const char *lyrics_lyricstime_url(GlyrQuery *settings)
-+static const char * lyrics_lyricstime_url (GlyrQuery * settings)
- {
- return GLYR_GET_URL;
- }
-@@ -34,24 +34,28 @@ static const char *lyrics_lyricstime_url(GlyrQuery *settings)
- #define LYR_BEGIN "<div id=\"songlyrics\" >"
- #define LYR_ENDIN "</div>"
-
--static GlyrMemCache *parse_page(GlyrMemCache *dl, cb_object *capo)
-+static GlyrMemCache * parse_page (GlyrMemCache * dl, cb_object * capo)
- {
-- GlyrMemCache *result = NULL;
-- if(dl != NULL) {
-- gchar *begin = strstr(dl->data, LYR_BEGIN);
-- if(begin != NULL) {
-+ GlyrMemCache * result = NULL;
-+ if (dl != NULL)
-+ {
-+ gchar * begin = strstr (dl->data,LYR_BEGIN);
-+ if (begin != NULL)
-+ {
- begin += (sizeof LYR_BEGIN) - 1;
-- gchar *end = strstr(begin, LYR_ENDIN);
-- if(end != NULL) {
-+ gchar * end = strstr (begin,LYR_ENDIN);
-+ if (end != NULL)
-+ {
- * (end) = 0;
-- gchar *no_br_tags = strreplace(begin, "<br />", NULL);
-- if(no_br_tags != NULL) {
-+ gchar * no_br_tags = strreplace (begin,"<br />",NULL);
-+ if (no_br_tags != NULL)
-+ {
- result = DL_init();
-- result->data = beautify_string(no_br_tags);
-- result->size = (result->data) ? strlen(result->data) : 0;
-- result->dsrc = g_strdup(dl->dsrc);
-+ result->data = beautify_string (no_br_tags);
-+ result->size = (result->data) ? strlen (result->data) : 0;
-+ result->dsrc = g_strdup (dl->dsrc);
-
-- g_free(no_br_tags);
-+ g_free (no_br_tags);
- }
- }
- }
-@@ -69,23 +73,29 @@ static GlyrMemCache *parse_page(GlyrMemCache *dl, cb_object *capo)
- #define ARTIST_BEG "<b>"
- #define ARTIST_END "</b>"
-
--static gboolean validate_artist(cb_object *capo, gchar *backpointer)
-+static gboolean validate_artist (cb_object * capo, gchar * backpointer)
- {
- gboolean i_shall_continue = false;
-- if(backpointer != NULL) {
-- char *span = strstr(backpointer, SPAN_BEGIN);
-- if(span != NULL) {
-- gchar *artist_beg = strstr(span, ARTIST_BEG);
-- if(artist_beg != NULL) {
-+ if (backpointer != NULL)
-+ {
-+ char * span = strstr (backpointer,SPAN_BEGIN);
-+ if (span != NULL)
-+ {
-+ gchar * artist_beg = strstr (span,ARTIST_BEG);
-+ if (artist_beg != NULL)
-+ {
- artist_beg += (sizeof ARTIST_BEG) - 1;
-- gchar *artist_end = strstr(artist_beg, ARTIST_END);
-- if(artist_end != NULL) {
-- gchar *artist_val = copy_value(artist_beg, artist_end);
-- if(artist_val != NULL) {
-- if(levenshtein_strnormcmp(capo->s, artist_val, capo->s->artist) <= capo->s->fuzzyness) {
-+ gchar * artist_end = strstr (artist_beg,ARTIST_END);
-+ if (artist_end != NULL)
-+ {
-+ gchar * artist_val = copy_value (artist_beg,artist_end);
-+ if (artist_val != NULL)
-+ {
-+ if (levenshtein_strnormcmp (capo->s,artist_val,capo->s->artist) <= capo->s->fuzzyness)
-+ {
- i_shall_continue = true;
- }
-- g_free(artist_val);
-+ g_free (artist_val);
- }
- }
- }
-@@ -96,37 +106,43 @@ static gboolean validate_artist(cb_object *capo, gchar *backpointer)
-
- /////////////////////////////////
-
--static GList *lyrics_lyricstime_parse(cb_object *capo)
-+static GList * lyrics_lyricstime_parse (cb_object * capo)
- {
-- GList *rList = NULL;
-- char *start = capo->cache->data;
-- if(start != NULL) {
-- gchar *div_end = strstr(start, SEARCH_ENDIN);
-- gchar *node = capo->cache->data;
-- gchar *backpointer = node;
-+ GList * rList = NULL;
-+ char * start = capo->cache->data;
-+ if (start != NULL)
-+ {
-+ gchar * div_end = strstr (start,SEARCH_ENDIN);
-+ gchar * node = capo->cache->data;
-+ gchar * backpointer = node;
- gsize nlen = (sizeof NODE_BEGIN) - 1;
-
-- while(continue_search(g_list_length(rList), capo->s) && (node = strstr(node + nlen, NODE_BEGIN)) != NULL) {
-- if(div_end >= node) {
-+ while (continue_search (g_list_length (rList),capo->s) && (node = strstr (node+nlen,NODE_BEGIN) ) != NULL)
-+ {
-+ if (div_end >= node)
- break;
-- }
-
-- if(validate_artist(capo, backpointer) == TRUE) {
-- gchar *end_of_url = strstr(node + nlen, NODE_ENDIN);
-- if(end_of_url != NULL) {
-- gchar *url = copy_value(node + nlen, end_of_url);
-- if(url != NULL) {
-- gchar *full_url = g_strdup_printf("http://www.lyricstime.com%s", url);
-- GlyrMemCache *dl_cache = download_single(full_url, capo->s, NULL);
-- if(dl_cache) {
-- GlyrMemCache *parsed_cache = parse_page(dl_cache, capo);
-- if(parsed_cache != NULL) {
-- rList = g_list_prepend(rList, parsed_cache);
-+ if (validate_artist (capo,backpointer) == TRUE)
-+ {
-+ gchar * end_of_url = strstr (node+nlen,NODE_ENDIN);
-+ if (end_of_url != NULL)
-+ {
-+ gchar * url = copy_value (node+nlen,end_of_url);
-+ if (url != NULL)
-+ {
-+ gchar * full_url = g_strdup_printf ("http://www.lyricstime.com%s",url);
-+ GlyrMemCache * dl_cache = download_single (full_url,capo->s,NULL);
-+ if (dl_cache)
-+ {
-+ GlyrMemCache * parsed_cache = parse_page (dl_cache,capo);
-+ if (parsed_cache != NULL)
-+ {
-+ rList = g_list_prepend (rList,parsed_cache);
- }
-- DL_free(dl_cache);
-- g_free(full_url);
-+ DL_free (dl_cache);
-+ g_free (full_url);
- }
-- g_free(url);
-+ g_free (url);
- }
- }
- }
-@@ -138,7 +154,8 @@ static GList *lyrics_lyricstime_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lyricstime_src = {
-+MetaDataSource lyrics_lyricstime_src =
-+{
- .name = "lyricstime",
- .key = 'y',
- .parser = lyrics_lyricstime_parse,
-diff --git a/lib/intern/lyrics/lyricsvip.c b/lib/intern/lyrics/lyricsvip.c
-index 6655ae6..2765611 100644
---- a/lib/intern/lyrics/lyricsvip.c
-+++ b/lib/intern/lyrics/lyricsvip.c
-@@ -24,21 +24,23 @@
-
- /////////////////////////////////
-
--static const gchar *lyrics_lyricsvip_url(GlyrQuery *settings)
-+static const gchar * lyrics_lyricsvip_url (GlyrQuery * settings)
- {
-- gchar *result = NULL;
-- gchar *artist_clean = strreplace(settings->artist, " ", "-");
-- if(artist_clean != NULL) {
-- gchar *title_clean = strreplace(settings->title, " ", "-");
-- if(title_clean != NULL) {
-- gchar *prep_artist = curl_easy_escape(NULL, artist_clean, 0);
-- gchar *prep_title = curl_easy_escape(NULL, title_clean, 0);
-- result = g_strdup_printf(LV_URL, prep_artist, prep_title);
-- g_free(title_clean);
-- curl_free(prep_artist);
-- curl_free(prep_title);
-+ gchar * result = NULL;
-+ gchar * artist_clean = strreplace (settings->artist, " ", "-");
-+ if (artist_clean != NULL)
-+ {
-+ gchar * title_clean = strreplace (settings->title, " ", "-");
-+ if (title_clean != NULL)
-+ {
-+ gchar * prep_artist = curl_easy_escape (NULL,artist_clean,0);
-+ gchar * prep_title = curl_easy_escape (NULL,title_clean,0);
-+ result = g_strdup_printf (LV_URL, prep_artist, prep_title);
-+ g_free (title_clean);
-+ curl_free (prep_artist);
-+ curl_free (prep_title);
- }
-- g_free(artist_clean);
-+ g_free (artist_clean);
- }
- return result;
- }
-@@ -48,24 +50,28 @@ static const gchar *lyrics_lyricsvip_url(GlyrQuery *settings)
- #define BEG "<img src=\"http://www.lyricsvip.com/images/phone2.gif\" alt=\"phone\" /></div>"
- #define END "<br />\n<div class=\"ad\">"
-
--static GList *lyrics_lyricsvip_parse(cb_object *capo)
-+static GList * lyrics_lyricsvip_parse (cb_object *capo)
- {
-- gchar *start = NULL;
-- gchar *end = NULL;
-- gchar *content = NULL;
-- GList *result_list = NULL;
-+ gchar * start = NULL;
-+ gchar * end = NULL;
-+ gchar * content = NULL;
-+ GList * result_list = NULL;
-
-- if((start = strstr(capo->cache->data, BEG)) != NULL) {
-- if((end = strstr(start, END)) != NULL) {
-- if(ABS(end - start) > 0) {
-+ if ( (start = strstr (capo->cache->data,BEG) ) != NULL)
-+ {
-+ if ( (end = strstr (start,END) ) != NULL)
-+ {
-+ if (ABS (end-start) > 0)
-+ {
- * (end) = 0;
-
-- content = strreplace(start, "<br />", "");
-- if(content) {
-- GlyrMemCache *result = DL_init();
-+ content = strreplace (start,"<br />","");
-+ if (content)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = content;
-- result->size = strlen(content);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (content);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -75,7 +81,8 @@ static GList *lyrics_lyricsvip_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lyricsvip_src = {
-+MetaDataSource lyrics_lyricsvip_src =
-+{
- .name = "lyricsvip",
- .key = 'v',
- .parser = lyrics_lyricsvip_parse,
-diff --git a/lib/intern/lyrics/lyricswiki.c b/lib/intern/lyrics/lyricswiki.c
-index ec8ad9e..8943133 100644
---- a/lib/intern/lyrics/lyricswiki.c
-+++ b/lib/intern/lyrics/lyricswiki.c
-@@ -27,7 +27,7 @@
-
- /////////////////////////////////
-
--static const gchar *lyrics_lyricswiki_url(GlyrQuery *settings)
-+static const gchar * lyrics_lyricswiki_url (GlyrQuery * settings)
- {
- return LW_URL;
- }
-@@ -35,22 +35,26 @@ static const gchar *lyrics_lyricswiki_url(GlyrQuery *settings)
- /////////////////////////////////
-
- // Compare response, so lyricswiki's search did not fool us
--static gboolean lv_cmp_content(const gchar *to_artist, const gchar *to_title, cb_object *capo)
-+static gboolean lv_cmp_content (const gchar * to_artist, const gchar * to_title, cb_object * capo)
- {
- gboolean res = false;
-- if(to_artist && to_title && capo) {
-- gchar *tmp_artist = copy_value(to_artist, strstr(to_artist, "</artist>"));
-- if(tmp_artist != NULL) {
-- gchar *tmp_title = copy_value(to_title, strstr(to_title , "</song>"));
-- if(tmp_title != NULL) {
-+ if (to_artist && to_title && capo)
-+ {
-+ gchar * tmp_artist = copy_value (to_artist,strstr (to_artist,"</artist>") );
-+ if (tmp_artist != NULL)
-+ {
-+ gchar * tmp_title = copy_value (to_title, strstr (to_title ,"</song>" ) );
-+ if (tmp_title != NULL)
-+ {
- /* levenshtein_strnormcmp takes care of those brackets */
-- if((levenshtein_strnormcmp(capo->s, capo->s->artist, tmp_artist) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, capo->s->title, tmp_title) <= capo->s->fuzzyness)) {
-+ if ( (levenshtein_strnormcmp (capo->s,capo->s->artist,tmp_artist) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s,capo->s->title, tmp_title) <= capo->s->fuzzyness ) )
-+ {
- res = true;
- }
-- g_free(tmp_title);
-+ g_free (tmp_title);
- }
-- g_free(tmp_artist);
-+ g_free (tmp_artist);
- }
- }
- return res;
-@@ -64,51 +68,58 @@ static gboolean lv_cmp_content(const gchar *to_artist, const gchar *to_title, cb
- #define LYR_ENDIN "<!--"
- #define LYR_INSTRUMENTAL "/Category:Instrumental"
-
--GList *parse_result_page(GlyrQuery *query, GlyrMemCache *to_parse)
-+GList * parse_result_page (GlyrQuery * query, GlyrMemCache * to_parse)
- {
-- GList *result_list = NULL;
-- gchar *node = to_parse->data;
-- while(continue_search(g_list_length(result_list), query) && (node = strstr(node, LYR_NODE))) {
-+ GList * result_list = NULL;
-+ gchar * node = to_parse->data;
-+ while (continue_search (g_list_length (result_list),query) && (node = strstr (node,LYR_NODE) ) )
-+ {
- node += (sizeof LYR_NODE);
-
- bool is_instrumental = strstr(node, LYR_INSTRUMENTAL) != NULL;
-- gchar *lyr = get_search_value(node, LYR_BEGIN, LYR_ENDIN);
-- gchar *beautiness_test = beautify_string(lyr);
-- if(is_instrumental || (beautiness_test != NULL && beautiness_test[0])) {
-- if(is_instrumental || (lyr != NULL && strstr(lyr, BAD_STRING) == NULL && strstr(lyr, EXTERNAL_LINKS) == NULL)) {
-- GlyrMemCache *result = DL_init();
-- if(is_instrumental) {
-+ gchar * lyr = get_search_value (node,LYR_BEGIN,LYR_ENDIN);
-+ gchar * beautiness_test = beautify_string (lyr);
-+ if (is_instrumental || (beautiness_test != NULL && beautiness_test[0]))
-+ {
-+ if (is_instrumental || (lyr != NULL && strstr (lyr,BAD_STRING) == NULL && strstr (lyr,EXTERNAL_LINKS) == NULL))
-+ {
-+ GlyrMemCache * result = DL_init();
-+ if(is_instrumental)
- result->data = g_strdup("Instrumental");
-- } else {
-+ else
- result->data = lyr;
-- }
-
-- result->size = strlen(result->data);
-- result->dsrc = g_strdup(to_parse->dsrc);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (result->data);
-+ result->dsrc = g_strdup (to_parse->dsrc);
-+ result_list = g_list_prepend (result_list,result);
- }
-- } else {
-- g_free(lyr);
- }
-- g_free(beautiness_test);
-+ else
-+ {
-+ g_free (lyr);
-+ }
-+ g_free (beautiness_test);
- }
- return result_list;
- }
-
- /////////////////////////////////
-
--static GList *lyrics_lyricswiki_parse(cb_object *capo)
-+static GList * lyrics_lyricswiki_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- if(strstr(capo->cache->data, NOT_FOUND) == NULL && lv_cmp_content(strstr(capo->cache->data, "<artist>"), strstr(capo->cache->data, "<song>"), capo)) {
-- gchar *wiki_page_url = get_search_value(capo->cache->data, "<url>", "</url>");
-- if(wiki_page_url != NULL) {
-- GlyrMemCache *new_cache = download_single(wiki_page_url, capo->s, NULL);
-- if(new_cache != NULL) {
-- result_list = parse_result_page(capo->s, new_cache);
-- DL_free(new_cache);
-+ GList * result_list = NULL;
-+ if (strstr (capo->cache->data,NOT_FOUND) == NULL && lv_cmp_content (strstr (capo->cache->data,"<artist>"),strstr (capo->cache->data,"<song>"),capo) )
-+ {
-+ gchar * wiki_page_url = get_search_value (capo->cache->data,"<url>","</url>");
-+ if (wiki_page_url != NULL)
-+ {
-+ GlyrMemCache * new_cache = download_single (wiki_page_url,capo->s,NULL);
-+ if (new_cache != NULL)
-+ {
-+ result_list = parse_result_page (capo->s,new_cache);
-+ DL_free (new_cache);
- }
-- g_free(wiki_page_url);
-+ g_free (wiki_page_url);
- }
- }
- return result_list;
-@@ -116,7 +127,8 @@ static GList *lyrics_lyricswiki_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_lyricswiki_src = {
-+MetaDataSource lyrics_lyricswiki_src =
-+{
- .name = "lyricswiki",
- .key = 'w',
- .parser = lyrics_lyricswiki_parse,
-diff --git a/lib/intern/lyrics/lyrix_at.c b/lib/intern/lyrics/lyrix_at.c
-index 3e604f2..244569d 100644
---- a/lib/intern/lyrics/lyrix_at.c
-+++ b/lib/intern/lyrics/lyrix_at.c
-@@ -20,9 +20,9 @@
- #include "../../core.h"
- #include "../../stringlib.h"
-
--#define AT_URL "http://lyrix.at/lyrics-search/s-${artist}, ${title}, any, 321, .html"
-+#define AT_URL "http://lyrix.at/lyrics-search/s-${artist},,${title},,any,1321,0.html"
-
--const char *lyrics_lyrixat_url(GlyrQuery *settings)
-+const char * lyrics_lyrixat_url (GlyrQuery * settings)
- {
- return AT_URL;
- }
-@@ -38,59 +38,70 @@ const char *lyrics_lyrixat_url(GlyrQuery *settings)
-
- /////////////////////////////////
-
--static void parse_lyrics_page(const gchar *url, GList **result_list, cb_object *capo)
-+static void parse_lyrics_page (const gchar * url, GList ** result_list, cb_object * capo)
- {
-- GlyrMemCache *lyrcache = download_single(url, capo->s, "<!-- eBay Relevance Ad -->");
-- if(lyrcache != NULL) {
-- gchar *lyr_begin = strstr(lyrcache->data, LYRIC_BEGIN);
-- if(lyr_begin != NULL) {
-- gchar *lyr_endin = strstr(lyr_begin, "</div>");
-- if(lyr_endin != NULL) {
-- gchar *lyrics = copy_value(lyr_begin, lyr_endin);
-- if(lyrics != NULL) {
-- GlyrMemCache *result = DL_init();
-- result->data = strreplace(lyrics, "<br />", "");
-- result->size = strlen(result->data);
-- result->dsrc = g_strdup(url);
-- *result_list = g_list_prepend(*result_list, result);
-+ GlyrMemCache * lyrcache = download_single (url,capo->s,"<!-- eBay Relevance Ad -->");
-+ if (lyrcache != NULL)
-+ {
-+ gchar * lyr_begin = strstr (lyrcache->data,LYRIC_BEGIN);
-+ if (lyr_begin != NULL)
-+ {
-+ gchar * lyr_endin = strstr (lyr_begin,"</div>");
-+ if (lyr_endin != NULL)
-+ {
-+ gchar * lyrics = copy_value (lyr_begin,lyr_endin);
-+ if (lyrics != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
-+ result->data = strreplace (lyrics,"<br />","");
-+ result->size = strlen (result->data);
-+ result->dsrc = g_strdup (url);
-+ *result_list = g_list_prepend (*result_list,result);
- }
-- g_free(lyrics);
-+ g_free (lyrics);
- }
- }
-- DL_free(lyrcache);
-+ DL_free (lyrcache);
- }
- }
-
- /////////////////////////////////
-
--GList *lyrics_lyrixat_parse(cb_object *capo)
-+GList * lyrics_lyrixat_parse (cb_object * capo)
- {
- /* lyrix.at does not offer any webservice -> use the searchfield to get some results */
-- GList *result_list = NULL;
-- gchar *search_begin_tag = capo->cache->data;
-+ GList * result_list = NULL;
-+ gchar * search_begin_tag = capo->cache->data;
- gint ctr = 0;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (search_begin_tag = strstr(search_begin_tag + 1, SEARCH_START_TAG)) && MAX_TRIES >= ctr++) {
-- gchar *url_tag = search_begin_tag;
-- url_tag = strstr(url_tag, URL_TAG_BEGIN);
-- if(url_tag != NULL) {
-- gchar *title_tag = strstr(url_tag, URL_TAG_ENDIN);
-- if(title_tag) {
-- gchar *title_end = strstr(title_tag, TITLE_END);
-- if(title_end != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (search_begin_tag = strstr (search_begin_tag+1,SEARCH_START_TAG) ) && MAX_TRIES >= ctr++)
-+ {
-+ gchar * url_tag = search_begin_tag;
-+ url_tag = strstr (url_tag,URL_TAG_BEGIN);
-+ if (url_tag != NULL)
-+ {
-+ gchar * title_tag = strstr (url_tag,URL_TAG_ENDIN);
-+ if (title_tag)
-+ {
-+ gchar * title_end = strstr (title_tag,TITLE_END);
-+ if (title_end != NULL)
-+ {
- gsize tag_end_len = (sizeof URL_TAG_ENDIN) - 1;
-- gchar *title = copy_value(title_tag + tag_end_len, title_end);
-- if(title != NULL) {
-- if(levenshtein_strnormcmp(capo->s, title, capo->s->title) <= capo->s->fuzzyness) {
-- gchar *url_part = copy_value(url_tag + strlen(URL_TAG_BEGIN), title_tag);
-- if(url_part != NULL) {
-- gchar *url = g_strdup_printf("http://lyrix.at/de%s", url_part);
-- parse_lyrics_page(url, &result_list, capo);
-- g_free(url);
-- g_free(url_part);
-+ gchar * title = copy_value (title_tag + tag_end_len,title_end);
-+ if (title != NULL)
-+ {
-+ if (levenshtein_strnormcmp (capo->s,title,capo->s->title) <= capo->s->fuzzyness)
-+ {
-+ gchar * url_part = copy_value (url_tag+strlen (URL_TAG_BEGIN),title_tag);
-+ if (url_part != NULL)
-+ {
-+ gchar * url = g_strdup_printf ("http://lyrix.at/de%s",url_part);
-+ parse_lyrics_page (url,&result_list,capo);
-+ g_free (url);
-+ g_free (url_part);
- }
- }
-- g_free(title);
-+ g_free (title);
- }
- }
- }
-@@ -100,7 +111,8 @@ GList *lyrics_lyrixat_parse(cb_object *capo)
- }
- /////////////////////////////////
-
--MetaDataSource lyrics_lyrix_src = {
-+MetaDataSource lyrics_lyrix_src =
-+{
- .name = "lyrix",
- .key = 'a',
- .parser = lyrics_lyrixat_parse,
-diff --git a/lib/intern/lyrics/magistrix.c b/lib/intern/lyrics/magistrix.c
-index 71a7ab1..46cb465 100644
---- a/lib/intern/lyrics/magistrix.c
-+++ b/lib/intern/lyrics/magistrix.c
-@@ -22,25 +22,26 @@
-
- #define MG_URL "http://www.magistrix.de/lyrics/search?q=${artist}+${title}"
-
--static const char *lyrics_magistrix_url(GlyrQuery *settings)
-+static const char * lyrics_magistrix_url (GlyrQuery * settings)
- {
- return MG_URL;
- }
-
- ///////////////////////////////////
-
--static GlyrMemCache *parse_lyric_page(GlyrMemCache *cache)
-+static GlyrMemCache * parse_lyric_page (GlyrMemCache * cache)
- {
-- GlyrMemCache *result = NULL;
-- g_return_val_if_fail(cache, NULL);
-- g_return_val_if_fail(cache->data, NULL);
-+ GlyrMemCache * result = NULL;
-+ g_return_val_if_fail (cache,NULL);
-+ g_return_val_if_fail (cache->data,NULL);
-
-- gchar *data = get_search_value(cache->data, "id='songtext'>", "<div class='lyric-actions'>");
-- if(data != NULL) {
-+ gchar * data = get_search_value (cache->data,"id='songtext'>","<div class='lyric-actions'>");
-+ if (data != NULL)
-+ {
- result = DL_init();
- result->data = data;
-- result->size = strlen(data);
-- result->dsrc = g_strdup(cache->dsrc);
-+ result->size = strlen (data);
-+ result->dsrc = g_strdup (cache->dsrc);
- }
-
- return result;
-@@ -54,29 +55,35 @@ static GlyrMemCache *parse_lyric_page(GlyrMemCache *cache)
- #define SEARCH_LINK_START "–\n<a href=\""
- #define SEARCH_LINK_END "\" class"
-
--static GList *parse_search_result_page(cb_object *capo)
-+static GList * parse_search_result_page (cb_object * capo)
- {
-- GList *result_list = NULL;
-- char *first_result = strstr(capo->cache->data, SEARCH_FIRST_RESULT);
-- if(first_result != NULL) {
-- char *end_of_results = strstr(first_result + sizeof(SEARCH_FIRST_RESULT), SEARCH_LAST_RESULT);
-- if(end_of_results) {
-- char *node = first_result;
-- while((node = strstr(node + sizeof(SEARCH_NODE), SEARCH_NODE))
-- && continue_search(g_list_length(result_list), capo->s)) {
-- char *new_url = get_search_value(node, SEARCH_LINK_START, SEARCH_LINK_END);
-- if(new_url != NULL) {
-- char *full_url = g_strdup_printf("www.magistrix.de%s", new_url);
-- GlyrMemCache *lyrics_page = download_single(full_url, capo->s, NULL);
-- if(lyrics_page) {
-- GlyrMemCache *item = parse_lyric_page(lyrics_page);
-- if(item != NULL) {
-- result_list = g_list_prepend(result_list, item);
-+ GList * result_list = NULL;
-+ char * first_result = strstr (capo->cache->data, SEARCH_FIRST_RESULT);
-+ if (first_result != NULL)
-+ {
-+ char * end_of_results = strstr (first_result + sizeof (SEARCH_FIRST_RESULT), SEARCH_LAST_RESULT);
-+ if (end_of_results)
-+ {
-+ char * node = first_result;
-+ while ( (node = strstr (node + sizeof (SEARCH_NODE), SEARCH_NODE) )
-+ && continue_search (g_list_length (result_list), capo->s) )
-+ {
-+ char * new_url = get_search_value (node, SEARCH_LINK_START, SEARCH_LINK_END);
-+ if (new_url != NULL)
-+ {
-+ char * full_url = g_strdup_printf ("www.magistrix.de%s", new_url);
-+ GlyrMemCache * lyrics_page = download_single (full_url, capo->s, NULL);
-+ if (lyrics_page)
-+ {
-+ GlyrMemCache * item = parse_lyric_page (lyrics_page);
-+ if (item != NULL)
-+ {
-+ result_list = g_list_prepend (result_list, item);
- }
-- DL_free(lyrics_page);
-+ DL_free (lyrics_page);
- }
-- g_free(new_url);
-- g_free(full_url);
-+ g_free (new_url);
-+ g_free (full_url);
- }
- }
- }
-@@ -86,18 +93,23 @@ static GList *parse_search_result_page(cb_object *capo)
-
- ///////////////////////////////////
-
--static GList *lyrics_magistrix_parse(cb_object *capo)
-+static GList * lyrics_magistrix_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- if(strstr(capo->cache->data, "Es wurden keine Songtexte gefunden") == NULL) { /* "No songtext" page? */
-- if(strstr(capo->cache->data, "<title>Songtext-Suche</title>") == NULL) { /* Are we not on the search result page? */
-- GlyrMemCache *result = parse_lyric_page(capo->cache);
-- if(result != NULL) {
-- result_list = g_list_prepend(result_list, result);
-+ GList * result_list = NULL;
-+ if (strstr (capo->cache->data,"Es wurden keine Songtexte gefunden") == NULL) /* "No songtext" page? */
-+ {
-+ if (strstr (capo->cache->data,"<title>Songtext-Suche</title>") == NULL) /* Are we not on the search result page? */
-+ {
-+ GlyrMemCache * result = parse_lyric_page (capo->cache);
-+ if (result != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,result);
- }
-- } else {
-+ }
-+ else
-+ {
- /* Parse Searchresult page */
-- result_list = parse_search_result_page(capo);
-+ result_list = parse_search_result_page (capo);
- }
- }
- return result_list;
-@@ -105,7 +117,8 @@ static GList *lyrics_magistrix_parse(cb_object *capo)
-
- ///////////////////////////////////
-
--MetaDataSource lyrics_magistrix_src = {
-+MetaDataSource lyrics_magistrix_src =
-+{
- .name = "magistrix",
- .key = 'x',
- .parser = lyrics_magistrix_parse,
-diff --git a/lib/intern/lyrics/metallum.c b/lib/intern/lyrics/metallum.c
-index fa8b371..66349e0 100644
---- a/lib/intern/lyrics/metallum.c
-+++ b/lib/intern/lyrics/metallum.c
-@@ -31,7 +31,7 @@
-
- /////////////////////////////////
-
--static const gchar *lyrics_metallum_url(GlyrQuery *s)
-+static const gchar * lyrics_metallum_url (GlyrQuery * s)
- {
- return AJAX_URL;
- }
-@@ -43,23 +43,27 @@ static const gchar *lyrics_metallum_url(GlyrQuery *s)
-
- /////////////////////////////////
-
--static GList *lyrics_metallum_parse(cb_object *capo)
-+static GList * lyrics_metallum_parse (cb_object * capo)
- {
-- GList *result_items = NULL;
-- gchar *id_start = strstr(capo->cache->data, ID_START);
-- if(id_start != NULL) {
-- id_start += strlen(ID_START);
-- gchar *ID_string = copy_value(id_start, strstr(id_start, ID_END));
-- if(ID_string != NULL) {
-- gchar *content_url = g_strdup_printf(SUBST_URL, ID_string);
-- if(content_url != NULL) {
-- GlyrMemCache *content_cache = download_single(content_url, capo->s, NULL);
-- if(content_cache != NULL && strstr(content_cache->data, BAD_STRING) == NULL) {
-- result_items = g_list_prepend(result_items, content_cache);
-+ GList * result_items = NULL;
-+ gchar * id_start = strstr (capo->cache->data,ID_START);
-+ if (id_start != NULL)
-+ {
-+ id_start += strlen (ID_START);
-+ gchar * ID_string = copy_value (id_start,strstr (id_start,ID_END) );
-+ if (ID_string != NULL)
-+ {
-+ gchar * content_url = g_strdup_printf (SUBST_URL,ID_string);
-+ if (content_url != NULL)
-+ {
-+ GlyrMemCache * content_cache = download_single (content_url,capo->s,NULL);
-+ if (content_cache != NULL && strstr (content_cache->data,BAD_STRING) == NULL)
-+ {
-+ result_items = g_list_prepend (result_items, content_cache);
- }
-- g_free(content_url);
-+ g_free (content_url);
- }
-- g_free(ID_string);
-+ g_free (ID_string);
- }
- }
- return result_items;
-@@ -67,7 +71,8 @@ static GList *lyrics_metallum_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_metallum_src = {
-+MetaDataSource lyrics_metallum_src =
-+{
- .name = "metallum",
- .key = 'u',
- .parser = lyrics_metallum_parse,
-diff --git a/lib/intern/lyrics/metrolyrics.c b/lib/intern/lyrics/metrolyrics.c
-index b80d9a3..dbd3428 100644
---- a/lib/intern/lyrics/metrolyrics.c
-+++ b/lib/intern/lyrics/metrolyrics.c
-@@ -25,24 +25,28 @@
- #define MAX_TRIES 5
-
- // Just return URL
--static const gchar *lyrics_metrolyrics_url(GlyrQuery *settings)
-+static const gchar * lyrics_metrolyrics_url (GlyrQuery * settings)
- {
- return ML_URL;
- }
-
- ///////////////////////////////////
-
--static void replace_from_message_inline(gchar *text)
-+static void replace_from_message_inline (gchar * text)
- {
-- if(text != NULL) {
-- gchar *from_msg_start = strstr(text, "[ From: ");
-- if(from_msg_start != NULL) {
-- while(from_msg_start[0] != '\n' && from_msg_start[0]) {
-+ if (text != NULL)
-+ {
-+ gchar * from_msg_start = strstr (text,"[ From: ");
-+ if (from_msg_start != NULL)
-+ {
-+ while (from_msg_start[0] != '\n' && from_msg_start[0])
-+ {
- from_msg_start[0] = ' ';
- from_msg_start++;
- }
-
-- if(from_msg_start[0] == '\n') {
-+ if (from_msg_start[0] == '\n')
-+ {
- from_msg_start[0] = ' ';
- }
- }
-@@ -54,20 +58,24 @@ static void replace_from_message_inline(gchar *text)
- #define LYRICS_DIV "<div id=\"lyrics-body\">"
- #define LYRICS_END "</div>"
-
--static GlyrMemCache *parse_lyrics_page(const gchar *buffer)
-+static GlyrMemCache * parse_lyrics_page (const gchar * buffer)
- {
-- GlyrMemCache *result = NULL;
-- if(buffer != NULL) {
-- gchar *begin = strstr(buffer, LYRICS_DIV);
-- if(begin != NULL) {
-- gchar *end = strstr(begin, LYRICS_END);
-- if(end != NULL) {
-- gchar *lyr = copy_value(begin, end);
-- if(lyr != NULL) {
-+ GlyrMemCache * result = NULL;
-+ if (buffer != NULL)
-+ {
-+ gchar * begin = strstr (buffer,LYRICS_DIV);
-+ if (begin != NULL)
-+ {
-+ gchar * end = strstr (begin,LYRICS_END);
-+ if (end != NULL)
-+ {
-+ gchar * lyr = copy_value (begin,end);
-+ if (lyr != NULL)
-+ {
- result = DL_init();
-- replace_from_message_inline(lyr);
-+ replace_from_message_inline (lyr);
- result->data = lyr;
-- result->size = strlen(result->data);
-+ result->size = strlen (result->data);
- }
- }
- }
-@@ -89,57 +97,61 @@ static GlyrMemCache *parse_lyrics_page(const gchar *buffer)
- <span class="title">Die Apokalyptischen Reiter<br /><strong>Friede Sei Mit Dir Lyrics</strong></span>
- </a>
-
-- artist = get_search_value("<span class=\"title\">", <br />");
-- title = get_search_value("<strong>", </strong>");
-+ artist = get_search_value("<span class=\"title\">","<br />");
-+ title = get_search_value("<strong>","</strong>");
- */
-
--static GList *lyrics_metrolyrics_parse(cb_object *capo)
-+static GList * lyrics_metrolyrics_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *root = strstr(capo->cache->data, ROOT_NODE);
-+ GList * result_list = NULL;
-+ gchar * root = strstr (capo->cache->data,ROOT_NODE);
-
-- if(root != NULL) {
-- gchar *end_of_earch = strstr(root, END_OF_SEARCH);
-- gchar *node = root;
-+ if (root != NULL)
-+ {
-+ gchar * end_of_earch = strstr (root,END_OF_SEARCH);
-+ gchar * node = root;
-
- gsize tries = 0;
- gsize nodelen = (sizeof NODE_BEGIN);
-
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nodelen, NODE_BEGIN)) && tries < MAX_TRIES) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nodelen,NODE_BEGIN) ) && tries < MAX_TRIES)
-+ {
- node += nodelen;
-
-- gchar *m_artist = get_search_value(node, "<span class=\"title\">", "<br />");
-- gchar *m_title = get_search_value(node, "<strong>", " Lyrics</strong>");
-+ gchar * m_artist = get_search_value (node,"<span class=\"title\">","<br />");
-+ gchar * m_title = get_search_value (node,"<strong>"," Lyrics</strong>");
-
-- if(levenshtein_strnormcmp(capo->s, capo->s->title, m_title) <= capo->s->fuzzyness &&
-- levenshtein_strnormcmp(capo->s, capo->s->artist, m_artist) <= capo->s->fuzzyness) {
-- gchar *relative_url = copy_value(node, strstr(node, "\">"));
-- if(relative_url != NULL) {
-- gchar *page_url = g_strdup_printf("www.metrolyrics.com/%s", relative_url);
-+ if (levenshtein_strnormcmp (capo->s,capo->s->title, m_title) <= capo->s->fuzzyness &&
-+ levenshtein_strnormcmp (capo->s,capo->s->artist,m_artist) <= capo->s->fuzzyness)
-+ {
-+ gchar * relative_url = copy_value (node, strstr (node,"\">") );
-+ if (relative_url != NULL)
-+ {
-+ gchar * page_url = g_strdup_printf ("www.metrolyrics.com/%s",relative_url);
-
- tries++;
-- GlyrMemCache *page_cache = download_single(page_url, capo->s, NULL);
--
-- if(page_cache != NULL) {
-- GlyrMemCache *result = parse_lyrics_page(page_cache->data);
-- if(result != NULL) {
-- result->dsrc = g_strdup(page_url);
-- result_list = g_list_prepend(result_list, result);
-+ GlyrMemCache * page_cache = download_single (page_url,capo->s,NULL);
-+
-+ if (page_cache != NULL)
-+ {
-+ GlyrMemCache * result = parse_lyrics_page (page_cache->data);
-+ if (result != NULL)
-+ {
-+ result->dsrc = g_strdup (page_url);
-+ result_list = g_list_prepend (result_list,result);
- }
-- DL_free(page_cache);
-+ DL_free (page_cache);
- }
-- g_free(page_url);
-- g_free(relative_url);
-+ g_free (page_url);
-+ g_free (relative_url);
- }
- }
-
-- g_free(m_artist);
-- g_free(m_title);
-+ g_free (m_artist);
-+ g_free (m_title);
-
- /* Only advertisment behind dist */
-- if(node >= end_of_earch) {
-- break;
-- }
-+ if (node >= end_of_earch) break;
- }
- }
- return result_list;
-@@ -147,7 +159,8 @@ static GList *lyrics_metrolyrics_parse(cb_object *capo)
-
- ///////////////////////////////////
-
--MetaDataSource lyrics_metrolyrics_src = {
-+MetaDataSource lyrics_metrolyrics_src =
-+{
- .name = "metrolyrics",
- .key = 'm',
- .parser = lyrics_metrolyrics_parse,
-diff --git a/lib/intern/lyrics/vagalume.c b/lib/intern/lyrics/vagalume.c
-index 7ffb2e2..0f7d9a9 100644
---- a/lib/intern/lyrics/vagalume.c
-+++ b/lib/intern/lyrics/vagalume.c
-@@ -29,13 +29,13 @@
-
- /**
- * Vagalume Provider written by: Felipe Bessa Coelho
-- *
-+ *
- * https://github.com/fcoelho
- *
- * Many thanks.
- */
-
--static const char *lyrics_vagalume_url(GlyrQuery *s)
-+static const char * lyrics_vagalume_url (GlyrQuery * s)
- {
- return VAGALUME_DOMAIN VAGALUME_PATH;
- }
-@@ -49,29 +49,28 @@ static gunichar get_unichar(const char *src)
- gint i;
-
- uchar = 0;
-- for(i = 0; i < 4; ++i) {
-+ for (i = 0; i < 4; ++i) {
- ch = src[i];
-- if(g_ascii_isxdigit(ch)) {
-+ if (g_ascii_isxdigit(ch))
- uchar += ((gunichar) g_ascii_xdigit_value(ch) << ((3 - i) * 4));
-- } else {
-+ else
- break;
-- }
- }
-
- return uchar;
- }
-
--static GString *vagalume_escape_text(const char *src, int len)
-+static GString * vagalume_escape_text(const char * src, int len)
- {
-- GString *output = g_string_sized_new(len);
-+ GString * output = g_string_sized_new(len);
-
-- for(int i = 0; i < len; ++i) {
-- if(src[i] == '\\') {
-+ for (int i = 0; i < len; ++i) {
-+ if (src[i] == '\\') {
- ++i;
-- if(src[i] == 'n') {
-+ if (src[i] == 'n') {
- output = g_string_append_c(output, '\n');
- continue;
-- } else if(src[i] == 'u') {
-+ } else if (src[i] == 'u') {
- ++i;
- /* this was taken from here:
- * https://git.gnome.org/browse/json-glib/tree/json-glib/json-scanner.c#n1116 */
-@@ -79,11 +78,11 @@ static GString *vagalume_escape_text(const char *src, int len)
- /* 4 characters read, the XXXX in \uXXXX, but we leave the last
- * increment to the for loop */
- i += 3;
-- if(g_unichar_type(ucs) == G_UNICODE_SURROGATE) {
-+ if (g_unichar_type(ucs) == G_UNICODE_SURROGATE) {
- /* read next surrogate, but first update our source string
- * pointer */
- ++i;
-- if('\\' == src[i++] && 'u' == src[i++]) {
-+ if ('\\' == src[i++] && 'u' == src[i++]) {
- gunichar ucs_lo = get_unichar(src + i);
- /* 6 characters read from \uXXXX: '\\', 'u' and XXXX,
- * but again, leave the last one to be updated by the
-@@ -104,28 +103,27 @@ static GString *vagalume_escape_text(const char *src, int len)
- return output;
- }
-
--static gboolean found_song(const char *json, jsmntok_t *tokens, int *cur_token, int *tokens_left)
-+static gboolean found_song (const char *json, jsmntok_t *tokens, int *cur_token, int *tokens_left)
- {
- gboolean found_key = false, song_found = false;
-
- /* check "type" key to see if song was found */
-- for(*cur_token = 0, *tokens_left = 1; *tokens_left > 0; ++ (*cur_token), -- (*tokens_left)) {
-- jsmntok_t *token = &tokens[*cur_token];
-+ for (*cur_token = 0, *tokens_left = 1; *tokens_left > 0; ++(*cur_token), --(*tokens_left)) {
-+ jsmntok_t * token = &tokens[*cur_token];
-
-- if(token->type == JSMN_ARRAY || token->type == JSMN_OBJECT) {
-+ if (token->type == JSMN_ARRAY || token->type == JSMN_OBJECT)
- *tokens_left += token->size;
-- }
-
-- if(token->type == JSMN_STRING) {
-+ if (token->type == JSMN_STRING) {
- size_t len = token->end - token->start;
- const char *text_start = json + token->start;
-
-- if(len == 4 && g_ascii_strncasecmp(text_start, "type", len) == 0) {
-+ if (len == 4 && g_ascii_strncasecmp(text_start, "type", len) == 0) {
- found_key = true;
- continue;
- }
-- if(found_key) {
-- if(len == 5 && g_ascii_strncasecmp(text_start, "exact", len) == 0) {
-+ if (found_key) {
-+ if (len == 5 && g_ascii_strncasecmp(text_start, "exact", len) == 0) {
- song_found = true;
- break;
- } else {
-@@ -136,35 +134,34 @@ static gboolean found_song(const char *json, jsmntok_t *tokens, int *cur_token,
- }
- }
- }
--
-+
- /* we return only here to make sure tokens_left is updated at the end of
- * the for loop (specially if we break out of it) */
- return song_found;
- }
-
--static jsmntok_t *get_text_token(const char *json, jsmntok_t *tokens, int *cur_token, int *tokens_left)
-+static jsmntok_t * get_text_token(const char *json, jsmntok_t *tokens, int *cur_token, int *tokens_left)
- {
- gboolean found_key = false;
-- jsmntok_t *text_token = NULL;
-+ jsmntok_t * text_token = NULL;
-
- /* find the first occurrence of "text" */
-- for(/* empty */; *tokens_left > 0; ++ (*cur_token), -- (*tokens_left)) {
-- jsmntok_t *token = &tokens[*cur_token];
-+ for (/* empty */; *tokens_left > 0; ++(*cur_token), --(*tokens_left)) {
-+ jsmntok_t * token = &tokens[*cur_token];
-
-- if(token->type == JSMN_ARRAY || token->type == JSMN_OBJECT) {
-+ if (token->type == JSMN_ARRAY || token->type == JSMN_OBJECT)
- *tokens_left += token->size;
-- }
-
-- if(token->type == JSMN_STRING) {
-+ if (token->type == JSMN_STRING) {
- size_t len = token->end - token->start;
- const char *text_start = json + token->start;
-
-- if(len == 4 && g_ascii_strncasecmp(text_start, "text", len) == 0) {
-+ if (len == 4 && g_ascii_strncasecmp(text_start, "text", len) == 0) {
- found_key = true;
- continue;
- }
-
-- if(found_key) {
-+ if (found_key) {
- /* this is it */
- text_token = token;
- break;
-@@ -175,9 +172,9 @@ static jsmntok_t *get_text_token(const char *json, jsmntok_t *tokens, int *cur_t
- return text_token;
- }
-
--static GList *lyrics_vagalume_parse(cb_object *capo)
-+static GList * lyrics_vagalume_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
- /* jsmn variables */
- jsmn_parser parser;
-@@ -195,17 +192,18 @@ static GList *lyrics_vagalume_parse(cb_object *capo)
-
- parse_result = jsmn_parse(&parser, json, tokens, 512);
-
-- if(parse_result == JSMN_SUCCESS) {
-+ if (parse_result == JSMN_SUCCESS)
-+ {
- gboolean song_found = found_song(json, tokens, &cur_token, &tokens_left);
-- if(song_found) {
-- jsmntok_t *text_token = get_text_token(json, tokens, &cur_token, &tokens_left);
-- if(text_token) {
-- const char *lyrics_start = json + text_token->start;
-+ if (song_found) {
-+ jsmntok_t * text_token = get_text_token(json, tokens, &cur_token, &tokens_left);
-+ if (text_token) {
-+ const char * lyrics_start = json + text_token->start;
- size_t len = text_token->end - text_token->start;
-
-- GlyrMemCache *cache = DL_init();
-- if(cache != NULL) {
-- GString *data = vagalume_escape_text(lyrics_start, len);
-+ GlyrMemCache * cache = DL_init();
-+ if (cache != NULL) {
-+ GString * data = vagalume_escape_text(lyrics_start, len);
-
- cache->data = data->str;
- cache->size = data->len;
-@@ -225,7 +223,8 @@ static GList *lyrics_vagalume_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource lyrics_vagalume_src = {
-+MetaDataSource lyrics_vagalume_src =
-+{
- .name = "vagalume",
- .key = 'g',
- .parser = lyrics_vagalume_parse,
-diff --git a/lib/intern/musictree/musictree.c b/lib/intern/musictree/musictree.c
-index 4b5b4a1..e881ecf 100644
---- a/lib/intern/musictree/musictree.c
-+++ b/lib/intern/musictree/musictree.c
-@@ -4,19 +4,21 @@
- #include "../../register_plugins.h"
-
- //static gboolean path_go_up(char * song_dir_path);
--static GList *find_in_musictree(const gchar *song_file_path, const gchar *regex, gint up_to, GlyrQuery *query);
--static void foreach_file(const gchar *song_dir_path, const GRegex *cRegex, GlyrQuery *query, GList **retv_list);
-+static GList * find_in_musictree (const gchar * song_file_path, const gchar * regex, gint up_to,GlyrQuery * query);
-+static void foreach_file (const gchar * song_dir_path, const GRegex * cRegex, GlyrQuery * query, GList ** retv_list);
-
- //---------------------------------------------------
-
--static gchar *get_file_contents(const gchar *filename, gsize *len)
-+static gchar * get_file_contents (const gchar * filename, gsize * len)
- {
-- gchar *content = NULL;
-- GError *file_error = NULL;
-- if(filename != NULL) {
-- if(g_file_get_contents(filename, &content, len, &file_error) == FALSE) {
-- glyr_message(-1, NULL, "Error while reading file '%s': %s\n", filename, file_error->message);
-- g_error_free(file_error);
-+ gchar * content = NULL;
-+ GError * file_error = NULL;
-+ if (filename != NULL)
-+ {
-+ if (g_file_get_contents (filename,&content,len,&file_error) == FALSE)
-+ {
-+ glyr_message (-1,NULL,"Error while reading file '%s': %s\n",filename,file_error->message);
-+ g_error_free (file_error);
- }
- }
- return content;
-@@ -24,12 +26,14 @@ static gchar *get_file_contents(const gchar *filename, gsize *len)
-
- //---------------------------------------------------
-
--static GLYR_DATA_TYPE get_data_type_from_query(GlyrQuery *query)
-+static GLYR_DATA_TYPE get_data_type_from_query (GlyrQuery * query)
- {
- GLYR_DATA_TYPE type = GLYR_TYPE_UNKNOWN;
-- for(GList *elem = r_getFList(); elem != NULL; elem = elem->next) {
-- MetaDataFetcher *fetcher = elem->data;
-- if(fetcher != NULL && fetcher->type == query->type) {
-+ for (GList * elem = r_getFList(); elem != NULL; elem = elem->next)
-+ {
-+ MetaDataFetcher * fetcher = elem->data;
-+ if (fetcher != NULL && fetcher->type == query->type)
-+ {
- type = fetcher->default_data_type;
- break;
- }
-@@ -39,119 +43,137 @@ static GLYR_DATA_TYPE get_data_type_from_query(GlyrQuery *query)
-
- //---------------------------------------------------
-
--static void file_to_cache(GList **list, GlyrQuery *query, gchar *data, gsize size)
-+static void file_to_cache (GList ** list, GlyrQuery * query, gchar * data, gsize size)
- {
-- if(list != NULL && data != NULL) {
-- GlyrMemCache *item = DL_init();
-- glyr_cache_set_data(item, data, size);
-- item->type = get_data_type_from_query(query);
-- item->dsrc = g_strdup("musictree");
-- item->prov = g_strdup("musictree");
--
-- if(TYPE_IS_IMAGE(query->type)) {
-- item->img_format = g_strdup("jpeg");
-+ if (list != NULL && data != NULL)
-+ {
-+ GlyrMemCache * item = DL_init();
-+ glyr_cache_set_data (item,data,size);
-+ item->type = get_data_type_from_query (query);
-+ item->dsrc = g_strdup ("musictree");
-+ item->prov = g_strdup ("musictree");
-+
-+ if (TYPE_IS_IMAGE (query->type) )
-+ {
-+ item->img_format = g_strdup ("jpeg");
- item->is_image = TRUE;
-- } else {
-+ }
-+ else
-+ {
- item->is_image = FALSE;
- }
-
-- *list = g_list_prepend(*list, item);
-+ *list = g_list_prepend (*list, item);
- }
- }
-
- //---------------------------------------------------
-
--static void foreach_file(const gchar *song_dir_path, const GRegex *cRegex, GlyrQuery *query, GList **retv_list)
-+static void foreach_file (const gchar * song_dir_path, const GRegex * cRegex, GlyrQuery * query, GList ** retv_list)
- {
-- if(song_dir_path != NULL) {
-- GError *dir_error = NULL;
-- GDir *song_dir = g_dir_open(song_dir_path, 0, &dir_error);
-- if(song_dir != NULL) {
-- const gchar *entry = NULL;
-- while((entry = g_dir_read_name(song_dir)) != NULL) {
-- if(regex_match_compiled(entry, cRegex) == TRUE) {
-+ if (song_dir_path != NULL)
-+ {
-+ GError * dir_error = NULL;
-+ GDir * song_dir = g_dir_open (song_dir_path,0,&dir_error);
-+ if (song_dir != NULL)
-+ {
-+ const gchar * entry = NULL;
-+ while ( (entry = g_dir_read_name (song_dir) ) != NULL)
-+ {
-+ if (regex_match_compiled (entry,cRegex) == TRUE)
-+ {
-
- gsize size = 0;
-- gchar *absolute_path = g_strdup_printf("%s%c%s", song_dir_path, G_DIR_SEPARATOR, entry);
-+ gchar * absolute_path = g_strdup_printf ("%s%c%s",song_dir_path,G_DIR_SEPARATOR,entry);
-
-- if(absolute_path != NULL) {
-+ if (absolute_path != NULL)
-+ {
- /* Read file */
-- gchar *file_path = g_filename_from_utf8(absolute_path, -1, NULL, NULL, NULL);
-- gchar *retv = get_file_contents(file_path, &size);
-- g_free(file_path);
-- g_free(absolute_path);
-+ gchar * file_path = g_filename_from_utf8 (absolute_path, -1, NULL, NULL, NULL);
-+ gchar * retv = get_file_contents (file_path,&size);
-+ g_free (file_path);
-+ g_free (absolute_path);
-
- /* Add file to result list if not null */
-- file_to_cache(retv_list, query, retv, size);
-+ file_to_cache (retv_list,query,retv,size);
-
- /* Not requested more? */
-- if(g_list_length(*retv_list) >= (gsize) query->number) {
-+ if (g_list_length (*retv_list) >= (gsize) query->number)
- break;
-- }
- }
- }
- }
-- g_dir_close(song_dir);
-- } else {
-- glyr_message(-1, NULL, "Opening %s failed: %s\n", song_dir_path, dir_error->message);
-- g_error_free(dir_error);
-+ g_dir_close (song_dir);
-+ }
-+ else
-+ {
-+ glyr_message (-1,NULL,"Opening %s failed: %s\n",song_dir_path,dir_error->message);
-+ g_error_free (dir_error);
- }
- }
- }
-
- //---------------------------------------------------
-
--static gchar *path_go_up(char *song_dir_path)
-+static gchar * path_go_up (char * song_dir_path)
- {
-- if(song_dir_path != NULL) {
-- song_dir_path = g_strstrip(song_dir_path);
-- if(g_str_has_suffix(song_dir_path, "/")) {
-- gsize len = strlen(song_dir_path);
-- song_dir_path[len - 1] = '\0';
-+ if (song_dir_path != NULL)
-+ {
-+ song_dir_path = g_strstrip (song_dir_path);
-+ if (g_str_has_suffix (song_dir_path, "/") )
-+ {
-+ gsize len = strlen (song_dir_path);
-+ song_dir_path[len-1] = '\0';
- }
-
-- return g_path_get_dirname(song_dir_path);
-+ return g_path_get_dirname (song_dir_path);
- }
- return NULL;
- }
-
- //---------------------------------------------------
-
--static GList *find_in_musictree(const gchar *song_file_path, const gchar *regex, gint up_to, GlyrQuery *query)
-+static GList * find_in_musictree (const gchar * song_file_path, const gchar * regex, gint up_to,GlyrQuery * query)
- {
-- GList *retv_list = NULL;
-+ GList * retv_list = NULL;
-
-- gchar *song_dir_path = NULL;
-- if(g_file_test(song_file_path, G_FILE_TEST_IS_DIR)) {
-- song_dir_path = g_strdup(song_file_path);
-- } else {
-- song_dir_path = g_path_get_dirname(song_file_path);
-+ gchar * song_dir_path = NULL;
-+ if (g_file_test (song_file_path,G_FILE_TEST_IS_DIR) )
-+ {
-+ song_dir_path = g_strdup (song_file_path);
-+ }
-+ else
-+ {
-+ song_dir_path = g_path_get_dirname (song_file_path);
- }
-
-- if(song_dir_path != NULL) {
-- gchar *tmp = song_dir_path;
-- song_dir_path = g_filename_from_utf8(song_dir_path, -1, NULL, NULL, NULL);
-- g_free(tmp);
-+ if (song_dir_path != NULL)
-+ {
-+ gchar * tmp = song_dir_path;
-+ song_dir_path = g_filename_from_utf8 (song_dir_path, -1, NULL, NULL, NULL);
-+ g_free (tmp);
- }
-
-- if(song_dir_path != NULL) {
-+ if (song_dir_path != NULL)
-+ {
- /* Compile the regex just once */
-- GRegex *compiled_regex = g_regex_new(regex, G_REGEX_CASELESS, 0, NULL);
-- if(compiled_regex != NULL) {
-- for(gint i = 0; i < up_to; ++i) {
-+ GRegex * compiled_regex = g_regex_new (regex,G_REGEX_CASELESS, 0, NULL);
-+ if (compiled_regex != NULL)
-+ {
-+ for (gint i = 0; i < up_to; ++i)
-+ {
- /* Check every single file */
-- foreach_file(song_dir_path, compiled_regex, query, &retv_list);
-+ foreach_file (song_dir_path,compiled_regex, query, &retv_list);
-
- /* Cannot go up anymore */
-- if((song_dir_path = path_go_up(song_dir_path)) == NULL) {
-+ if ( (song_dir_path = path_go_up (song_dir_path) ) == NULL)
- break;
-- }
- }
-
- /* Forgot the regex */
-- g_regex_unref(compiled_regex);
-+ g_regex_unref (compiled_regex);
- }
-- g_free(song_dir_path);
-+ g_free (song_dir_path);
- }
- return retv_list;
- }
-@@ -160,23 +182,24 @@ static GList *find_in_musictree(const gchar *song_file_path, const gchar *regex,
-
- #define REGEX_ESCAPE(str) \
- (str != NULL) ? \
-- g_regex_escape_string(str, 1) \
-+ g_regex_escape_string(str,-1) \
- : NULL
-
--static gchar *configure_regex(const gchar *regex, GlyrQuery *subs)
-+static gchar * configure_regex (const gchar * regex, GlyrQuery * subs)
- {
-- gchar *correct_regex = NULL;
-- if(regex && subs) {
-+ gchar * correct_regex = NULL;
-+ if (regex && subs)
-+ {
- GlyrQuery temp;
-- temp.artist = REGEX_ESCAPE(subs->artist);
-- temp.album = REGEX_ESCAPE(subs->album);
-- temp.title = REGEX_ESCAPE(subs->title);
-+ temp.artist = REGEX_ESCAPE (subs->artist);
-+ temp.album = REGEX_ESCAPE (subs->album);
-+ temp.title = REGEX_ESCAPE (subs->title);
-
-- correct_regex = prepare_url(regex, &temp, FALSE);
-+ correct_regex = prepare_url (regex,&temp,FALSE);
-
-- g_free(temp.artist);
-- g_free(temp.album);
-- g_free(temp.title);
-+ g_free (temp.artist);
-+ g_free (temp.album );
-+ g_free (temp.title );
- }
- return correct_regex;
- }
-@@ -186,7 +209,7 @@ static gchar *configure_regex(const gchar *regex, GlyrQuery *subs)
-
- /* PROVIDER STUFF */
-
--static const gchar *musictree_provider_url(GlyrQuery *query)
-+static const gchar * musictree_provider_url (GlyrQuery * query)
- {
- /* Flag this as a Offline provider */
- return OFFLINE_PROVIDER;
-@@ -194,15 +217,16 @@ static const gchar *musictree_provider_url(GlyrQuery *query)
-
- //---------------------------------------------------
-
--static GList *musictree_provider_parse(cb_object *capo)
-+static GList * musictree_provider_parse (cb_object * capo)
- {
-- GList *retv_list = NULL;
-+ GList * retv_list = NULL;
-
- gint recurse_depth;
-- const gchar *search_regex = NULL;
-+ const gchar * search_regex = NULL;
-
- /* The actual regexes are shamelessly ripped of GMPC */
-- switch(capo->s->type) {
-+ switch (capo->s->type)
-+ {
- case GLYR_GET_COVERART:
- search_regex = "^(folder|front|album|AlbumArt|cover|.*${album}.*)\\.(jpg|png|jpeg|gif)";
- recurse_depth = 3;
-@@ -226,18 +250,20 @@ static GList *musictree_provider_parse(cb_object *capo)
- break;
- }
-
-- if(search_regex != NULL && capo->s->musictree_path != NULL) {
-- gchar *correct_regex = configure_regex(search_regex, capo->s);
-- retv_list = find_in_musictree(capo->s->musictree_path, correct_regex, recurse_depth, capo->s);
-+ if (search_regex != NULL && capo->s->musictree_path != NULL)
-+ {
-+ gchar * correct_regex = configure_regex (search_regex,capo->s);
-+ retv_list = find_in_musictree (capo->s->musictree_path,correct_regex,recurse_depth,capo->s);
-
-- g_free(correct_regex);
-+ g_free (correct_regex);
- }
- return retv_list;
- }
-
- //---------------------------------------------------
-
--MetaDataSource musictree_provider_src = {
-+MetaDataSource musictree_provider_src =
-+{
- .name = "musictree",
- .key = 't',
- .parser = musictree_provider_parse,
-diff --git a/lib/intern/photos.c b/lib/intern/photos.c
-index 17b8de9..c25aa86 100644
---- a/lib/intern/photos.c
-+++ b/lib/intern/photos.c
-@@ -23,15 +23,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_img_finalizer(s, list, stop_me, GLYR_TYPE_ARTIST_PHOTO, result_list);
-+ return generic_img_finalizer (s,list,stop_me,GLYR_TYPE_ARTIST_PHOTO,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_artistphotos = {
-+MetaDataFetcher glyrFetcher_artistphotos =
-+{
- .name = "artistphoto",
- .type = GLYR_GET_ARTIST_PHOTOS,
- .default_data_type = GLYR_TYPE_ARTIST_PHOTO,
-diff --git a/lib/intern/photos/bbcmusic.c b/lib/intern/photos/bbcmusic.c
-index 8295133..a88ada3 100644
---- a/lib/intern/photos/bbcmusic.c
-+++ b/lib/intern/photos/bbcmusic.c
-@@ -31,42 +31,47 @@
- #define CONTENT_BEGIN "<image><src>"
- #define CONTENT_ENDIN "</src></image>"
-
--static GlyrMemCache *parse_bbc_xml(GlyrMemCache *input)
-+static GlyrMemCache * parse_bbc_xml (GlyrMemCache * input)
- {
-- GlyrMemCache *result = NULL;
-- char *content = get_search_value(input->data, CONTENT_BEGIN, CONTENT_ENDIN);
-- if(content != NULL) {
-+ GlyrMemCache * result = NULL;
-+ char * content = get_search_value (input->data, CONTENT_BEGIN, CONTENT_ENDIN);
-+ if (content != NULL)
-+ {
- result = DL_init();
- result->data = content;
-- result->dsrc = g_strdup(input->dsrc);
-- result->size = strlen(content);
-+ result->dsrc = g_strdup (input->dsrc);
-+ result->size = strlen (content);
- }
- return result;
- }
-
- /////////////////////////////////
-
--static const char *photos_bbcmusic_url(GlyrQuery *qry)
-+static const char * photos_bbcmusic_url (GlyrQuery * qry)
- {
- return "http://musicbrainz.org/ws/2/artist?query=artist:${artist}";
- }
-
- /////////////////////////////////
-
--static GList *photos_bbcmusic_parse(cb_object *capo)
-+static GList * photos_bbcmusic_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- char *mbid = mbid_parse_data(capo->cache, "artist", "name", capo->s->artist, capo->s);
-+ char * mbid = mbid_parse_data (capo->cache, "artist", "name", capo->s->artist, capo->s);
-
-- if(mbid != NULL) {
-- char *full_url = g_strdup_printf(API_ROOT, mbid);
-- if(full_url != NULL) {
-- GlyrMemCache *bbc_xml = download_single(full_url, capo->s, NULL);
-- if(bbc_xml != NULL) {
-- GlyrMemCache *item = parse_bbc_xml(bbc_xml);
-- if(item != NULL) {
-- result_list = g_list_prepend(result_list, item);
-+ if (mbid != NULL)
-+ {
-+ char * full_url = g_strdup_printf (API_ROOT, mbid);
-+ if (full_url != NULL)
-+ {
-+ GlyrMemCache * bbc_xml = download_single (full_url, capo->s, NULL);
-+ if (bbc_xml != NULL)
-+ {
-+ GlyrMemCache * item = parse_bbc_xml (bbc_xml);
-+ if (item != NULL)
-+ {
-+ result_list = g_list_prepend (result_list, item);
- }
- DL_free(bbc_xml);
- }
-@@ -80,7 +85,8 @@ static GList *photos_bbcmusic_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_bbcmusic_src = {
-+MetaDataSource photos_bbcmusic_src =
-+{
- .name = "bbcmusic",
- .key = 'b',
- .free_url = false,
-diff --git a/lib/intern/photos/discogs.c b/lib/intern/photos/discogs.c
-index 6814398..a9d73e5 100644
---- a/lib/intern/photos/discogs.c
-+++ b/lib/intern/photos/discogs.c
-@@ -52,39 +52,42 @@
- #define THUMB_SUBDNOE "\"thumb\": \""
- #define FOLLR_SUBNODE "\"uri\": \""
- #define NODE THUMB_SUBDNOE
--#define ENDOF_SUBNODE "\",
-+#define ENDOF_SUBNODE "\","
-
-
- /////////////////////////////////////////////////////
-
--static bool check_artist_album(GlyrQuery *q, const char *artist)
-+static bool check_artist_album (GlyrQuery * q, const char * artist)
- {
-- return levenshtein_strnormcmp(q, q->artist, artist) <= q->fuzzyness;
-+ return levenshtein_strnormcmp (q,q->artist, artist) <= q->fuzzyness;
-
- }
-
- /////////////////////////////////////////////////////
-
--static GlyrMemCache *transform_url(cb_object *s, const char *url)
-+static GlyrMemCache * transform_url (cb_object * s, const char * url)
- {
-- GlyrMemCache *rc = NULL;
-- size_t rc_size = strlen(url);
-- char *rc_url = g_strdup(url);
--
-- if(rc_url != NULL) {
-- char *slash = strrchr(rc_url, '/');
-- if(slash != NULL) {
-- char *sp = strchr(slash, '-');
-- if(sp != NULL) {
-- char *ep = strchr(sp + 1, '-');
-+ GlyrMemCache * rc = NULL;
-+ size_t rc_size = strlen (url);
-+ char * rc_url = g_strdup (url);
-+
-+ if (rc_url != NULL)
-+ {
-+ char * slash = strrchr (rc_url,'/');
-+ if (slash != NULL)
-+ {
-+ char * sp = strchr (slash,'-');
-+ if (sp != NULL)
-+ {
-+ char * ep = strchr (sp + 1, '-');
- if(ep != NULL) {
- size_t rest_len = rc_size - (ep - rc_url) + 1;
-- memmove(sp, ep, rest_len);
-+ memmove (sp,ep,rest_len);
-
- rc = DL_init();
-- rc->data = (char *) rc_url;
-- rc->size = strlen(url);
-- rc->dsrc = g_strdup(s->url);
-+ rc->data = (char*) rc_url;
-+ rc->size = strlen (url);
-+ rc->dsrc = g_strdup (s->url);
- }
- }
- }
-@@ -96,37 +99,41 @@ static GlyrMemCache *transform_url(cb_object *s, const char *url)
- /////////////////////////////////////////////////////
- /////////////////////////////////////////////////////
-
--static const char *photos_discogs_url(GlyrQuery *q)
-+static const char * photos_discogs_url (GlyrQuery * q)
- {
- return API_ENTRY;
- }
-
- /////////////////////////////////////////////////////
-
--static GList *photos_discogs_parse(cb_object *capo)
-+static GList * photos_discogs_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
- /* Jump to the very first node 'directly' */
-- gchar *node = capo->cache->data;
-+ gchar * node = capo->cache->data;
-
-- while(continue_search(g_list_length(result_list), capo->s)
-- && (node = strstr(node + (sizeof NODE) - 1, NODE)) != NULL) {
-+ while (continue_search (g_list_length (result_list),capo->s)
-+ && (node = strstr (node + (sizeof NODE) - 1,NODE) ) != NULL)
-+ {
-
-- char *artist_album = get_search_value(node, TITLE_SUBNODE, ENDOF_SUBNODE);
-- if(artist_album && check_artist_album(capo->s, artist_album)) {
-+ char * artist_album = get_search_value (node,TITLE_SUBNODE,ENDOF_SUBNODE);
-+ if (artist_album && check_artist_album (capo->s,artist_album) )
-+ {
-
-- char *thumb_url = get_search_value(node, THUMB_SUBDNOE, ENDOF_SUBNODE);
-- if(thumb_url) {
-+ char * thumb_url = get_search_value (node,THUMB_SUBDNOE,ENDOF_SUBNODE);
-+ if (thumb_url)
-+ {
-
-- GlyrMemCache *p = transform_url(capo, thumb_url);
-- if(p != NULL) {
-- result_list = g_list_prepend(result_list, p);
-+ GlyrMemCache * p = transform_url (capo,thumb_url);
-+ if (p != NULL)
-+ {
-+ result_list = g_list_prepend (result_list,p);
- }
-- g_free(thumb_url);
-+ g_free (thumb_url);
- }
- }
-- g_free(artist_album);
-+ g_free (artist_album);
- }
-
- return result_list;
-@@ -134,7 +141,8 @@ static GList *photos_discogs_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_discogs_src = {
-+MetaDataSource photos_discogs_src =
-+{
- .name = "discogs",
- .key = 'd',
- .parser = photos_discogs_parse,
-diff --git a/lib/intern/photos/flickr.c b/lib/intern/photos/flickr.c
-index 55c2c87..03001a6 100644
---- a/lib/intern/photos/flickr.c
-+++ b/lib/intern/photos/flickr.c
-@@ -25,55 +25,59 @@
-
- /////////////////////////////////
-
--static const gchar *photos_flickr_url(GlyrQuery *settings)
-+static const gchar * photos_flickr_url (GlyrQuery * settings)
- {
-- if(settings->img_max_size <= 175 && settings->img_max_size != -1) {
-+ if (settings->img_max_size <= 175 && settings->img_max_size != -1)
-+ {
- return NULL;
- }
-
-- gchar *url = g_strdup_printf("http://api.flickr.com/services/rest/"
-- "?method=flickr.photos.search&"
-- "api_key="API_KEY_FLICKR"&"
-- "tags=%s&"
-- "media=photos&"
-- "group_id=29928242 at N00&"
-- "content_type=6&"
-- "sort=interestingness-asc&"
-- "per_page=%d",
-- settings->artist,
-- settings->number
-- );
-+ gchar * url = g_strdup_printf ("http://api.flickr.com/services/rest/"
-+ "?method=flickr.photos.search&"
-+ "api_key="API_KEY_FLICKR"&"
-+ "tags=%s&"
-+ "media=photos&"
-+ "group_id=29928242 at N00&"
-+ "content_type=6&"
-+ "sort=interestingness-asc&"
-+ "per_page=%d",
-+ settings->artist,
-+ settings->number
-+ );
- return url;
- }
-
- /////////////////////////////////
-
--static GList *photos_flickr_parse(cb_object *capo)
-+static GList * photos_flickr_parse (cb_object * capo)
- {
-- gchar *ph_begin = capo->cache->data;
-- GList *result_list = NULL;
-+ gchar * ph_begin = capo->cache->data;
-+ GList * result_list = NULL;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (ph_begin = strstr(ph_begin, LINE_BEGIN)) != NULL) {
-- gchar *ph_end = strstr(ph_begin, LINE_ENDIN);
-- if(ph_end != NULL) {
-- gchar *linebf = copy_value(ph_begin, ph_end);
-- if(linebf != NULL) {
-- gchar *ID = get_search_value(linebf, "id=\"", "\"");
-- gchar *SC = get_search_value(linebf, "secret=\"", "\"");
-- gchar *SV = get_search_value(linebf, "server=\"", "\"");
-- gchar *FR = get_search_value(linebf, "farm=\"", "\"");
-+ while (continue_search (g_list_length (result_list),capo->s) && (ph_begin=strstr (ph_begin,LINE_BEGIN) ) != NULL)
-+ {
-+ gchar * ph_end = strstr (ph_begin,LINE_ENDIN);
-+ if (ph_end != NULL)
-+ {
-+ gchar * linebf = copy_value (ph_begin,ph_end);
-+ if (linebf != NULL)
-+ {
-+ gchar * ID = get_search_value (linebf, "id=\"","\"");
-+ gchar * SC = get_search_value (linebf, "secret=\"","\"");
-+ gchar * SV = get_search_value (linebf, "server=\"","\"");
-+ gchar * FR = get_search_value (linebf, "farm=\"","\"");
-
-- GlyrMemCache *cache = DL_init();
-- cache->data = g_strdup_printf("http://farm%s.static.flickr.com/%s/%s_%s.jpg", FR, SV, ID, SC);
-- cache->size = strlen(cache->data);
-- result_list = g_list_prepend(result_list, cache);
-+ GlyrMemCache * cache = DL_init();
-+ cache->data = g_strdup_printf ("http://farm%s.static.flickr.com/%s/%s_%s.jpg",FR,SV,ID,SC);
-+ cache->size = strlen (cache->data);
-+ result_list = g_list_prepend (result_list,cache);
-
-- g_free(ID);
-- g_free(SC);
-- g_free(SV);
-- g_free(FR);
-+ g_free (ID);
-+ g_free (SC);
-+ g_free (SV);
-+ g_free (FR);
-
-- g_free(linebf);
-+ g_free (linebf);
- }
- }
- }
-@@ -82,7 +86,8 @@ static GList *photos_flickr_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_flickr_src = {
-+MetaDataSource photos_flickr_src =
-+{
- .name = "flickr",
- .key = 'f',
- .parser = photos_flickr_parse,
-diff --git a/lib/intern/photos/google.c b/lib/intern/photos/google.c
-index 48b8946..4d65095 100644
---- a/lib/intern/photos/google.c
-+++ b/lib/intern/photos/google.c
-@@ -23,27 +23,29 @@
-
- /////////////////////////////////
-
--static const gchar *photos_google_url(GlyrQuery *s)
-+static const gchar * photos_google_url (GlyrQuery * s)
- {
-- const gchar *result = NULL;
-- gchar *searchterm = g_strdup("${artist}+band+photos");
-- if(searchterm != NULL) {
-- result = generic_google_url(s, searchterm);
-- g_free(searchterm);
-+ const gchar * result = NULL;
-+ gchar * searchterm = g_strdup ("${artist}+band+photos");
-+ if (searchterm != NULL)
-+ {
-+ result = generic_google_url (s,searchterm);
-+ g_free (searchterm);
- }
- return result;
- }
-
- /////////////////////////////////
-
--static GList *photos_google_parse(cb_object *capo)
-+static GList * photos_google_parse (cb_object * capo)
- {
-- return generic_google_parse(capo);
-+ return generic_google_parse (capo);
- }
-
- /////////////////////////////////
-
--MetaDataSource photos_google_src = {
-+MetaDataSource photos_google_src =
-+{
- .name = "google",
- .key = 'g',
- .parser = photos_google_parse,
-diff --git a/lib/intern/photos/lastfm.c b/lib/intern/photos/lastfm.c
-index f764c5d..204a9b8 100644
---- a/lib/intern/photos/lastfm.c
-+++ b/lib/intern/photos/lastfm.c
-@@ -26,43 +26,49 @@
-
- /////////////////////////////////
-
--static const gchar *photos_lastfm_url(GlyrQuery *settings)
-+static const gchar * photos_lastfm_url (GlyrQuery * settings)
- {
- return "http://ws.audioscrobbler.com/2.0/?method=artist.getimages&autocorrect=1&artist=${artist}&api_key="API_KEY_LASTFM;
- }
-
- /////////////////////////////////
-
--static gboolean size_fits(GlyrQuery *s, gchar **ref)
-+static gboolean size_fits (GlyrQuery * s, gchar ** ref)
- {
- gboolean result = FALSE;
-- if(ref != NULL) {
-- gchar *search_ptr = ref[0];
-- if(search_ptr != NULL) {
-- search_ptr = strchr(search_ptr, '"');
-+ if (ref != NULL)
-+ {
-+ gchar * search_ptr = ref[0];
-+ if (search_ptr != NULL)
-+ {
-+ search_ptr = strchr (search_ptr,'"');
-
- gint ratio = 0;
-- gchar *width_string = get_search_value(search_ptr, "width=\"", "\"");
-- gchar *height_string = get_search_value(search_ptr, "height=\"", "\"");
-- if(width_string && height_string) {
-- ratio = (strtol(width_string, NULL, 10) + strtol(height_string, NULL, 10)) / 2;
-+ gchar * width_string = get_search_value (search_ptr,"width=\"","\"");
-+ gchar * height_string = get_search_value (search_ptr,"height=\"","\"");
-+ if (width_string && height_string)
-+ {
-+ ratio = (strtol (width_string,NULL,10) + strtol (height_string,NULL,10) ) /2;
- }
-- g_free(width_string);
-- g_free(height_string);
-+ g_free (width_string);
-+ g_free (height_string);
-
- gboolean original_size_allowed = TRUE;
-- if(g_strstr_len(ref[0], 100, "original") != NULL) {
-+ if (g_strstr_len (ref[0],100,"original") != NULL)
-+ {
- /* Deny extremelly large images by default, except explicitely wanted */
-- if(!(ratio >= 1000 && s->img_min_size >= 1000 && s->img_max_size == -1)) {
-+ if (! (ratio >= 1000 && s->img_min_size >= 1000 && s->img_max_size == -1) )
-+ {
- original_size_allowed = FALSE;
- }
- }
-
-- if(size_is_okay(ratio, s->img_min_size, s->img_max_size) == TRUE && original_size_allowed == TRUE) {
-+ if (size_is_okay (ratio, s->img_min_size, s->img_max_size) == TRUE && original_size_allowed == TRUE)
-+ {
- result = TRUE;
- }
-
-- search_ptr = strchr(search_ptr, '>');
-+ search_ptr = strchr (search_ptr,'>');
- }
- ref[0] = search_ptr + 1;
- }
-@@ -71,22 +77,26 @@ static gboolean size_fits(GlyrQuery *s, gchar **ref)
-
- /////////////////////////////////
-
--static GList *photos_lastfm_parse(cb_object *capo)
-+static GList * photos_lastfm_parse (cb_object * capo)
- {
-- gchar *root = capo->cache->data;
-- GList *result_list = NULL;
-+ gchar * root = capo->cache->data;
-+ GList * result_list = NULL;
-
-- while(continue_search(g_list_length(result_list), capo->s) && (root = strstr(root, SIZE_FO)) != NULL) {
-- gchar *begin = root + strlen(SIZE_FO);
-- if(size_fits(capo->s, &begin) == TRUE) {
-- gchar *endin = strstr(begin, URL_ENDIN);
-- if(endin != NULL) {
-- gchar *urlb = copy_value(begin, endin);
-- if(urlb != NULL) {
-- GlyrMemCache *cache = DL_init();
-+ while (continue_search (g_list_length (result_list),capo->s) && (root = strstr (root,SIZE_FO) ) != NULL)
-+ {
-+ gchar * begin = root + strlen (SIZE_FO);
-+ if (size_fits (capo->s,&begin) == TRUE)
-+ {
-+ gchar * endin = strstr (begin,URL_ENDIN);
-+ if (endin != NULL)
-+ {
-+ gchar * urlb = copy_value (begin,endin);
-+ if (urlb != NULL)
-+ {
-+ GlyrMemCache * cache = DL_init();
- cache->data = urlb;
-- cache->size = strlen(urlb);
-- result_list = g_list_prepend(result_list, cache);
-+ cache->size = strlen (urlb);
-+ result_list = g_list_prepend (result_list,cache);
- }
- }
- }
-@@ -97,7 +107,8 @@ static GList *photos_lastfm_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_lastfm_src = {
-+MetaDataSource photos_lastfm_src =
-+{
- .name = "lastfm",
- .key = 'l',
- .parser = photos_lastfm_parse,
-diff --git a/lib/intern/photos/picsearch.c b/lib/intern/photos/picsearch.c
-index b739257..5bafc0c 100644
---- a/lib/intern/photos/picsearch.c
-+++ b/lib/intern/photos/picsearch.c
-@@ -23,20 +23,21 @@
-
- /////////////////////////////////
-
--static const gchar *photos_picsearch_url(GlyrQuery *s)
-+static const gchar * photos_picsearch_url (GlyrQuery * s)
- {
-- return generic_picsearch_url(s, "${artist}+band");
-+ return generic_picsearch_url (s,"${artist}+band");
- }
-
- /////////////////////////////////
--static GList *photos_picsearch_parse(cb_object *capo)
-+static GList * photos_picsearch_parse (cb_object * capo)
- {
-- return generic_picsearch_parse(capo);
-+ return generic_picsearch_parse (capo);
- }
-
- /////////////////////////////////
-
--MetaDataSource photos_picsearch_src = {
-+MetaDataSource photos_picsearch_src =
-+{
- .name = "picsearch",
- .key = 'p',
- .parser = photos_picsearch_parse,
-diff --git a/lib/intern/photos/rhapsody.c b/lib/intern/photos/rhapsody.c
-index 12a54e1..bc21516 100644
---- a/lib/intern/photos/rhapsody.c
-+++ b/lib/intern/photos/rhapsody.c
-@@ -23,18 +23,21 @@
-
- /////////////////////////////////
-
--static gchar *translate_string(gchar *string)
-+static gchar * translate_string (gchar * string)
- {
-- gchar *result = NULL;
-- if(string != NULL) {
-- gchar *beautiful = beautify_string(string);
-- if(beautiful != NULL) {
-- gchar *downcase = g_utf8_strdown(beautiful, -1);
-- if(downcase != NULL) {
-- result = translate_umlauts(downcase);
-- g_free(downcase);
-+ gchar * result = NULL;
-+ if (string != NULL)
-+ {
-+ gchar * beautiful = beautify_string (string);
-+ if (beautiful != NULL)
-+ {
-+ gchar * downcase = g_utf8_strdown (beautiful,-1);
-+ if (downcase != NULL)
-+ {
-+ result = translate_umlauts (downcase);
-+ g_free (downcase);
- }
-- g_free(beautiful);
-+ g_free (beautiful);
- }
- }
- return result;
-@@ -42,35 +45,39 @@ static gchar *translate_string(gchar *string)
-
- /////////////////////////////////
-
--static const gchar *photos_rhapsody_url(GlyrQuery *query)
-+static const gchar * photos_rhapsody_url (GlyrQuery * query)
- {
-- gchar *result = NULL;
-- if(query->img_min_size <= 135) {
-- gchar *corrected_artist = translate_string(query->artist);
-- if(corrected_artist != NULL) {
-- result = g_strdup_printf("http://feeds.rhapsody.com/%s/data.xml", corrected_artist);
-+ gchar * result = NULL;
-+ if (query->img_min_size <= 135)
-+ {
-+ gchar * corrected_artist = translate_string (query->artist);
-+ if (corrected_artist != NULL)
-+ {
-+ result = g_strdup_printf ("http://feeds.rhapsody.com/%s/data.xml",corrected_artist);
- }
-- g_free(corrected_artist);
-+ g_free (corrected_artist);
- }
- return result;
- }
-
- /////////////////////////////////
-
--static gboolean check_size(GlyrQuery *s, gchar *ref)
-+static gboolean check_size (GlyrQuery * s, gchar * ref)
- {
- gboolean result = FALSE;
-- if(ref != NULL) {
-- gchar *width_str = get_search_value(ref, "width=\"", "\"");
-- gchar *height_str = get_search_value(ref, "height=\"", "\"");
-- if(width_str && height_str) {
-- gint width = strtol(width_str, NULL, 10);
-- gint height = strtol(height_str, NULL, 10);
-+ if (ref != NULL)
-+ {
-+ gchar * width_str = get_search_value (ref,"width=\"","\"");
-+ gchar * height_str = get_search_value (ref,"height=\"","\"");
-+ if (width_str && height_str)
-+ {
-+ gint width = strtol (width_str, NULL,10);
-+ gint height = strtol (height_str,NULL,10);
-
-- result = size_is_okay((width + height) / 2 + 10, s->img_min_size, s->img_max_size);
-+ result = size_is_okay ( (width+height) /2 + 10,s->img_min_size,s->img_max_size);
- }
-- g_free(width_str);
-- g_free(height_str);
-+ g_free (width_str);
-+ g_free (height_str);
- }
- return result;
- }
-@@ -81,24 +88,28 @@ static gboolean check_size(GlyrQuery *s, gchar *ref)
- #define DELIM_END "</art>"
- #define NODE "<img "
-
--static GList *photos_rhapsody_parse(cb_object *capo)
-+static GList * photos_rhapsody_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- gchar *delim_beg = strstr(capo->cache->data, DELIM_BEG);
-- gchar *delim_end = strstr(capo->cache->data, DELIM_END);
-+ GList * result_list = NULL;
-+ gchar * delim_beg = strstr (capo->cache->data,DELIM_BEG);
-+ gchar * delim_end = strstr (capo->cache->data,DELIM_END);
-
-- if(delim_beg && delim_end) {
-- gchar *node = delim_beg;
-+ if (delim_beg && delim_end)
-+ {
-+ gchar * node = delim_beg;
- gsize nd_len = (sizeof NODE) - 1;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + nd_len, NODE)) && node < delim_end) {
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node + nd_len, NODE) ) && node < delim_end)
-+ {
- node += nd_len;
-- if(check_size(capo->s, node) == TRUE) {
-- gchar *url = get_search_value(node, "src=\"", "\"");
-- if(url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ if (check_size (capo->s,node) == TRUE)
-+ {
-+ gchar * url = get_search_value (node,"src=\"","\"");
-+ if (url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = url;
-- result->size = strlen(url);
-- result_list = g_list_prepend(result_list, result);
-+ result->size = strlen (url);
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -109,7 +120,8 @@ static GList *photos_rhapsody_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_rhapsody_src = {
-+MetaDataSource photos_rhapsody_src =
-+{
- .name = "rhapsody",
- .key = 'r',
- .parser = photos_rhapsody_parse,
-diff --git a/lib/intern/photos/singerpictures.c b/lib/intern/photos/singerpictures.c
-index d21f6c7..994cee5 100644
---- a/lib/intern/photos/singerpictures.c
-+++ b/lib/intern/photos/singerpictures.c
-@@ -22,23 +22,24 @@
-
- #define SPICS_BASE_URL "http://www.singerpictures.com/%s-pictures.html"
-
--static const gchar *photos_singerlyrics_url(GlyrQuery *settings)
-+static const gchar * photos_singerlyrics_url (GlyrQuery * settings)
- {
-- gchar *result_url = NULL;
-- gchar *space_to_min_artist = strreplace(settings->artist, " ", "-");
-- if(space_to_min_artist != NULL) {
-- gchar *prep_artist = NULL;
-- if(settings->normalization & GLYR_NORMALIZE_ARTIST) {
-- prep_artist = prepare_string(space_to_min_artist, settings->normalization, TRUE);
-- } else {
-- prep_artist = prepare_string(space_to_min_artist, GLYR_NORMALIZE_NONE, TRUE);
-+ gchar * result_url = NULL;
-+ gchar * space_to_min_artist = strreplace (settings->artist," ","-");
-+ if (space_to_min_artist != NULL)
-+ {
-+ gchar * prep_artist = NULL;
-+ if(settings->normalization & GLYR_NORMALIZE_ARTIST)
-+ prep_artist = prepare_string (space_to_min_artist, settings->normalization,TRUE);
-+ else
-+ prep_artist = prepare_string (space_to_min_artist, GLYR_NORMALIZE_NONE,TRUE);
-+
-+ if (prep_artist != NULL)
-+ {
-+ result_url = g_strdup_printf (SPICS_BASE_URL,prep_artist);
-+ g_free (prep_artist);
- }
--
-- if(prep_artist != NULL) {
-- result_url = g_strdup_printf(SPICS_BASE_URL, prep_artist);
-- g_free(prep_artist);
-- }
-- g_free(space_to_min_artist);
-+ g_free (space_to_min_artist);
- }
- return result_url;
- }
-@@ -49,39 +50,45 @@ static const gchar *photos_singerlyrics_url(GlyrQuery *settings)
- #define SIZE_END "<br>"
- #define MAX_NUM_SIZE 16
-
--static gboolean check_image_size(GlyrQuery *s, gchar *ref_to_img_start)
-+static gboolean check_image_size (GlyrQuery * s, gchar * ref_to_img_start)
- {
-- if(s->img_min_size == -1 && s->img_max_size == -1) {
-+ if (s->img_min_size == -1 && s->img_max_size == -1)
-+ {
- return TRUE;
- }
-
- gboolean result = FALSE;
-- gchar *size_begin = strstr(ref_to_img_start, SIZE_BEGIN);
-- if(size_begin != NULL) {
-+ gchar * size_begin = strstr (ref_to_img_start,SIZE_BEGIN);
-+ if (size_begin != NULL)
-+ {
- size_begin += (sizeof SIZE_BEGIN) - 1;
-- gchar *size_end = strstr(size_begin, SIZE_END);
-- if(size_end != NULL) {
-- gchar size_buf[2][MAX_NUM_SIZE] = {{}, {}};
-+ gchar * size_end = strstr (size_begin,SIZE_END);
-+ if (size_end != NULL)
-+ {
-+ gchar size_buf[2][MAX_NUM_SIZE] = {{},{}};
- gint copy_to = 0, offset = 0;
-
- /* Parse the 'x_one X y_one' field */
-- for(gint it = 0; &size_begin[it] != size_end && it < MAX_NUM_SIZE; it++) {
-- if(size_begin[it] == 'X') {
-+ for (gint it = 0; &size_begin[it] != size_end && it < MAX_NUM_SIZE; it++)
-+ {
-+ if (size_begin[it] == 'X')
-+ {
- copy_to = 1;
- offset = 0;
-- } else {
-+ }
-+ else
-+ {
- size_buf[copy_to][offset++] = size_begin[it];
- }
- }
-
-- gint x = g_ascii_strtoll(size_buf[0], NULL, 10);
-- gint y = g_ascii_strtoll(size_buf[0], NULL, 10);
-- gint ratio = (x + y) / 2;
-+ gint x = g_ascii_strtoll (size_buf[0],NULL,10);
-+ gint y = g_ascii_strtoll (size_buf[0],NULL,10);
-+ gint ratio = (x+y) /2;
-
-- if((s->img_min_size == -1 || ratio >= s->img_min_size) &&
-- (s->img_max_size == -1 || ratio <= s->img_max_size)) {
-+ if ( (s->img_min_size == -1 || ratio >= s->img_min_size) &&
-+ (s->img_max_size == -1 || ratio <= s->img_max_size) )
- result = TRUE;
-- }
- }
- }
- return result;
-@@ -93,22 +100,25 @@ static gboolean check_image_size(GlyrQuery *s, gchar *ref_to_img_start)
- #define URL_ID_START "rel=\"nofollow\"><img src='/images/pic/"
- #define URL_ID_END "_th."
-
--static GList *photos_singerlyrics_parse(cb_object *capo)
-+static GList * photos_singerlyrics_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
- gsize len = (sizeof URL_ID_START) - 1;
-- gchar *url_id_start = capo->cache->data;
--
-- while((continue_search(g_list_length(result_list), capo->s) && (url_id_start = strstr(url_id_start + len, URL_ID_START)) != NULL)) {
-- if(check_image_size(capo->s, url_id_start)) {
-- gchar *ID = get_search_value(url_id_start, URL_ID_START, URL_ID_END);
-- if(ID != NULL) {
-- GlyrMemCache *item = DL_init();
-- item->data = g_strdup_printf(FINAL_BASE_URL, ID);
-- item->size = strlen(item->data);
--
-- result_list = g_list_prepend(result_list, item);
-- g_free(ID);
-+ gchar * url_id_start = capo->cache->data;
-+
-+ while ( (continue_search (g_list_length (result_list),capo->s) && (url_id_start = strstr (url_id_start + len,URL_ID_START) ) != NULL) )
-+ {
-+ if (check_image_size (capo->s, url_id_start) )
-+ {
-+ gchar * ID = get_search_value (url_id_start,URL_ID_START,URL_ID_END);
-+ if (ID != NULL)
-+ {
-+ GlyrMemCache * item = DL_init();
-+ item->data = g_strdup_printf (FINAL_BASE_URL,ID);
-+ item->size = strlen (item->data);
-+
-+ result_list = g_list_prepend (result_list, item);
-+ g_free (ID);
- }
- }
- }
-@@ -117,7 +127,8 @@ static GList *photos_singerlyrics_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource photos_singerpictures_src = {
-+MetaDataSource photos_singerpictures_src =
-+{
- .name = "singerpictures",
- .key = 's',
- .parser = photos_singerlyrics_parse,
-diff --git a/lib/intern/relations.c b/lib/intern/relations.c
-index 3bc9b7c..654fb92 100644
---- a/lib/intern/relations.c
-+++ b/lib/intern/relations.c
-@@ -22,15 +22,16 @@
- #include "../stringlib.h"
- #include "generic.h"
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_RELATION, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_RELATION,result_list);
- }
-
- //-------------------------------------
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_relations = {
-+MetaDataFetcher glyrFetcher_relations =
-+{
- .name = "relations",
- .type = GLYR_GET_RELATIONS,
- .default_data_type = GLYR_TYPE_RELATION,
-diff --git a/lib/intern/relations/generated.c b/lib/intern/relations/generated.c
-index 03946c7..0413f6f 100644
---- a/lib/intern/relations/generated.c
-+++ b/lib/intern/relations/generated.c
-@@ -22,52 +22,57 @@
-
- /////////////////////////////////
-
--static GList *relations_generated_parse(cb_object *capo)
-+static GList * relations_generated_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-- GList *temple_list = NULL;
-+ GList * result_list = NULL;
-+ GList * temple_list = NULL;
-
-- if(capo->s->title && capo->s->album) {
-- temple_list = g_list_prepend(temple_list, "Musicbrainz Recording:http://musicbrainz.org/search?query=\"${title}\"+AND+artist%3A\"${artist}\"+AND+release%3A\"${album}\"&type=recording&advanced=1");
-+ if (capo->s->title && capo->s->album)
-+ {
-+ temple_list = g_list_prepend (temple_list,"Musicbrainz Recording:http://musicbrainz.org/search?query=\"${title}\"+AND+artist%3A\"${artist}\"+AND+release%3A\"${album}\"&type=recording&advanced=1");
- }
-
-- if(capo->s->album) {
-- temple_list = g_list_prepend(temple_list, "Musicbrainz Album:http://musicbrainz.org/search?query=\"${album}\"+AND+artist%3A\"${artist}\"&type=release&advanced=1");
-- temple_list = g_list_prepend(temple_list, "Wikipedia Album:http://en.wikipedia.org/wiki/Special:Search/${album}(${artist})");
-+ if (capo->s->album)
-+ {
-+ temple_list = g_list_prepend (temple_list,"Musicbrainz Album:http://musicbrainz.org/search?query=\"${album}\"+AND+artist%3A\"${artist}\"&type=release&advanced=1");
-+ temple_list = g_list_prepend (temple_list,"Wikipedia Album:http://en.wikipedia.org/wiki/Special:Search/${album}(${artist})");
- }
-
-- temple_list = g_list_prepend(temple_list, "Musicbrainz Artist:http://musicbrainz.org/search?query=\"${artist}\"&type=artist");
-- temple_list = g_list_prepend(temple_list, "Wikipedia Artist:http://en.wikipedia.org/wiki/Special:Search/${artist}");
-- temple_list = g_list_prepend(temple_list, "Lastfm Page:http://last.fm/music/${artist}");
-+ temple_list = g_list_prepend (temple_list,"Musicbrainz Artist:http://musicbrainz.org/search?query=\"${artist}\"&type=artist");
-+ temple_list = g_list_prepend (temple_list,"Wikipedia Artist:http://en.wikipedia.org/wiki/Special:Search/${artist}");
-+ temple_list = g_list_prepend (temple_list,"Lastfm Page:http://last.fm/music/${artist}");
-
-- for(GList *elem = temple_list; elem; elem = elem->next) {
-- gchar *result_url = prepare_url(elem->data, capo->s, TRUE);
-- if(result_url != NULL) {
-- GlyrMemCache *result = DL_init();
-+ for (GList * elem = temple_list; elem; elem = elem->next)
-+ {
-+ gchar * result_url = prepare_url (elem->data, capo->s,TRUE);
-+ if (result_url != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = result_url;
-- result->size = strlen(result_url);
-- result->dsrc = g_strdup(OFFLINE_PROVIDER);
-- result->prov = g_strdup("generated");
-+ result->size = strlen (result_url);
-+ result->dsrc = g_strdup (OFFLINE_PROVIDER);
-+ result->prov = g_strdup ("generated");
- result->type = GLYR_TYPE_RELATION;
-- update_md5sum(result);
-- result_list = g_list_prepend(result_list, result);
-+ update_md5sum (result);
-+ result_list = g_list_prepend (result_list, result);
- }
- }
-
-- g_list_free(temple_list);
-+ g_list_free (temple_list);
- return result_list;
- }
-
- /////////////////////////////////
-
--static const gchar *relations_generated_url(GlyrQuery *sets)
-+static const gchar * relations_generated_url (GlyrQuery * sets)
- {
- return OFFLINE_PROVIDER;
- }
-
- /////////////////////////////////
-
--MetaDataSource relations_generated_src = {
-+MetaDataSource relations_generated_src =
-+{
- .name = "generated",
- .key = 'g',
- .parser = relations_generated_parse,
-diff --git a/lib/intern/relations/musicbrainz.c b/lib/intern/relations/musicbrainz.c
-index 46fe48c..722de00 100644
---- a/lib/intern/relations/musicbrainz.c
-+++ b/lib/intern/relations/musicbrainz.c
-@@ -27,52 +27,58 @@
- #define RELATION_BEGIN_TYPE "<relation"
-
- /* Wrap around the (a bit more) generic versions */
--static GList *relations_musicbrainz_parse(cb_object *capo)
-+static GList * relations_musicbrainz_parse (cb_object * capo)
- {
-- GList *results = NULL;
-+ GList * results = NULL;
- gint mbid_marker = 0;
-- while(continue_search(g_list_length(results), capo->s)) {
-- GlyrMemCache *infobuf = generic_musicbrainz_parse(capo, &mbid_marker, "url-rels");
-- if(infobuf == NULL) {
-+ while (continue_search (g_list_length (results), capo->s) )
-+ {
-+ GlyrMemCache * infobuf = generic_musicbrainz_parse (capo,&mbid_marker,"url-rels");
-+ if (infobuf == NULL)
-+ {
- break;
- }
- gsize nlen = (sizeof RELATION_BEGIN_TYPE) - 1;
-- gchar *node = strstr(infobuf->data, RELATION_TARGLYR_GET_TYPE);
-- if(node != NULL) {
-+ gchar * node = strstr (infobuf->data,RELATION_TARGLYR_GET_TYPE);
-+ if (node != NULL)
-+ {
- gint ctr = 0;
-- while(continue_search(ctr, capo->s) && (node = strstr(node + nlen, RELATION_BEGIN_TYPE))) {
-+ while (continue_search (ctr,capo->s) && (node = strstr (node+nlen,RELATION_BEGIN_TYPE) ) )
-+ {
- node += nlen;
-- gchar *target = get_search_value(node, "target=\"", "\"");
-- gchar *type = get_search_value(node, "type=\"", "\"");
-+ gchar * target = get_search_value (node,"target=\"","\"");
-+ gchar * type = get_search_value (node,"type=\"","\"");
-
-- if(type != NULL && target != NULL) {
-- GlyrMemCache *tmp = DL_init();
-- tmp->data = g_strdup_printf("%s:%s", type, target);
-- tmp->size = strlen(tmp->data);
-- tmp->dsrc = g_strdup(infobuf->dsrc);
-- results = g_list_prepend(results, tmp);
-+ if (type != NULL && target != NULL)
-+ {
-+ GlyrMemCache * tmp = DL_init();
-+ tmp->data = g_strdup_printf ("%s:%s",type,target);
-+ tmp->size = strlen (tmp->data);
-+ tmp->dsrc = g_strdup (infobuf->dsrc);
-+ results = g_list_prepend (results,tmp);
- ctr++;
-
-- g_free(type);
-- g_free(target);
-+ g_free (type);
-+ g_free (target);
- }
- }
- }
-- DL_free(infobuf);
-+ DL_free (infobuf);
- }
- return results;
- }
-
- /////////////////////////////////
-
--static const gchar *relations_musicbrainz_url(GlyrQuery *sets)
-+static const gchar * relations_musicbrainz_url (GlyrQuery * sets)
- {
-- return generic_musicbrainz_url(sets);
-+ return generic_musicbrainz_url (sets);
- }
-
- /////////////////////////////////
-
--MetaDataSource relations_musicbrainz_src = {
-+MetaDataSource relations_musicbrainz_src =
-+{
- .name = "musicbrainz",
- .key = 'm',
- .parser = relations_musicbrainz_parse,
-diff --git a/lib/intern/review.c b/lib/intern/review.c
-index 76d2ebc..927feef 100644
---- a/lib/intern/review.c
-+++ b/lib/intern/review.c
-@@ -24,27 +24,30 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
- /* Fix up messy text, escape chars etc. */
-- for(GList *elem = list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-+ for (GList * elem = list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-
-- gchar *temp = beautify_string(item->data);
-- g_free(item->data);
-+ gchar * temp = beautify_string (item->data);
-+ g_free (item->data);
- item->data = temp;
-- item->size = (item->data) ? strlen(item->data) : 0;
-+ item->size = (item->data) ? strlen (item->data) : 0;
- }
- }
-
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_ALBUM_REVIEW, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_ALBUM_REVIEW,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_review = {
-+MetaDataFetcher glyrFetcher_review =
-+{
- .name = "albumreview",
- .type = GLYR_GET_ALBUM_REVIEW,
- .default_data_type = GLYR_TYPE_ALBUM_REVIEW,
-diff --git a/lib/intern/review/amazon.c b/lib/intern/review/amazon.c
-index 36f04c8..735bac3 100644
---- a/lib/intern/review/amazon.c
-+++ b/lib/intern/review/amazon.c
-@@ -21,29 +21,32 @@
- #include "../../stringlib.h"
- #include "../common/amazon.h"
-
--static const gchar *review_amazon_url(GlyrQuery *settings)
-+static const gchar * review_amazon_url (GlyrQuery * settings)
- {
-- return generic_amazon_url(settings, "EditorialReview");
-+ return generic_amazon_url (settings,"EditorialReview");
- }
-
- #define TheContent "<Content>"
- #define TheEndofCt "</Content>"
--static GList *review_amazon_parse(cb_object *capo)
-+static GList * review_amazon_parse (cb_object * capo)
- {
-- gchar *node = capo->cache->data;
-+ gchar * node = capo->cache->data;
- gsize conlen = (sizeof TheContent) - 1;
-- GList *result_list = NULL;
-- while(continue_search(g_list_length(result_list), capo->s) && (node = strstr(node + conlen, TheContent)) != NULL) {
-- gchar *endOfText = strstr(node + conlen, TheEndofCt);
-- gchar *text = copy_value(node + conlen, endOfText);
-- if(text != NULL) {
-+ GList * result_list = NULL;
-+ while (continue_search (g_list_length (result_list),capo->s) && (node = strstr (node+conlen,TheContent) ) != NULL)
-+ {
-+ gchar * endOfText = strstr (node+conlen,TheEndofCt);
-+ gchar * text = copy_value (node+conlen,endOfText);
-+ if (text != NULL)
-+ {
- /* Ignore reviews with 350 chars
- * as mostly just advertisement */
-- if((endOfText - (node + conlen)) > 350) {
-- GlyrMemCache *result = DL_init();
-+ if ( (endOfText - (node+conlen) ) > 350)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = text;
-- result->size = result->data ? strlen(result->data) : 0;
-- result_list = g_list_prepend(result_list, result);
-+ result->size = result->data ? strlen (result->data) : 0;
-+ result_list = g_list_prepend (result_list,result);
- }
- }
- }
-@@ -52,7 +55,8 @@ static GList *review_amazon_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource review_amazon_src = {
-+MetaDataSource review_amazon_src =
-+{
- .name = "amazon",
- .key = 'a',
- .parser = review_amazon_parse,
-diff --git a/lib/intern/review/echonest.c b/lib/intern/review/echonest.c
-index bbd686b..79f57fc 100644
---- a/lib/intern/review/echonest.c
-+++ b/lib/intern/review/echonest.c
-@@ -24,21 +24,21 @@
- /* JSON Parsing */
- #include "../../jsmn/jsmn.h"
-
--static const gchar *review_echonest_url(GlyrQuery *s)
-+static const gchar * review_echonest_url (GlyrQuery * s)
- {
- return "http://developer.echonest.com/api/v4/artist/reviews?api_key="API_KEY_ECHONEST"&results=${number}&format=json&name=${artist}";
- }
-
- /////////////////////////////////
-
--static int strip_escapes(char *text, int len)
-+static int strip_escapes(char * text, int len)
- {
- int offset = 0;
-
-- for(int i = 0; i < len; ++i) {
-- if(text[i] == '\\') {
-+ for (int i = 0; i < len; ++i) {
-+ if (text[i] == '\\') {
- ++i;
-- if(text[i] == 'n') {
-+ if (text[i] == 'n') {
- text[offset++] = '\n';
- continue;
- }
-@@ -51,11 +51,10 @@ static int strip_escapes(char *text, int len)
-
- /////////////////////////////////
-
--static GList *add_result(GList *results, cb_object *capo, char *url, char *summary, char *release)
--{
-- if(levenshtein_strnormcmp(capo->s, capo->s->album, release) <= capo->s->fuzzyness) {
-- if(strlen(summary) >= 125) {
-- GlyrMemCache *result = DL_init();
-+static GList *add_result(GList *results, cb_object *capo, char *url, char *summary, char *release) {
-+ if (levenshtein_strnormcmp(capo->s, capo->s->album, release) <= capo->s->fuzzyness) {
-+ if (strlen(summary) >= 125) {
-+ GlyrMemCache * result = DL_init();
- result->data = g_strdup_printf("%s\n \n \nRead more on: %s\n", summary, url);
- result->size = strlen(result->data);
- result->size -= strip_escapes(result->data, result->size);
-@@ -67,9 +66,9 @@ static GList *add_result(GList *results, cb_object *capo, char *url, char *summa
-
- /////////////////////////////////
-
--static bool json_is_key(jsmntok_t tokens[], int current, char *json, char *key)
-+static bool json_is_key(jsmntok_t tokens[], int current, char *json, char *key)
- {
-- jsmntok_t *token = &tokens[current];
-+ jsmntok_t * token = &tokens[current];
- return (token->type == JSMN_STRING &&
- g_ascii_strncasecmp(
- json + token->start,
-@@ -80,10 +79,10 @@ static bool json_is_key(jsmntok_t tokens[], int current, char *json, char *key)
-
- /////////////////////////////////
-
--static char *json_get_next_value(jsmntok_t tokens[], int current, char *json)
-+static char * json_get_next_value(jsmntok_t tokens[], int current, char *json)
- {
- jsmntok_t *next_token = &tokens[current + 1];
-- if(next_token != NULL && next_token->type == JSMN_STRING) {
-+ if (next_token != NULL && next_token->type == JSMN_STRING) {
- return g_strndup(json + next_token->start, next_token->end - next_token->start);
- } else {
- return NULL;
-@@ -97,14 +96,14 @@ static char *json_get_next_value(jsmntok_t tokens[], int current, char *json)
- g_free(name); \
- name = json_get_next_value(tokens, i++, json); \
- } \
--
--static GList *review_echonest_parse(cb_object *capo)
-+
-+static GList * review_echonest_parse (cb_object * capo)
- {
-- char *json = capo->cache->data;
-+ char * json = capo->cache->data;
- const int num_tokens = 512;
-+
-
--
-- GList *results = NULL;
-+ GList * results = NULL;
-
- /* jasmin stuff */
- jsmn_parser parser;
-@@ -126,9 +125,9 @@ static GList *review_echonest_parse(cb_object *capo)
- /* Save partial results here */
- char *url = NULL, *summary = NULL, *release = NULL;
-
-- if(error == JSMN_SUCCESS) {
-- for(int i = 0; i < num_tokens; ++i) {
-- jsmntok_t *token = &tokens[i];
-+ if (error == JSMN_SUCCESS) {
-+ for (int i = 0; i < num_tokens; ++i) {
-+ jsmntok_t * token = &tokens[i];
-
- /* End of tokens? */
- if(token->start <= 0 && token->end <= 0) {
-@@ -139,9 +138,9 @@ static GList *review_echonest_parse(cb_object *capo)
- JSON_GET_VALUE_IF_KEY(summary, "summary");
- JSON_GET_VALUE_IF_KEY(release, "release");
-
-- char *next_bracket = strchr(json + token->start, '}');
-- if(next_bracket > curr_bracket) {
-- if(url && summary && release) {
-+ char * next_bracket = strchr(json + token->start, '}');
-+ if (next_bracket > curr_bracket) {
-+ if (url && summary && release) {
- results = add_result(results, capo, url, summary, release);
- }
- curr_bracket = next_bracket;
-@@ -149,7 +148,7 @@ static GList *review_echonest_parse(cb_object *capo)
-
- }
-
-- if(url && summary && release) {
-+ if (url && summary && release) {
- results = add_result(results, capo, url, summary, release);
- }
-
-@@ -165,7 +164,8 @@ static GList *review_echonest_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource review_echonest_src = {
-+MetaDataSource review_echonest_src =
-+{
- .name = "echonest",
- .key = 'e',
- .free_url = false,
-@@ -175,5 +175,5 @@ MetaDataSource review_echonest_src = {
- .quality = 70,
- .speed = 85,
- .endmarker = NULL,
-- .lang_aware = false
-+ .lang_aware = false
- };
-diff --git a/lib/intern/review/metallum.c b/lib/intern/review/metallum.c
-index c722f69..f79bc6f 100644
---- a/lib/intern/review/metallum.c
-+++ b/lib/intern/review/metallum.c
-@@ -28,7 +28,7 @@
- "&iColumns=3&sColumns=&iDisplayStart=0" \
- "&iDisplayLength=100&sNames=%%2C%%2C"
-
--static const gchar *review_metallum_url(GlyrQuery *s)
-+static const gchar * review_metallum_url (GlyrQuery * s)
- {
- return AJAX_URL;
- }
-@@ -36,54 +36,61 @@ static const gchar *review_metallum_url(GlyrQuery *s)
- #define REVIEW_START "<div class=\"reviewContent\">"
- #define REVIEW_END "</div>"
-
--static void parse_review_site(GlyrQuery *s, GlyrMemCache *cache, GList **result_items)
-+static void parse_review_site (GlyrQuery * s, GlyrMemCache * cache, GList ** result_items)
- {
-- if(cache != NULL) {
-+ if (cache != NULL)
-+ {
- gsize nodelen = (sizeof REVIEW_START) - 1;
-- gchar *node = cache->data;
-+ gchar * node = cache->data;
-
-- while(continue_search(g_list_length(*result_items), s) && (node = strstr(node + nodelen, REVIEW_START)) != NULL) {
-- gchar *data = get_search_value(node, REVIEW_START, REVIEW_END);
-- if(data != NULL) {
-- GlyrMemCache *item = DL_init();
-+ while (continue_search (g_list_length (*result_items),s) && (node = strstr (node+nodelen,REVIEW_START) ) != NULL)
-+ {
-+ gchar * data = get_search_value (node,REVIEW_START,REVIEW_END);
-+ if (data != NULL)
-+ {
-+ GlyrMemCache * item = DL_init();
-
-- gchar *kill_br = strreplace(data, " <br />\n", "");
-- item->data = strreplace(kill_br, ". ", ".\n");
-- item->size = strlen(item->data);
-- item->dsrc = g_strdup(cache->dsrc);
-- *result_items = g_list_prepend(*result_items, item);
-+ gchar * kill_br = strreplace (data," <br />\n","");
-+ item->data = strreplace (kill_br,". ",".\n");
-+ item->size = strlen (item->data);
-+ item->dsrc = g_strdup (cache->dsrc);
-+ *result_items = g_list_prepend (*result_items, item);
-
-- g_free(kill_br);
-- g_free(data);
-+ g_free (kill_br);
-+ g_free (data);
- }
- }
-- DL_free(cache);
-+ DL_free (cache);
- }
- }
-
- #define NODE_START "\"<a href=\\\""
- #define NODE_END "\\\">"
-
--static GList *review_metallum_parse(cb_object *capo)
-+static GList * review_metallum_parse (cb_object * capo)
- {
-- GList *result_items = NULL;
-+ GList * result_items = NULL;
-
-- gsize nodelen = strlen(NODE_START);
-- gchar *node = capo->cache->data;
-+ gsize nodelen = strlen (NODE_START);
-+ gchar * node = capo->cache->data;
- gint node_ctr = 0;
-
-- while((node = strstr(node + nodelen, NODE_START)) != NULL) {
-+ while ( (node = strstr (node+nodelen,NODE_START) ) != NULL)
-+ {
- /* Only take the album url, not the other urls */
-- if(++node_ctr % 2 == 0) {
-+ if (++node_ctr % 2 == 0)
-+ {
- node += nodelen;
-- gchar *content_url = copy_value(node, strstr(node, NODE_END));
-- if(content_url != NULL) {
-- gchar *review_url = strreplace(content_url, "/albums/", "/reviews/");
-- if(review_url != NULL) {
-- parse_review_site(capo->s, download_single(review_url, capo->s, NULL), &result_items);
-- g_free(review_url);
-+ gchar * content_url = copy_value (node,strstr (node,NODE_END) );
-+ if (content_url != NULL)
-+ {
-+ gchar * review_url = strreplace (content_url,"/albums/","/reviews/");
-+ if (review_url != NULL)
-+ {
-+ parse_review_site (capo->s, download_single (review_url,capo->s,NULL), &result_items);
-+ g_free (review_url);
- }
-- g_free(content_url);
-+ g_free (content_url);
- }
- }
- }
-@@ -91,7 +98,8 @@ static GList *review_metallum_parse(cb_object *capo)
- }
-
-
--MetaDataSource review_metallum_src = {
-+MetaDataSource review_metallum_src =
-+{
- .name = "metallum",
- .key = 'e',
- .parser = review_metallum_parse,
-diff --git a/lib/intern/similar_artist.c b/lib/intern/similar_artist.c
-index 8a3def7..d0ce6af 100644
---- a/lib/intern/similar_artist.c
-+++ b/lib/intern/similar_artist.c
-@@ -24,15 +24,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_SIMILAR_SONG, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_SIMILAR_SONG,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_similar_artists = {
-+MetaDataFetcher glyrFetcher_similar_artists =
-+{
- .name = "similarartists",
- .type = GLYR_GET_SIMILAR_ARTISTS,
- .default_data_type = GLYR_TYPE_SIMILAR_ARTIST,
-diff --git a/lib/intern/similar_artist/lastfm.c b/lib/intern/similar_artist/lastfm.c
-index 9de4e3f..0139a8c 100644
---- a/lib/intern/similar_artist/lastfm.c
-+++ b/lib/intern/similar_artist/lastfm.c
-@@ -22,7 +22,7 @@
-
- #define API_KEY API_KEY_LASTFM
-
--static const char *similar_lastfm_url(GlyrQuery *sets)
-+static const char * similar_lastfm_url (GlyrQuery * sets)
- {
- return "http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=${artist}&api_key="API_KEY;
- }
-@@ -43,48 +43,52 @@ static const char *similar_lastfm_url(GlyrQuery *sets)
- #define IMAGE_X_BEGIN "<image size=\"mega\">"
- #define IMAGE_ENDIN "</image>"
-
--static GList *similar_lastfm_parse(cb_object *capo)
-+static GList * similar_lastfm_parse (cb_object * capo)
- {
-- GList *results = NULL;
-- gchar *find = capo->cache->data;
-- while(continue_search(g_list_length(results), capo->s) && (find = strstr(find + 1, "<artist>")) != NULL) {
-- gchar *name = get_search_value(find, NAME_BEGIN, NAME_ENDIN);
-- gchar *match = get_search_value(find, MATCH_BEGIN, MATCH_ENDIN);
-- gchar *url = get_search_value(find, URL_BEGIN, URL_ENDIN);
-+ GList * results = NULL;
-+ gchar * find = capo->cache->data;
-+ while (continue_search (g_list_length (results),capo->s) && (find = strstr (find+1, "<artist>") ) != NULL)
-+ {
-+ gchar * name = get_search_value (find,NAME_BEGIN,NAME_ENDIN);
-+ gchar * match = get_search_value (find,MATCH_BEGIN,MATCH_ENDIN);
-+ gchar * url = get_search_value (find,URL_BEGIN,URL_ENDIN);
-
-- gchar *img_s = get_search_value(find, IMAGE_S_BEGIN, IMAGE_ENDIN);
-- gchar *img_m = get_search_value(find, IMAGE_M_BEGIN, IMAGE_ENDIN);
-- gchar *img_l = get_search_value(find, IMAGE_L_BEGIN, IMAGE_ENDIN);
-- gchar *img_e = get_search_value(find, IMAGE_E_BEGIN, IMAGE_ENDIN);
-- gchar *img_x = get_search_value(find, IMAGE_X_BEGIN, IMAGE_ENDIN);
-- gchar *composed = g_strdup_printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", name, match, url, img_s, img_m, img_l, img_e, img_x);
-+ gchar * img_s = get_search_value (find,IMAGE_S_BEGIN,IMAGE_ENDIN);
-+ gchar * img_m = get_search_value (find,IMAGE_M_BEGIN,IMAGE_ENDIN);
-+ gchar * img_l = get_search_value (find,IMAGE_L_BEGIN,IMAGE_ENDIN);
-+ gchar * img_e = get_search_value (find,IMAGE_E_BEGIN,IMAGE_ENDIN);
-+ gchar * img_x = get_search_value (find,IMAGE_X_BEGIN,IMAGE_ENDIN);
-+ gchar * composed = g_strdup_printf ("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",name,match,url,img_s,img_m,img_l,img_e,img_x);
-
-- if(composed != NULL) {
-- GlyrMemCache *result = DL_init();
-+ if (composed != NULL)
-+ {
-+ GlyrMemCache * result = DL_init();
- result->data = composed;
-- result->size = strlen(composed);
-- results = g_list_prepend(results, result);
-+ result->size = strlen (composed);
-+ results = g_list_prepend (results, result);
- }
-
-- if(results != NULL) {
-- results = g_list_reverse(results);
-+ if (results != NULL)
-+ {
-+ results = g_list_reverse (results);
- }
-
-- g_free(name);
-- g_free(match);
-- g_free(url);
-- g_free(img_s);
-- g_free(img_m);
-- g_free(img_l);
-- g_free(img_e);
-- g_free(img_x);
-+ g_free (name);
-+ g_free (match);
-+ g_free (url);
-+ g_free (img_s);
-+ g_free (img_m);
-+ g_free (img_l);
-+ g_free (img_e);
-+ g_free (img_x);
- }
- return results;
- }
-
- /////////////////////////////////
-
--MetaDataSource similar_artist_lastfm_src = {
-+MetaDataSource similar_artist_lastfm_src =
-+{
- .name = "lastfm",
- .key = 'l',
- .parser = similar_lastfm_parse,
-diff --git a/lib/intern/similar_song.c b/lib/intern/similar_song.c
-index 2a1f726..fd12596 100644
---- a/lib/intern/similar_song.c
-+++ b/lib/intern/similar_song.c
-@@ -24,15 +24,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_SIMILAR_SONG, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_SIMILAR_SONG,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_similar_song = {
-+MetaDataFetcher glyrFetcher_similar_song =
-+{
- .name = "similarsongs",
- .type = GLYR_GET_SIMILAR_SONGS,
- .default_data_type = GLYR_TYPE_SIMILAR_SONG,
-diff --git a/lib/intern/similar_song/lastfm.c b/lib/intern/similar_song/lastfm.c
-index b98b069..d05dc87 100644
---- a/lib/intern/similar_song/lastfm.c
-+++ b/lib/intern/similar_song/lastfm.c
-@@ -20,7 +20,7 @@
- #include "../../stringlib.h"
- #include "../../core.h"
-
--static const gchar *similar_song_lastfm_url(GlyrQuery *sets)
-+static const gchar * similar_song_lastfm_url (GlyrQuery * sets)
- {
- return "http://ws.audioscrobbler.com/2.0/?method=track.getsimilar&artist=${artist}&track=${title}&api_key="API_KEY_LASTFM;
- }
-@@ -38,37 +38,40 @@ static const gchar *similar_song_lastfm_url(GlyrQuery *sets)
- #define URL_BEGIN "<url>"
- #define URL_ENDIN "</url>"
-
--static GList *similar_song_lastfm_parse(cb_object *capo)
-+static GList * similar_song_lastfm_parse (cb_object * capo)
- {
-- GList *results = NULL;
-- gchar *begin = capo->cache->data;
-+ GList * results = NULL;
-+ gchar * begin = capo->cache->data;
-
-- while(continue_search(g_list_length(results), capo->s) && (begin = strstr(begin, TRACK_BEGIN)) != NULL) {
-- gchar *track = get_search_value(begin, NAME_BEGIN, NAME_ENDIN);
-- gchar *match = get_search_value(begin, MATCH_BEGIN, MATCH_ENDIN);
-- gchar *url = get_search_value(begin, URL_BEGIN, URL_ENDIN);
-- gchar *artist = get_search_value(strstr(begin, ARTIST_BEGIN), NAME_BEGIN, NAME_ENDIN);
-+ while (continue_search (g_list_length (results),capo->s) && (begin = strstr (begin, TRACK_BEGIN) ) != NULL)
-+ {
-+ gchar * track = get_search_value (begin,NAME_BEGIN,NAME_ENDIN);
-+ gchar * match = get_search_value (begin,MATCH_BEGIN,MATCH_ENDIN);
-+ gchar * url = get_search_value (begin,URL_BEGIN,URL_ENDIN);
-+ gchar * artist = get_search_value (strstr (begin,ARTIST_BEGIN),NAME_BEGIN,NAME_ENDIN);
-
-- if(artist && track) {
-- GlyrMemCache *result = DL_init();
-- result->data = g_strdup_printf("%s\n%s\n%s\n%s\n", track, artist, match, url);
-- result->size = strlen(result->data);
-- results = g_list_prepend(results, result);
-+ if (artist && track)
-+ {
-+ GlyrMemCache * result = DL_init();
-+ result->data = g_strdup_printf ("%s\n%s\n%s\n%s\n",track,artist,match,url);
-+ result->size = strlen (result->data);
-+ results = g_list_prepend (results, result);
- }
-
-- g_free(track);
-- g_free(artist);
-- g_free(match);
-- g_free(url);
-+ g_free (track);
-+ g_free (artist);
-+ g_free (match);
-+ g_free (url);
-
-- begin += sizeof(TRACK_BEGIN) - 1;
-+ begin += sizeof (TRACK_BEGIN) - 1;
- }
- return results;
- }
-
- /////////////////////////////////
-
--MetaDataSource similar_song_lastfm_src = {
-+MetaDataSource similar_song_lastfm_src =
-+{
- .name = "lastfm",
- .key = 'l',
- .parser = similar_song_lastfm_parse,
-diff --git a/lib/intern/tags.c b/lib/intern/tags.c
-index fdb8170..26742f1 100644
---- a/lib/intern/tags.c
-+++ b/lib/intern/tags.c
-@@ -24,15 +24,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_TAG, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_TAG,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_tags = {
-+MetaDataFetcher glyrFetcher_tags =
-+{
- .name = "tags",
- .type = GLYR_GET_TAGS,
- .default_data_type = GLYR_TYPE_TAG,
-diff --git a/lib/intern/tags/musicbrainz.c b/lib/intern/tags/musicbrainz.c
-index cd1bcf5..bf042d4 100644
---- a/lib/intern/tags/musicbrainz.c
-+++ b/lib/intern/tags/musicbrainz.c
-@@ -35,58 +35,62 @@ artist && album -> album
- /////////////////////////////////
-
- /* Wrap around the (a bit more) generic versions */
--static GList *tags_musicbrainz_parse(cb_object *capo)
-+static GList * tags_musicbrainz_parse (cb_object * capo)
- {
-- GList *results = NULL;
-+ GList * results = NULL;
- gint mbid_marker = 0;
-- while(continue_search(g_list_length(results), capo->s)) {
-- GlyrMemCache *info = generic_musicbrainz_parse(capo, &mbid_marker, "tags");
-- if(info == NULL) {
-+ while (continue_search (g_list_length (results), capo->s) )
-+ {
-+ GlyrMemCache * info = generic_musicbrainz_parse (capo,&mbid_marker,"tags");
-+ if (info == NULL)
-+ {
- break;
- }
-
-- gint type_num = please_what_type(capo->s);
-- gchar *tag_node = info->data;
-- while((tag_node = strstr(tag_node + 1, "<tag"))) {
-- gchar *tag_begin = strchr(tag_node + 1, '>');
-- if(!tag_begin) {
-+ gint type_num = please_what_type (capo->s);
-+ gchar * tag_node = info->data;
-+ while ( (tag_node = strstr (tag_node + 1,"<tag") ) )
-+ {
-+ gchar * tag_begin = strchr (tag_node+1,'>');
-+ if (!tag_begin)
- continue;
-- }
-
- tag_begin++;
-- gchar *tag_endin = strchr(tag_begin, '<');
-- if(!tag_endin) {
-+ gchar * tag_endin = strchr (tag_begin,'<');
-+ if (!tag_endin)
- continue;
-- }
-
-- gchar *value = copy_value(tag_begin, tag_endin);
-- if(value != NULL) {
-- if(strlen(value) > 0) {
-- GlyrMemCache *tmp = DL_init();
-+ gchar * value = copy_value (tag_begin,tag_endin);
-+ if (value != NULL)
-+ {
-+ if (strlen (value) > 0)
-+ {
-+ GlyrMemCache * tmp = DL_init();
- tmp->data = value;
- tmp->size = tag_endin - tag_begin;
- tmp->type = type_num;
-- tmp->dsrc = g_strdup(info->dsrc);
-+ tmp->dsrc = g_strdup (info->dsrc);
-
-- results = g_list_prepend(results, tmp);
-+ results = g_list_prepend (results,tmp);
- }
- }
- }
-- DL_free(info);
-+ DL_free (info);
- }
- return results;
- }
-
- /////////////////////////////////
-
--static const gchar *tags_musicbrainz_url(GlyrQuery *sets)
-+static const gchar * tags_musicbrainz_url (GlyrQuery * sets)
- {
-- return generic_musicbrainz_url(sets);
-+ return generic_musicbrainz_url (sets);
- }
-
- /////////////////////////////////
-
--MetaDataSource tags_musicbrainz_src = {
-+MetaDataSource tags_musicbrainz_src =
-+{
- .name = "musicbrainz",
- .key = 'm',
- .parser = tags_musicbrainz_parse,
-diff --git a/lib/intern/tracklist.c b/lib/intern/tracklist.c
-index 99b3ca4..551a9fa 100644
---- a/lib/intern/tracklist.c
-+++ b/lib/intern/tracklist.c
-@@ -24,15 +24,16 @@
-
- /////////////////////////////////
-
--static GList *factory(GlyrQuery *s, GList *list, gboolean *stop_me, GList **result_list)
-+static GList * factory (GlyrQuery * s, GList * list, gboolean * stop_me, GList ** result_list)
- {
-- return generic_txt_finalizer(s, list, stop_me, GLYR_TYPE_TRACK, result_list);
-+ return generic_txt_finalizer (s,list,stop_me,GLYR_TYPE_TRACK,result_list);
- }
-
- /////////////////////////////////
-
- /* PlugStruct */
--MetaDataFetcher glyrFetcher_tracklist = {
-+MetaDataFetcher glyrFetcher_tracklist =
-+{
- .name = "tracklist",
- .type = GLYR_GET_TRACKLIST,
- .default_data_type = GLYR_TYPE_TRACK,
-diff --git a/lib/intern/tracklist/musicbrainz.c b/lib/intern/tracklist/musicbrainz.c
-index 824b67c..dd51428 100644
---- a/lib/intern/tracklist/musicbrainz.c
-+++ b/lib/intern/tracklist/musicbrainz.c
-@@ -20,7 +20,7 @@
- #include "../../stringlib.h"
- #include "../../core.h"
-
--static const gchar *tracklist_musicbrainz_url(GlyrQuery *sets)
-+static const gchar * tracklist_musicbrainz_url (GlyrQuery * sets)
- {
- return "http://musicbrainz.org/ws/1/release/?type=xml&artist=${artist}&releasetypes=Official&limit=10&title=${album}&limit=1";
- }
-@@ -38,30 +38,32 @@ static const gchar *tracklist_musicbrainz_url(GlyrQuery *sets)
-
- /////////////////////////////////
-
--static GList *traverse_xml(const gchar *data, const gchar *url, cb_object *capo)
-+static GList * traverse_xml (const gchar * data, const gchar * url, cb_object * capo)
- {
-- gchar *beg = (gchar *) data;
-- GList *collection = NULL;
-+ gchar * beg = (gchar*) data;
-+ GList * collection = NULL;
- gint item_ctr = 0;
-
- /* Hop over album title */
-- beg = strstr(beg, TIT_BEGIN);
-+ beg = strstr (beg,TIT_BEGIN);
-
-- while(continue_search(item_ctr, capo->s) && (beg = strstr(beg + (sizeof TIT_BEGIN) - 1, TIT_BEGIN)) != NULL) {
-- gchar *dy;
-- gchar *value = copy_value(beg + (sizeof TIT_BEGIN) - 1, strstr(beg, TIT_ENDIN));
-- gchar *durat = copy_value(strstr(beg, DUR_BEGIN) + (sizeof DUR_BEGIN) - 1, (dy = strstr(beg, DUR_ENDIN)));
-- if(value != NULL && durat != NULL) {
-- GlyrMemCache *cont = DL_init();
-+ while (continue_search (item_ctr,capo->s) && (beg = strstr (beg + (sizeof TIT_BEGIN) - 1,TIT_BEGIN) ) != NULL)
-+ {
-+ gchar * dy;
-+ gchar * value = copy_value (beg+ (sizeof TIT_BEGIN) - 1,strstr (beg,TIT_ENDIN) );
-+ gchar * durat = copy_value (strstr (beg,DUR_BEGIN) + (sizeof DUR_BEGIN) - 1, (dy = strstr (beg,DUR_ENDIN) ) );
-+ if (value != NULL && durat != NULL)
-+ {
-+ GlyrMemCache * cont = DL_init();
- cont->data = value;
-- cont->size = strlen(cont->data);
-- cont->duration = strtol(durat, NULL, 10) / 1e3;
-- cont->dsrc = g_strdup(url);
-- collection = g_list_prepend(collection, cont);
-+ cont->size = strlen (cont->data);
-+ cont->duration = strtol (durat,NULL,10) / 1e3;
-+ cont->dsrc = g_strdup (url);
-+ collection = g_list_prepend (collection,cont);
-
- /* free & jump to next */
- item_ctr++;
-- g_free(durat);
-+ g_free (durat);
- beg = dy;
- }
- }
-@@ -70,25 +72,29 @@ static GList *traverse_xml(const gchar *data, const gchar *url, cb_object *capo)
-
- /////////////////////////////////
-
--static GList *tracklist_musicbrainz_parse(cb_object *capo)
-+static GList * tracklist_musicbrainz_parse (cb_object * capo)
- {
-- GList *result_list = NULL;
-+ GList * result_list = NULL;
-
-- gchar *rel_id_begin = strstr(capo->cache->data, REL_ID_BEGIN);
-- if(rel_id_begin != NULL) {
-- gchar *release_ID = get_search_value(rel_id_begin, REL_ID_BEGIN, REL_ID_ENDIN);
-- if(release_ID != NULL) {
-- gchar *release_page_info_url = g_strdup_printf(REL_ID_FORM, release_ID);
-- GlyrMemCache *dlData = download_single(release_page_info_url, capo->s, NULL);
-- if(dlData != NULL) {
-- result_list = traverse_xml(dlData->data, capo->url, capo);
-- if(result_list != NULL) {
-- result_list = g_list_reverse(result_list);
-+ gchar * rel_id_begin = strstr (capo->cache->data,REL_ID_BEGIN);
-+ if (rel_id_begin != NULL)
-+ {
-+ gchar * release_ID = get_search_value (rel_id_begin,REL_ID_BEGIN,REL_ID_ENDIN);
-+ if (release_ID != NULL)
-+ {
-+ gchar * release_page_info_url = g_strdup_printf (REL_ID_FORM, release_ID);
-+ GlyrMemCache * dlData = download_single (release_page_info_url,capo->s,NULL);
-+ if (dlData != NULL)
-+ {
-+ result_list = traverse_xml (dlData->data,capo->url,capo);
-+ if (result_list != NULL)
-+ {
-+ result_list = g_list_reverse (result_list);
- }
-- DL_free(dlData);
-+ DL_free (dlData);
- }
-- g_free(release_page_info_url);
-- g_free(release_ID);
-+ g_free (release_page_info_url);
-+ g_free (release_ID);
- }
- }
- return result_list;
-@@ -96,7 +102,8 @@ static GList *tracklist_musicbrainz_parse(cb_object *capo)
-
- /////////////////////////////////
-
--MetaDataSource tracklist_musicbrainz_src = {
-+MetaDataSource tracklist_musicbrainz_src =
-+{
- .name = "musicbrainz",
- .key = 'm',
- .parser = tracklist_musicbrainz_parse,
-diff --git a/lib/jsmn/jsmn.c b/lib/jsmn/jsmn.c
-index 7c8295b..5e2d40e 100644
---- a/lib/jsmn/jsmn.c
-+++ b/lib/jsmn/jsmn.c
-@@ -5,295 +5,251 @@
- /**
- * Allocates a fresh unused token from the token pull.
- */
--static jsmntok_t *jsmn_alloc_token(jsmn_parser *parser,
-- jsmntok_t *tokens, size_t num_tokens)
--{
-- jsmntok_t *tok;
-- if(parser->toknext >= (int) num_tokens) {
-- return NULL;
-- }
-- tok = &tokens[parser->toknext++];
-- tok->start = tok->end = -1;
-- tok->size = 0;
-+static jsmntok_t *jsmn_alloc_token(jsmn_parser *parser,
-+ jsmntok_t *tokens, size_t num_tokens) {
-+ jsmntok_t *tok;
-+ if (parser->toknext >= (int)num_tokens) {
-+ return NULL;
-+ }
-+ tok = &tokens[parser->toknext++];
-+ tok->start = tok->end = -1;
-+ tok->size = 0;
- #ifdef JSMN_PARENT_LINKS
-- tok->parent = -1;
-+ tok->parent = -1;
- #endif
-- return tok;
-+ return tok;
- }
-
- /**
- * Fills token type and boundaries.
- */
--static void jsmn_fill_token(jsmntok_t *token, jsmntype_t type,
-- int start, int end)
--{
-- token->type = type;
-- token->start = start;
-- token->end = end;
-- token->size = 0;
-+static void jsmn_fill_token(jsmntok_t *token, jsmntype_t type,
-+ int start, int end) {
-+ token->type = type;
-+ token->start = start;
-+ token->end = end;
-+ token->size = 0;
- }
-
- /**
- * Fills next available token with JSON primitive.
- */
- static jsmnerr_t jsmn_parse_primitive(jsmn_parser *parser, const char *js,
-- jsmntok_t *tokens, size_t num_tokens)
--{
-- jsmntok_t *token;
-- int start;
-+ jsmntok_t *tokens, size_t num_tokens) {
-+ jsmntok_t *token;
-+ int start;
-
-- start = parser->pos;
-+ start = parser->pos;
-
-- for(; js[parser->pos] != '\0'; parser->pos++) {
-- switch(js[parser->pos]) {
-+ for (; js[parser->pos] != '\0'; parser->pos++) {
-+ switch (js[parser->pos]) {
- #ifndef JSMN_STRICT
-- /* In strict mode primitive must be followed by ", or "}" or "]" */
-- case ':':
-+ /* In strict mode primitive must be followed by "," or "}" or "]" */
-+ case ':':
- #endif
-- case '\t' :
-- case '\r' :
-- case '\n' :
-- case ' ' :
-- case ', :
-- case ']' :
-- case '}' :
-- goto found;
-- }
-- if(js[parser->pos] < 32 || js[parser->pos] >= 127) {
-- parser->pos = start;
-- return JSMN_ERROR_INVAL;
-- }
-- }
-+ case '\t' : case '\r' : case '\n' : case ' ' :
-+ case ',' : case ']' : case '}' :
-+ goto found;
-+ }
-+ if (js[parser->pos] < 32 || js[parser->pos] >= 127) {
-+ parser->pos = start;
-+ return JSMN_ERROR_INVAL;
-+ }
-+ }
- #ifdef JSMN_STRICT
-- /* In strict mode primitive must be followed by a comma/object/array */
-- parser->pos = start;
-- return JSMN_ERROR_PART;
-+ /* In strict mode primitive must be followed by a comma/object/array */
-+ parser->pos = start;
-+ return JSMN_ERROR_PART;
- #endif
-
- found:
-- token = jsmn_alloc_token(parser, tokens, num_tokens);
-- if(token == NULL) {
-- parser->pos = start;
-- return JSMN_ERROR_NOMEM;
-- }
-- jsmn_fill_token(token, JSMN_PRIMITIVE, start, parser->pos);
-+ token = jsmn_alloc_token(parser, tokens, num_tokens);
-+ if (token == NULL) {
-+ parser->pos = start;
-+ return JSMN_ERROR_NOMEM;
-+ }
-+ jsmn_fill_token(token, JSMN_PRIMITIVE, start, parser->pos);
- #ifdef JSMN_PARENT_LINKS
-- token->parent = parser->toksuper;
-+ token->parent = parser->toksuper;
- #endif
-- parser->pos--;
-- return JSMN_SUCCESS;
-+ parser->pos--;
-+ return JSMN_SUCCESS;
- }
-
- /**
- * Filsl next token with JSON string.
- */
- static jsmnerr_t jsmn_parse_string(jsmn_parser *parser, const char *js,
-- jsmntok_t *tokens, size_t num_tokens)
--{
-- jsmntok_t *token;
-+ jsmntok_t *tokens, size_t num_tokens) {
-+ jsmntok_t *token;
-
-- int start = parser->pos;
-+ int start = parser->pos;
-
-- parser->pos++;
-+ parser->pos++;
-
-- /* Skip starting quote */
-- for(; js[parser->pos] != '\0'; parser->pos++) {
-- char c = js[parser->pos];
-+ /* Skip starting quote */
-+ for (; js[parser->pos] != '\0'; parser->pos++) {
-+ char c = js[parser->pos];
-
-- /* Quote: end of string */
-- if(c == '\"') {
-- token = jsmn_alloc_token(parser, tokens, num_tokens);
-- if(token == NULL) {
-- parser->pos = start;
-- return JSMN_ERROR_NOMEM;
-- }
-- jsmn_fill_token(token, JSMN_STRING, start + 1, parser->pos);
-+ /* Quote: end of string */
-+ if (c == '\"') {
-+ token = jsmn_alloc_token(parser, tokens, num_tokens);
-+ if (token == NULL) {
-+ parser->pos = start;
-+ return JSMN_ERROR_NOMEM;
-+ }
-+ jsmn_fill_token(token, JSMN_STRING, start+1, parser->pos);
- #ifdef JSMN_PARENT_LINKS
-- token->parent = parser->toksuper;
-+ token->parent = parser->toksuper;
- #endif
-- return JSMN_SUCCESS;
-- }
--
-- /* Backslash: Quoted symbol expected */
-- if(c == '\\') {
-- parser->pos++;
-- switch(js[parser->pos]) {
-- /* Allowed escaped symbols */
-- case '\"':
-- case '/' :
-- case '\\' :
-- case 'b' :
-- case 'f' :
-- case 'r' :
-- case 'n' :
-- case 't' :
-- break;
-- /* Allows escaped symbol \uXXXX */
-- case 'u':
-- /* TODO */
-- break;
-- /* Unexpected symbol */
-- default:
-- parser->pos = start;
-- return JSMN_ERROR_INVAL;
-- }
-- }
-- }
-- parser->pos = start;
-- return JSMN_ERROR_PART;
-+ return JSMN_SUCCESS;
-+ }
-+
-+ /* Backslash: Quoted symbol expected */
-+ if (c == '\\') {
-+ parser->pos++;
-+ switch (js[parser->pos]) {
-+ /* Allowed escaped symbols */
-+ case '\"': case '/' : case '\\' : case 'b' :
-+ case 'f' : case 'r' : case 'n' : case 't' :
-+ break;
-+ /* Allows escaped symbol \uXXXX */
-+ case 'u':
-+ /* TODO */
-+ break;
-+ /* Unexpected symbol */
-+ default:
-+ parser->pos = start;
-+ return JSMN_ERROR_INVAL;
-+ }
-+ }
-+ }
-+ parser->pos = start;
-+ return JSMN_ERROR_PART;
- }
-
- /**
- * Parse JSON string and fill tokens.
- */
--jsmnerr_t jsmn_parse(jsmn_parser *parser, const char *js, jsmntok_t *tokens,
-- unsigned int num_tokens)
--{
-- jsmnerr_t r;
-- int i;
-- jsmntok_t *token;
--
-- for(; js[parser->pos] != '\0'; parser->pos++) {
-- char c;
-- jsmntype_t type;
--
-- c = js[parser->pos];
-- switch(c) {
-- case '{':
-- case '[':
-- token = jsmn_alloc_token(parser, tokens, num_tokens);
-- if(token == NULL) {
-- return JSMN_ERROR_NOMEM;
-- }
-- if(parser->toksuper != -1) {
-- tokens[parser->toksuper].size++;
-+jsmnerr_t jsmn_parse(jsmn_parser *parser, const char *js, jsmntok_t *tokens,
-+ unsigned int num_tokens) {
-+ jsmnerr_t r;
-+ int i;
-+ jsmntok_t *token;
-+
-+ for (; js[parser->pos] != '\0'; parser->pos++) {
-+ char c;
-+ jsmntype_t type;
-+
-+ c = js[parser->pos];
-+ switch (c) {
-+ case '{': case '[':
-+ token = jsmn_alloc_token(parser, tokens, num_tokens);
-+ if (token == NULL)
-+ return JSMN_ERROR_NOMEM;
-+ if (parser->toksuper != -1) {
-+ tokens[parser->toksuper].size++;
- #ifdef JSMN_PARENT_LINKS
-- token->parent = parser->toksuper;
-+ token->parent = parser->toksuper;
- #endif
-- }
-- token->type = (c == '{' ? JSMN_OBJECT : JSMN_ARRAY);
-- token->start = parser->pos;
-- parser->toksuper = parser->toknext - 1;
-- break;
-- case '}':
-- case ']':
-- type = (c == '}' ? JSMN_OBJECT : JSMN_ARRAY);
-+ }
-+ token->type = (c == '{' ? JSMN_OBJECT : JSMN_ARRAY);
-+ token->start = parser->pos;
-+ parser->toksuper = parser->toknext - 1;
-+ break;
-+ case '}': case ']':
-+ type = (c == '}' ? JSMN_OBJECT : JSMN_ARRAY);
- #ifdef JSMN_PARENT_LINKS
-- if(parser->toknext < 1) {
-- return JSMN_ERROR_INVAL;
-- }
-- token = &tokens[parser->toknext - 1];
-- for(;;) {
-- if(token->start != -1 && token->end == -1) {
-- if(token->type != type) {
-- return JSMN_ERROR_INVAL;
-- }
-- token->end = parser->pos + 1;
-- parser->toksuper = token->parent;
-- break;
-- }
-- if(token->parent == -1) {
-- break;
-- }
-- token = &tokens[token->parent];
-- }
-+ if (parser->toknext < 1) {
-+ return JSMN_ERROR_INVAL;
-+ }
-+ token = &tokens[parser->toknext - 1];
-+ for (;;) {
-+ if (token->start != -1 && token->end == -1) {
-+ if (token->type != type) {
-+ return JSMN_ERROR_INVAL;
-+ }
-+ token->end = parser->pos + 1;
-+ parser->toksuper = token->parent;
-+ break;
-+ }
-+ if (token->parent == -1) {
-+ break;
-+ }
-+ token = &tokens[token->parent];
-+ }
- #else
-- for(i = parser->toknext - 1; i >= 0; i--) {
-- token = &tokens[i];
-- if(token->start != -1 && token->end == -1) {
-- if(token->type != type) {
-- return JSMN_ERROR_INVAL;
-- }
-- parser->toksuper = -1;
-- token->end = parser->pos + 1;
-- break;
-- }
-- }
-- /* Error if unmatched closing bracket */
-- if(i == -1) {
-- return JSMN_ERROR_INVAL;
-- }
-- for(; i >= 0; i--) {
-- token = &tokens[i];
-- if(token->start != -1 && token->end == -1) {
-- parser->toksuper = i;
-- break;
-- }
-- }
-+ for (i = parser->toknext - 1; i >= 0; i--) {
-+ token = &tokens[i];
-+ if (token->start != -1 && token->end == -1) {
-+ if (token->type != type) {
-+ return JSMN_ERROR_INVAL;
-+ }
-+ parser->toksuper = -1;
-+ token->end = parser->pos + 1;
-+ break;
-+ }
-+ }
-+ /* Error if unmatched closing bracket */
-+ if (i == -1) return JSMN_ERROR_INVAL;
-+ for (; i >= 0; i--) {
-+ token = &tokens[i];
-+ if (token->start != -1 && token->end == -1) {
-+ parser->toksuper = i;
-+ break;
-+ }
-+ }
- #endif
-- break;
-- case '\"':
-- r = jsmn_parse_string(parser, js, tokens, num_tokens);
-- if(r < 0) {
-- return r;
-- }
-- if(parser->toksuper != -1) {
-- tokens[parser->toksuper].size++;
-- }
-- break;
-- case '\t' :
-- case '\r' :
-- case '\n' :
-- case ':' :
-- case ', :
-- case ' ':
-- break;
-+ break;
-+ case '\"':
-+ r = jsmn_parse_string(parser, js, tokens, num_tokens);
-+ if (r < 0) return r;
-+ if (parser->toksuper != -1)
-+ tokens[parser->toksuper].size++;
-+ break;
-+ case '\t' : case '\r' : case '\n' : case ':' : case ',': case ' ':
-+ break;
- #ifdef JSMN_STRICT
-- /* In strict mode primitives are: numbers and booleans */
-- case '-':
-- case '0':
-- case '1' :
-- case '2':
-- case '3' :
-- case '4':
-- case '5':
-- case '6':
-- case '7' :
-- case '8':
-- case '9':
-- case 't':
-- case 'f':
-- case 'n' :
-+ /* In strict mode primitives are: numbers and booleans */
-+ case '-': case '0': case '1' : case '2': case '3' : case '4':
-+ case '5': case '6': case '7' : case '8': case '9':
-+ case 't': case 'f': case 'n' :
- #else
-- /* In non-strict mode every unquoted value is a primitive */
-- default:
-+ /* In non-strict mode every unquoted value is a primitive */
-+ default:
- #endif
-- r = jsmn_parse_primitive(parser, js, tokens, num_tokens);
-- if(r < 0) {
-- return r;
-- }
-- if(parser->toksuper != -1) {
-- tokens[parser->toksuper].size++;
-- }
-- break;
-+ r = jsmn_parse_primitive(parser, js, tokens, num_tokens);
-+ if (r < 0) return r;
-+ if (parser->toksuper != -1)
-+ tokens[parser->toksuper].size++;
-+ break;
-
- #ifdef JSMN_STRICT
-- /* Unexpected char in strict mode */
-- default:
-- return JSMN_ERROR_INVAL;
-+ /* Unexpected char in strict mode */
-+ default:
-+ return JSMN_ERROR_INVAL;
- #endif
-
-- }
-- }
-+ }
-+ }
-
-- for(i = parser->toknext - 1; i >= 0; i--) {
-- /* Unmatched opened object or array */
-- if(tokens[i].start != -1 && tokens[i].end == -1) {
-- return JSMN_ERROR_PART;
-- }
-- }
-+ for (i = parser->toknext - 1; i >= 0; i--) {
-+ /* Unmatched opened object or array */
-+ if (tokens[i].start != -1 && tokens[i].end == -1) {
-+ return JSMN_ERROR_PART;
-+ }
-+ }
-
-- return JSMN_SUCCESS;
-+ return JSMN_SUCCESS;
- }
-
- /**
-- * Creates a new parser based over a given buffer with an array of tokens
-+ * Creates a new parser based over a given buffer with an array of tokens
- * available.
- */
--void jsmn_init(jsmn_parser *parser)
--{
-- parser->pos = 0;
-- parser->toknext = 0;
-- parser->toksuper = -1;
-+void jsmn_init(jsmn_parser *parser) {
-+ parser->pos = 0;
-+ parser->toknext = 0;
-+ parser->toksuper = -1;
- }
-
-diff --git a/lib/jsmn/jsmn_test.c b/lib/jsmn/jsmn_test.c
-index 3517bf4..308faf6 100644
---- a/lib/jsmn/jsmn_test.c
-+++ b/lib/jsmn/jsmn_test.c
-@@ -8,7 +8,7 @@ static int test_passed = 0;
- static int test_failed = 0;
-
- /* Terminate current test with error */
--#define fail() return __LINE__
-+#define fail() return __LINE__
-
- /* Successfull end of the test case */
- #define done() return 0
-@@ -17,359 +17,348 @@ static int test_failed = 0;
- #define check(cond) do { if (!(cond)) fail(); } while (0)
-
- /* Test runner */
--static void test(int (*func)(void), const char *name)
--{
-- int r = func();
-- if(r == 0) {
-- test_passed++;
-- } else {
-- test_failed++;
-- printf("FAILED: %s (at line %d)\n", name, r);
-- }
-+static void test(int (*func)(void), const char *name) {
-+ int r = func();
-+ if (r == 0) {
-+ test_passed++;
-+ } else {
-+ test_failed++;
-+ printf("FAILED: %s (at line %d)\n", name, r);
-+ }
- }
-
- #define TOKEN_EQ(t, tok_start, tok_end, tok_type) \
-- ((t).start == tok_start \
-- && (t).end == tok_end \
-- && (t).type == (tok_type))
-+ ((t).start == tok_start \
-+ && (t).end == tok_end \
-+ && (t).type == (tok_type))
-
- #define TOKEN_STRING(js, t, s) \
-- (strncmp(js+(t).start, s, (t).end - (t).start) == 0 \
-- && strlen(s) == (t).end - (t).start)
-+ (strncmp(js+(t).start, s, (t).end - (t).start) == 0 \
-+ && strlen(s) == (t).end - (t).start)
-
- #define TOKEN_PRINT(t) \
-- printf("start: %d, end: %d, type: %d, size: %d\n", \
-- (t).start, (t).end, (t).type, (t).size)
--
--int test_empty()
--{
-- const char *js;
-- int r;
-- jsmn_parser p;
-- jsmntok_t t[10];
--
-- js = "{}";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, t, 10);
-- check(r == JSMN_SUCCESS);
-- check(t[0].type == JSMN_OBJECT);
-- check(t[0].start == 0 && t[0].end == 2);
--
-- js = "[]";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, t, 10);
-- check(r == JSMN_SUCCESS);
-- check(t[0].type == JSMN_ARRAY);
-- check(t[0].start == 0 && t[0].end == 2);
--
-- js = "{\"a\":[]}";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, t, 10);
-- check(r == JSMN_SUCCESS);
-- check(t[0].type == JSMN_OBJECT && t[0].start == 0 && t[0].end == 8);
-- check(t[1].type == JSMN_STRING && t[1].start == 2 && t[1].end == 3);
-- check(t[2].type == JSMN_ARRAY && t[2].start == 5 && t[2].end == 7);
--
-- js = "[{}, }]";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, t, 10);
-- check(r == JSMN_SUCCESS);
-- check(t[0].type == JSMN_ARRAY && t[0].start == 0 && t[0].end == 7);
-- check(t[1].type == JSMN_OBJECT && t[1].start == 1 && t[1].end == 3);
-- check(t[2].type == JSMN_OBJECT && t[2].start == 4 && t[2].end == 6);
-- return 0;
-+ printf("start: %d, end: %d, type: %d, size: %d\n", \
-+ (t).start, (t).end, (t).type, (t).size)
-+
-+int test_empty() {
-+ const char *js;
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t t[10];
-+
-+ js = "{}";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, t, 10);
-+ check(r == JSMN_SUCCESS);
-+ check(t[0].type == JSMN_OBJECT);
-+ check(t[0].start == 0 && t[0].end == 2);
-+
-+ js = "[]";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, t, 10);
-+ check(r == JSMN_SUCCESS);
-+ check(t[0].type == JSMN_ARRAY);
-+ check(t[0].start == 0 && t[0].end == 2);
-+
-+ js = "{\"a\":[]}";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, t, 10);
-+ check(r == JSMN_SUCCESS);
-+ check(t[0].type == JSMN_OBJECT && t[0].start == 0 && t[0].end == 8);
-+ check(t[1].type == JSMN_STRING && t[1].start == 2 && t[1].end == 3);
-+ check(t[2].type == JSMN_ARRAY && t[2].start == 5 && t[2].end == 7);
-+
-+ js = "[{},{}]";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, t, 10);
-+ check(r == JSMN_SUCCESS);
-+ check(t[0].type == JSMN_ARRAY && t[0].start == 0 && t[0].end == 7);
-+ check(t[1].type == JSMN_OBJECT && t[1].start == 1 && t[1].end == 3);
-+ check(t[2].type == JSMN_OBJECT && t[2].start == 4 && t[2].end == 6);
-+ return 0;
- }
-
--int test_simple()
--{
-- const char *js;
-- int r;
-- jsmn_parser p;
-- jsmntok_t tokens[10];
--
-- js = "{\"a\": 0}";
--
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_SUCCESS);
-- check(TOKEN_EQ(tokens[0], 0, 8, JSMN_OBJECT));
-- check(TOKEN_EQ(tokens[1], 2, 3, JSMN_STRING));
-- check(TOKEN_EQ(tokens[2], 6, 7, JSMN_PRIMITIVE));
--
-- check(TOKEN_STRING(js, tokens[0], js));
-- check(TOKEN_STRING(js, tokens[1], "a"));
-- check(TOKEN_STRING(js, tokens[2], "0"));
--
-- jsmn_init(&p);
-- js = "[\"a\":{},\"b\":{}]";
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_SUCCESS);
--
-- jsmn_init(&p);
-- js = "{\n \"Day\": 26,\n \"Month\": 9,\n \"Year\": 12\n }";
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_SUCCESS);
--
-- return 0;
-+int test_simple() {
-+ const char *js;
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tokens[10];
-+
-+ js = "{\"a\": 0}";
-+
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_SUCCESS);
-+ check(TOKEN_EQ(tokens[0], 0, 8, JSMN_OBJECT));
-+ check(TOKEN_EQ(tokens[1], 2, 3, JSMN_STRING));
-+ check(TOKEN_EQ(tokens[2], 6, 7, JSMN_PRIMITIVE));
-+
-+ check(TOKEN_STRING(js, tokens[0], js));
-+ check(TOKEN_STRING(js, tokens[1], "a"));
-+ check(TOKEN_STRING(js, tokens[2], "0"));
-+
-+ jsmn_init(&p);
-+ js = "[\"a\":{},\"b\":{}]";
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_SUCCESS);
-+
-+ jsmn_init(&p);
-+ js = "{\n \"Day\": 26,\n \"Month\": 9,\n \"Year\": 12\n }";
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_SUCCESS);
-+
-+ return 0;
- }
-
--int test_primitive()
--{
-- int r;
-- jsmn_parser p;
-- jsmntok_t tok[10];
-- const char *js;
-+int test_primitive() {
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tok[10];
-+ const char *js;
- #ifndef JSMN_STRICT
-- js = "\"boolVar\" : true";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "boolVar"));
-- check(TOKEN_STRING(js, tok[1], "true"));
--
-- js = "\"boolVar\" : false";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "boolVar"));
-- check(TOKEN_STRING(js, tok[1], "false"));
--
-- js = "\"intVar\" : 12345";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "intVar"));
-- check(TOKEN_STRING(js, tok[1], "12345"));
--
-- js = "\"floatVar\" : 12.345";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "floatVar"));
-- check(TOKEN_STRING(js, tok[1], "12.345"));
--
-- js = "\"nullVar\" : null";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "nullVar"));
-- check(TOKEN_STRING(js, tok[1], "null"));
-+ js = "\"boolVar\" : true";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "boolVar"));
-+ check(TOKEN_STRING(js, tok[1], "true"));
-+
-+ js = "\"boolVar\" : false";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "boolVar"));
-+ check(TOKEN_STRING(js, tok[1], "false"));
-+
-+ js = "\"intVar\" : 12345";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "intVar"));
-+ check(TOKEN_STRING(js, tok[1], "12345"));
-+
-+ js = "\"floatVar\" : 12.345";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "floatVar"));
-+ check(TOKEN_STRING(js, tok[1], "12.345"));
-+
-+ js = "\"nullVar\" : null";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "nullVar"));
-+ check(TOKEN_STRING(js, tok[1], "null"));
- #endif
-- return 0;
-+ return 0;
- }
-
--int test_string()
--{
-- int r;
-- jsmn_parser p;
-- jsmntok_t tok[10];
-- const char *js;
--
-- js = "\"strVar\" : \"hello world\"";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "strVar"));
-- check(TOKEN_STRING(js, tok[1], "hello world"));
--
-- js = "\"strVar\" : \"escapes: \\/\\r\\n\\t\\b\\f\\\"\\\\\"";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "strVar"));
-- check(TOKEN_STRING(js, tok[1], "escapes: \\/\\r\\n\\t\\b\\f\\\"\\\\"));
--
-- js = "\"strVar\" : \"\"";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "strVar"));
-- check(TOKEN_STRING(js, tok[1], ""));
--
-- return 0;
-+int test_string() {
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tok[10];
-+ const char *js;
-+
-+ js = "\"strVar\" : \"hello world\"";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "strVar"));
-+ check(TOKEN_STRING(js, tok[1], "hello world"));
-+
-+ js = "\"strVar\" : \"escapes: \\/\\r\\n\\t\\b\\f\\\"\\\\\"";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "strVar"));
-+ check(TOKEN_STRING(js, tok[1], "escapes: \\/\\r\\n\\t\\b\\f\\\"\\\\"));
-+
-+ js = "\"strVar\" : \"\"";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "strVar"));
-+ check(TOKEN_STRING(js, tok[1], ""));
-+
-+ return 0;
- }
-
--int test_partial_string()
--{
-- int r;
-- jsmn_parser p;
-- jsmntok_t tok[10];
-- const char *js;
--
-- jsmn_init(&p);
-- js = "\"x\": \"va";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_ERROR_PART && tok[0].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "x"));
-- check(p.toknext == 1);
--
-- js = "\"x\": \"valu";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_ERROR_PART && tok[0].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "x"));
-- check(p.toknext == 1);
--
-- js = "\"x\": \"value\"";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "x"));
-- check(TOKEN_STRING(js, tok[1], "value"));
--
-- js = "\"x\": \"value\", \"y\": \"value y\"";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-- && tok[1].type == JSMN_STRING && tok[2].type == JSMN_STRING
-- && tok[3].type == JSMN_STRING);
-- check(TOKEN_STRING(js, tok[0], "x"));
-- check(TOKEN_STRING(js, tok[1], "value"));
-- check(TOKEN_STRING(js, tok[2], "y"));
-- check(TOKEN_STRING(js, tok[3], "value y"));
--
-- return 0;
-+int test_partial_string() {
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tok[10];
-+ const char *js;
-+
-+ jsmn_init(&p);
-+ js = "\"x\": \"va";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_ERROR_PART && tok[0].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "x"));
-+ check(p.toknext == 1);
-+
-+ js = "\"x\": \"valu";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_ERROR_PART && tok[0].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "x"));
-+ check(p.toknext == 1);
-+
-+ js = "\"x\": \"value\"";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "x"));
-+ check(TOKEN_STRING(js, tok[1], "value"));
-+
-+ js = "\"x\": \"value\", \"y\": \"value y\"";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_STRING
-+ && tok[1].type == JSMN_STRING && tok[2].type == JSMN_STRING
-+ && tok[3].type == JSMN_STRING);
-+ check(TOKEN_STRING(js, tok[0], "x"));
-+ check(TOKEN_STRING(js, tok[1], "value"));
-+ check(TOKEN_STRING(js, tok[2], "y"));
-+ check(TOKEN_STRING(js, tok[3], "value y"));
-+
-+ return 0;
- }
-
--int test_unquoted_keys()
--{
-+int test_unquoted_keys() {
- #ifndef JSMN_STRICT
-- int r;
-- jsmn_parser p;
-- jsmntok_t tok[10];
-- const char *js;
--
-- jsmn_init(&p);
-- js = "key1: \"value\"\nkey2 : 123";
--
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_PRIMITIVE
-- && tok[1].type == JSMN_STRING && tok[2].type == JSMN_PRIMITIVE
-- && tok[3].type == JSMN_PRIMITIVE);
-- check(TOKEN_STRING(js, tok[0], "key1"));
-- check(TOKEN_STRING(js, tok[1], "value"));
-- check(TOKEN_STRING(js, tok[2], "key2"));
-- check(TOKEN_STRING(js, tok[3], "123"));
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tok[10];
-+ const char *js;
-+
-+ jsmn_init(&p);
-+ js = "key1: \"value\"\nkey2 : 123";
-+
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_PRIMITIVE
-+ && tok[1].type == JSMN_STRING && tok[2].type == JSMN_PRIMITIVE
-+ && tok[3].type == JSMN_PRIMITIVE);
-+ check(TOKEN_STRING(js, tok[0], "key1"));
-+ check(TOKEN_STRING(js, tok[1], "value"));
-+ check(TOKEN_STRING(js, tok[2], "key2"));
-+ check(TOKEN_STRING(js, tok[3], "123"));
- #endif
-- return 0;
-+ return 0;
- }
-
--int test_partial_array()
--{
-- int r;
-- jsmn_parser p;
-- jsmntok_t tok[10];
-- const char *js;
--
-- jsmn_init(&p);
-- js = " [ 1, true, ";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-- && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE);
--
-- js = " [ 1, true, [123, \"hello";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-- && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-- && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE);
--
-- js = " [ 1, true, [123, \"hello\"]";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-- && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-- && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE
-- && tok[5].type == JSMN_STRING);
-- /* check child nodes of the 2nd array */
-- check(tok[3].size == 2);
--
-- js = " [ 1, true, [123, \"hello\"]]";
-- r = jsmn_parse(&p, js, tok, 10);
-- check(r == JSMN_SUCCESS && tok[0].type == JSMN_ARRAY
-- && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-- && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE
-- && tok[5].type == JSMN_STRING);
-- check(tok[3].size == 2);
-- check(tok[0].size == 3);
-- return 0;
-+int test_partial_array() {
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tok[10];
-+ const char *js;
-+
-+ jsmn_init(&p);
-+ js = " [ 1, true, ";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-+ && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE);
-+
-+ js = " [ 1, true, [123, \"hello";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-+ && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-+ && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE);
-+
-+ js = " [ 1, true, [123, \"hello\"]";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_ERROR_PART && tok[0].type == JSMN_ARRAY
-+ && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-+ && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE
-+ && tok[5].type == JSMN_STRING);
-+ /* check child nodes of the 2nd array */
-+ check(tok[3].size == 2);
-+
-+ js = " [ 1, true, [123, \"hello\"]]";
-+ r = jsmn_parse(&p, js, tok, 10);
-+ check(r == JSMN_SUCCESS && tok[0].type == JSMN_ARRAY
-+ && tok[1].type == JSMN_PRIMITIVE && tok[2].type == JSMN_PRIMITIVE
-+ && tok[3].type == JSMN_ARRAY && tok[4].type == JSMN_PRIMITIVE
-+ && tok[5].type == JSMN_STRING);
-+ check(tok[3].size == 2);
-+ check(tok[0].size == 3);
-+ return 0;
- }
-
--int test_array_nomem()
--{
-- int i;
-- int r;
-- jsmn_parser p;
-- jsmntok_t toksmall[10], toklarge[10];
-- const char *js;
-+int test_array_nomem() {
-+ int i;
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t toksmall[10], toklarge[10];
-+ const char *js;
-
-- js = " [ 1, true, [123, \"hello\"]]";
-+ js = " [ 1, true, [123, \"hello\"]]";
-
-- for(i = 0; i < 6; i++) {
-- jsmn_init(&p);
-- memset(toksmall, 0, sizeof(toksmall));
-- memset(toklarge, 0, sizeof(toklarge));
-- r = jsmn_parse(&p, js, toksmall, i);
-- check(r == JSMN_ERROR_NOMEM);
-+ for (i = 0; i < 6; i++) {
-+ jsmn_init(&p);
-+ memset(toksmall, 0, sizeof(toksmall));
-+ memset(toklarge, 0, sizeof(toklarge));
-+ r = jsmn_parse(&p, js, toksmall, i);
-+ check(r == JSMN_ERROR_NOMEM);
-
-- memcpy(toklarge, toksmall, sizeof(toksmall));
-+ memcpy(toklarge, toksmall, sizeof(toksmall));
-
-- r = jsmn_parse(&p, js, toklarge, 10);
-- check(r == JSMN_SUCCESS);
-+ r = jsmn_parse(&p, js, toklarge, 10);
-+ check(r == JSMN_SUCCESS);
-
-- check(toklarge[0].type == JSMN_ARRAY && toklarge[0].size == 3);
-- check(toklarge[3].type == JSMN_ARRAY && toklarge[3].size == 2);
-- }
-- return 0;
-+ check(toklarge[0].type == JSMN_ARRAY && toklarge[0].size == 3);
-+ check(toklarge[3].type == JSMN_ARRAY && toklarge[3].size == 2);
-+ }
-+ return 0;
- }
-
--int test_objects_arrays()
--{
-- int i;
-- int r;
-- jsmn_parser p;
-- jsmntok_t tokens[10];
-- const char *js;
--
-- js = "[10}";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_ERROR_INVAL);
--
-- js = "[10]";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_SUCCESS);
--
-- js = "{\"a\": 1]";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_ERROR_INVAL);
--
-- js = "{\"a\": 1}";
-- jsmn_init(&p);
-- r = jsmn_parse(&p, js, tokens, 10);
-- check(r == JSMN_SUCCESS);
--
-- return 0;
-+int test_objects_arrays() {
-+ int i;
-+ int r;
-+ jsmn_parser p;
-+ jsmntok_t tokens[10];
-+ const char *js;
-+
-+ js = "[10}";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_ERROR_INVAL);
-+
-+ js = "[10]";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_SUCCESS);
-+
-+ js = "{\"a\": 1]";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_ERROR_INVAL);
-+
-+ js = "{\"a\": 1}";
-+ jsmn_init(&p);
-+ r = jsmn_parse(&p, js, tokens, 10);
-+ check(r == JSMN_SUCCESS);
-+
-+ return 0;
- }
-
--int main()
--{
-- test(test_empty, "general test for a empty JSON objects/arrays");
-- test(test_simple, "general test for a simple JSON string");
-- test(test_primitive, "test primitive JSON data types");
-- test(test_string, "test string JSON data types");
-- test(test_partial_string, "test partial JSON string parsing");
-- test(test_partial_array, "test partial array reading");
-- test(test_array_nomem, "test array reading with a smaller number of tokens");
-- test(test_unquoted_keys, "test unquoted keys (like in JavaScript)");
-- test(test_objects_arrays, "test objects and arrays");
-- printf("\nPASSED: %d\nFAILED: %d\n", test_passed, test_failed);
-- return 0;
-+int main() {
-+ test(test_empty, "general test for a empty JSON objects/arrays");
-+ test(test_simple, "general test for a simple JSON string");
-+ test(test_primitive, "test primitive JSON data types");
-+ test(test_string, "test string JSON data types");
-+ test(test_partial_string, "test partial JSON string parsing");
-+ test(test_partial_array, "test partial array reading");
-+ test(test_array_nomem, "test array reading with a smaller number of tokens");
-+ test(test_unquoted_keys, "test unquoted keys (like in JavaScript)");
-+ test(test_objects_arrays, "test objects and arrays");
-+ printf("\nPASSED: %d\nFAILED: %d\n", test_passed, test_failed);
-+ return 0;
- }
-
-diff --git a/lib/misc.c b/lib/misc.c
-index 2198263..edd2f99 100644
---- a/lib/misc.c
-+++ b/lib/misc.c
-@@ -21,14 +21,14 @@
- #include "stringlib.h"
- #include "misc.h"
-
--__attribute__((visibility("default")))
--size_t glyr_levenshtein_strcmp(const char *string, const char *other)
-+__attribute__ ( (visibility ("default") ) )
-+size_t glyr_levenshtein_strcmp (const char * string, const char * other)
- {
-- return levenshtein_safe_strcmp(string, other);
-+ return levenshtein_safe_strcmp (string,other);
- }
-
--__attribute__((visibility("default")))
--size_t glyr_levenshtein_strnormcmp(const char *string, const char *other)
-+__attribute__ ( (visibility ("default") ) )
-+size_t glyr_levenshtein_strnormcmp (const char * string, const char * other)
- {
-- return levenshtein_strnormcmp(NULL, string, other);
-+ return levenshtein_strnormcmp (NULL,string,other);
- }
-diff --git a/lib/register_plugins.c b/lib/register_plugins.c
-index 989e125..f317739 100644
---- a/lib/register_plugins.c
-+++ b/lib/register_plugins.c
-@@ -23,15 +23,15 @@
- #include "register_plugins.h"
-
- /* Warning: All functions in here are _not_ threadsafe. */
--static void get_list_from_type(MetaDataFetcher *fetch);
--static void register_provider_plugins(void);
--static void init_provider_list(void);
-+static void get_list_from_type (MetaDataFetcher * fetch);
-+static void register_provider_plugins (void);
-+static void init_provider_list (void);
-
- /* global provider plugin list */
--GList *glyrMetaDataSourceList = NULL;
-+GList * glyrMetaDataSourceList = NULL;
-
- /* List of MetaDataFetchers */
--GList *glyrMetaDataPluginList = NULL;
-+GList * glyrMetaDataPluginList = NULL;
-
-
- /* Externalized fetcher vars, add yours here {{{ */
-@@ -115,7 +115,7 @@ extern MetaDataSource musictree_provider_src;
- /////////////////////////////////
-
- /* Get fetcher list */
--GList *r_getFList(void)
-+GList * r_getFList (void)
- {
- return glyrMetaDataPluginList;
- }
-@@ -123,96 +123,97 @@ GList *r_getFList(void)
- /////////////////////////////////
-
- /* Get Source list */
--GList *r_getSList(void)
-+GList * r_getSList (void)
- {
- return glyrMetaDataSourceList;
- }
-
- /////////////////////////////////
-
--void plugin_add_to_list(GList **list, void *data)
-+void plugin_add_to_list (GList ** list, void * data)
- {
-- if(list != NULL) {
-- *list = g_list_prepend(*list, data);
-+ if (list != NULL)
-+ {
-+ *list = g_list_prepend (*list,data);
- }
- }
-
- /////////////////////////////////
-
--static void register_provider_plugins(void)
-+static void register_provider_plugins (void)
- {
-- plugin_add_to_list(&glyrMetaDataSourceList, &ainfo_lastfm_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &ainfo_lyricsreg_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &ainfo_bbcmusic_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &ainfo_echonest_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &albumlist_musicbrainz_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&ainfo_lastfm_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&ainfo_lyricsreg_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&ainfo_bbcmusic_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&ainfo_echonest_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&albumlist_musicbrainz_src);
-
- // FIXME: Seems to be broken too. (serverside)
-- //plugin_add_to_list(&glyrMetaDataSourceList, cover_albumart_src);
-+ //plugin_add_to_list(&glyrMetaDataSourceList,&cover_albumart_src);
-
- // FIXME: Silly amazon requires to be a Seller to use their API
-- // plugin_add_to_list(&glyrMetaDataSourceList, cover_amazon_src);
-+ // plugin_add_to_list(&glyrMetaDataSourceList,&cover_amazon_src);
-
- // FIXME: Coverhunt seems to be down. Add again when up and running
-- //plugin_add_to_list(&glyrMetaDataSourceList, cover_coverhunt_src);
-+ //plugin_add_to_list(&glyrMetaDataSourceList,&cover_coverhunt_src);
-
-
- // FIXME: No real data yet there.. adele:19 gives a correct mbid, but no results
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_coverartarchive_src);
--
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_discogs_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_google_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_lastfm_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_jamendo_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_lyricswiki_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_rhapsody_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_picsearch_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_musicbrainz_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &cover_slothradio_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lipwalk_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyrdb_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyricsreg_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyricstime_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyricsvip_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyricswiki_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_lyrix_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_magistrix_src);
-- //plugin_add_to_list (&glyrMetaDataSourceList, lyrics_metrolyrics_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_metallum_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_elyrics_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_vagalume_src);
-+ plugin_add_to_list(&glyrMetaDataSourceList,&cover_coverartarchive_src);
-+
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_discogs_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_google_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_lastfm_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_jamendo_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_lyricswiki_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_rhapsody_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_picsearch_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_musicbrainz_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&cover_slothradio_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lipwalk_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyrdb_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyricsreg_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyricstime_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyricsvip_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyricswiki_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_lyrix_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_magistrix_src);
-+ //plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_metrolyrics_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_metallum_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_elyrics_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_vagalume_src);
-
- // FIXME: Chartlyrics reacts very slowly, and often not at all
- // add again when running again ( :( - good api though)
- // 28.1.2012: Seems to be on again, API fails too often though still.
-- plugin_add_to_list(&glyrMetaDataSourceList, &lyrics_chartlyrics_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_flickr_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_google_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_lastfm_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_discogs_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_singerpictures_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_rhapsody_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_picsearch_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &photos_bbcmusic_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &relations_musicbrainz_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&lyrics_chartlyrics_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_flickr_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_google_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_lastfm_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_discogs_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_singerpictures_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_rhapsody_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_picsearch_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&photos_bbcmusic_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&relations_musicbrainz_src);
-
- // FIXME: Silly amazon requires to be a Seller to use their API
-- //plugin_add_to_list(&glyrMetaDataSourceList, review_amazon_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &review_metallum_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &review_echonest_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &similar_artist_lastfm_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &similar_song_lastfm_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &tags_musicbrainz_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &tracklist_musicbrainz_src);
-+ //plugin_add_to_list(&glyrMetaDataSourceList,&review_amazon_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&review_metallum_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&review_echonest_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&similar_artist_lastfm_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&similar_song_lastfm_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&tags_musicbrainz_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&tracklist_musicbrainz_src);
- // FIXME: Searchfunction of guitaretabs seems to be broken
-- //plugin_add_to_list(&glyrMetaDataSourceList, guitartabs_guitaretab_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &guitartabs_chordie_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &backdrops_htbackdrops_src);
-+ //plugin_add_to_list(&glyrMetaDataSourceList,&guitartabs_guitaretab_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&guitartabs_chordie_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&backdrops_htbackdrops_src);
-
- /* Special offline providers */
-- plugin_add_to_list(&glyrMetaDataSourceList, &relations_generated_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &local_provider_src);
-- plugin_add_to_list(&glyrMetaDataSourceList, &musictree_provider_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&relations_generated_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&local_provider_src);
-+ plugin_add_to_list (&glyrMetaDataSourceList,&musictree_provider_src);
- }
-
- /////////////////////////////////
-@@ -221,10 +222,10 @@ static void register_provider_plugins(void)
- * This has no actual practical use, it's just that pretty plugins are listed
- * first in outputs. Actual sorting is not threadsafe!
- */
--static gint compare_by_priority(gconstpointer a, gconstpointer b)
-+static gint compare_by_priority (gconstpointer a, gconstpointer b)
- {
-- const MetaDataSource *sa = a;
-- const MetaDataSource *sb = b;
-+ const MetaDataSource * sa = a;
-+ const MetaDataSource * sb = b;
- return (sa != NULL && sb != NULL) ?
- (sa->quality * sa->speed -
- sb->quality * sb->speed
-@@ -233,58 +234,62 @@ static gint compare_by_priority(gconstpointer a, gconstpointer b)
-
- /////////////////////////////////
-
--static void get_list_from_type(MetaDataFetcher *fetch)
-+static void get_list_from_type (MetaDataFetcher * fetch)
- {
-- GList *src;
-- for(src = glyrMetaDataSourceList; src; src = src->next) {
-- MetaDataSource *item = src->data;
-- if(item && (fetch->type == item->type || item->type == GLYR_GET_ANY)) {
-- fetch->provider = g_list_prepend(fetch->provider, item);
-- if(item->data_type == GLYR_TYPE_UNKNOWN) {
-+ GList * src;
-+ for (src = glyrMetaDataSourceList; src; src = src->next)
-+ {
-+ MetaDataSource * item = src->data;
-+ if (item && (fetch->type == item->type || item->type == GLYR_GET_ANY) )
-+ {
-+ fetch->provider = g_list_prepend (fetch->provider,item);
-+ if (item->data_type == GLYR_TYPE_UNKNOWN)
-+ {
- item->data_type = fetch->default_data_type;
- }
- }
-
- }
-- fetch->provider = g_list_sort(fetch->provider, compare_by_priority);
-+ fetch->provider = g_list_sort (fetch->provider,compare_by_priority);
-
- }
-
- /////////////////////////////////
-
--static void init_provider_list(void)
-+static void init_provider_list (void)
- {
-- for(GList *fetch = glyrMetaDataPluginList; fetch; fetch = fetch->next) {
-- get_list_from_type((MetaDataFetcher *)(fetch->data));
-- }
-+ for (GList * fetch = glyrMetaDataPluginList; fetch; fetch = fetch->next)
-+ get_list_from_type ( (MetaDataFetcher *) (fetch->data) );
- }
-
- /////////////////////////////////
-
- /* Register fetchers */
--void register_fetcher_plugins(void)
-+void register_fetcher_plugins (void)
- {
- /* add yours here */
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_cover);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_lyrics);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_artistphotos);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_artistbio);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_similar_artists);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_similar_song);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_review);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_albumlist);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_tags);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_relations);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_tracklist);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_guitartabs);
-- plugin_add_to_list(&glyrMetaDataPluginList, &glyrFetcher_backdrops);
--
-- glyrMetaDataPluginList = g_list_reverse(glyrMetaDataPluginList);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_cover);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_lyrics);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_artistphotos);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_artistbio);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_similar_artists);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_similar_song);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_review);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_albumlist);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_tags);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_relations);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_tracklist);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_guitartabs);
-+ plugin_add_to_list (&glyrMetaDataPluginList,&glyrFetcher_backdrops);
-+
-+ glyrMetaDataPluginList = g_list_reverse (glyrMetaDataPluginList);
-
- /* call init() */
-- for(GList *elem = glyrMetaDataPluginList; elem; elem = elem->next) {
-- MetaDataFetcher *fetch = elem->data;
-- if(fetch->init != NULL) {
-+ for (GList * elem = glyrMetaDataPluginList; elem; elem = elem->next)
-+ {
-+ MetaDataFetcher * fetch = elem->data;
-+ if (fetch->init != NULL)
-+ {
- fetch->init();
- }
- }
-@@ -298,73 +303,86 @@ void register_fetcher_plugins(void)
- /////////////////////////////////
-
- /* Unregister 'em again */
--void unregister_fetcher_plugins(void)
-+void unregister_fetcher_plugins (void)
- {
- /* Destroy all fetchers */
-- if(glyrMetaDataPluginList) {
-- GList *elem;
-- for(elem = glyrMetaDataPluginList; elem != NULL; elem = elem->next) {
-- MetaDataFetcher *item = elem->data;
-- if(item->destroy != NULL) {
-+ if (glyrMetaDataPluginList)
-+ {
-+ GList * elem;
-+ for (elem = glyrMetaDataPluginList; elem != NULL; elem = elem->next)
-+ {
-+ MetaDataFetcher * item = elem->data;
-+ if (item->destroy != NULL)
-+ {
- item->destroy();
- }
-- g_list_free(item->provider);
-+ g_list_free (item->provider);
- item->provider = NULL;
- }
-- g_list_free(glyrMetaDataPluginList);
-+ g_list_free (glyrMetaDataPluginList);
- glyrMetaDataPluginList = NULL;
- }
-
- /* Also kill others */
-- if(!glyrMetaDataSourceList) {
-- g_list_free(glyrMetaDataSourceList);
-+ if (!glyrMetaDataSourceList)
-+ {
-+ g_list_free (glyrMetaDataSourceList);
- glyrMetaDataSourceList = NULL;
- }
- }
-
- /////////////////////////////////
-
--GlyrFetcherInfo *get_plugin_info(void)
-+GlyrFetcherInfo * get_plugin_info (void)
- {
-- GlyrFetcherInfo *head = NULL;
-- GlyrFetcherInfo *prev_fetcher = NULL;
-- for(GList *elem0 = r_getFList(); elem0; elem0 = elem0->next) {
-- MetaDataFetcher *fetch = elem0->data;
-- GlyrFetcherInfo *finfo = g_malloc0(sizeof(GlyrFetcherInfo));
--
-- GlyrSourceInfo *prev_source = NULL;
-- for(GList *elem1 = r_getSList(); elem1; elem1 = elem1->next) {
-- MetaDataSource *source = elem1->data;
-- if(source && source->type == fetch->type) {
-- GlyrSourceInfo *sinfos = g_malloc0(sizeof(GlyrSourceInfo));
-+ GlyrFetcherInfo * head = NULL;
-+ GlyrFetcherInfo * prev_fetcher = NULL;
-+ for (GList * elem0 = r_getFList(); elem0; elem0 = elem0->next)
-+ {
-+ MetaDataFetcher * fetch = elem0->data;
-+ GlyrFetcherInfo * finfo = g_malloc0 (sizeof (GlyrFetcherInfo) );
-+
-+ GlyrSourceInfo * prev_source = NULL;
-+ for (GList * elem1 = r_getSList(); elem1; elem1 = elem1->next)
-+ {
-+ MetaDataSource * source = elem1->data;
-+ if (source && source->type == fetch->type)
-+ {
-+ GlyrSourceInfo * sinfos = g_malloc0 (sizeof (GlyrSourceInfo) );
-
- sinfos->quality = source->quality;
- sinfos->speed = source->speed;
- sinfos->key = source->key;
- sinfos->type = source->type;
- sinfos->lang_aware = source->lang_aware;
-- sinfos->name = g_strdup(source->name);
-+ sinfos->name = g_strdup (source->name);
-
-- if(prev_source != NULL) {
-+ if (prev_source != NULL)
-+ {
- prev_source->next = sinfos;
- sinfos->prev = prev_source;
-- } else {
-+ }
-+ else
-+ {
- finfo->head = sinfos;
- }
- prev_source = sinfos;
- }
- }
-
-- if(prev_fetcher != NULL) {
-+ if (prev_fetcher != NULL)
-+ {
- prev_fetcher->next = finfo;
- finfo->prev = prev_fetcher;
-- } else {
-+ }
-+ else
-+ {
- head = finfo;
- }
-
- prev_fetcher = finfo;
-
-- finfo->name = g_strdup(fetch->name);
-+ finfo->name = g_strdup (fetch->name);
- finfo->type = fetch->type;
- finfo->reqs = fetch->reqs;
- }
-@@ -373,33 +391,37 @@ GlyrFetcherInfo *get_plugin_info(void)
-
- /////////////////////////////////
-
--static void free_single_item(GlyrFetcherInfo *info)
-+static void free_single_item (GlyrFetcherInfo * info)
- {
-- if(info != NULL) {
-- GlyrSourceInfo *elem = info->head;
-- while(elem != NULL) {
-- GlyrSourceInfo *to_delete = elem;
-+ if (info != NULL)
-+ {
-+ GlyrSourceInfo * elem = info->head;
-+ while (elem != NULL)
-+ {
-+ GlyrSourceInfo * to_delete = elem;
- elem = elem->next;
-
-- g_free(to_delete->name);
-- g_free(to_delete);
-+ g_free (to_delete->name);
-+ g_free (to_delete);
- }
-- g_free((gchar *) info->name);
-+ g_free ( (gchar*) info->name);
- info->name = NULL;
- }
-- g_free(info);
-+ g_free (info);
- }
-
- /////////////////////////////////
-
--void free_plugin_info(GlyrFetcherInfo *infos)
-+void free_plugin_info (GlyrFetcherInfo * infos)
- {
-- if(infos != NULL) {
-- GlyrFetcherInfo *fetch = infos;
-- while(fetch != NULL) {
-- GlyrFetcherInfo *to_delete = fetch;
-+ if (infos != NULL)
-+ {
-+ GlyrFetcherInfo * fetch = infos;
-+ while (fetch != NULL)
-+ {
-+ GlyrFetcherInfo * to_delete = fetch;
- fetch = fetch->next;
-- free_single_item(to_delete);
-+ free_single_item (to_delete);
- }
- }
- }
-diff --git a/lib/stringlib.c b/lib/stringlib.c
-index 64dc243..5a70418 100644
---- a/lib/stringlib.c
-+++ b/lib/stringlib.c
-@@ -40,78 +40,71 @@
- *
- * Also, this is UTF-8 aware.
- */
--gsize levenshtein_strcmp(const gchar *s, const gchar *t)
-+gsize levenshtein_strcmp (const gchar * s, const gchar * t)
- {
-- int n = (s) ? g_utf8_strlen(s, -1) + 1 : 0;
-- int m = (t) ? g_utf8_strlen(t, -1) + 1 : 0;
-+ int n = (s) ? g_utf8_strlen (s,-1) +1 : 0;
-+ int m = (t) ? g_utf8_strlen (t,-1) +1 : 0;
-
- // NOTE: Be sure to call g_utf8_validate(), might fail otherwise
- // It's advisable to call g_utf8_normalize() too.
-
- // Nothing to compute really..
-- if(n < 2) {
-- return m;
-- }
-- if(m < 2) {
-- return n;
-- }
-+ if (n < 2) return m;
-+ if (m < 2) return n;
-
- // String matrix
- int d[n][m];
-- int i, j;
-+ int i,j;
-
- // Init first row|column to 0...n|m
-- for(i = 0; i < n; i++) {
-- d[i][0] = i;
-- }
-- for(j = 0; j < m; j++) {
-- d[0][j] = j;
-- }
-+ for (i=0; i<n; i++) d[i][0] = i;
-+ for (j=0; j<m; j++) d[0][j] = j;
-
-- for(i = 1; i < n; i++) {
-+ for (i=1; i<n; i++)
-+ {
- // Current char in string s
-- gunichar cats = g_utf8_get_char(g_utf8_offset_to_pointer(s, i - 1));
-+ gunichar cats = g_utf8_get_char (g_utf8_offset_to_pointer (s,i-1) );
-
-- for(j = 1; j < m; j++) {
-+ for (j=1; j<m; j++)
-+ {
- // Do -1 only once
-- int jm1 = j - 1,
-- im1 = i - 1;
-+ int jm1 = j-1,
-+ im1 = i-1;
-
-- gunichar tats = g_utf8_get_char(g_utf8_offset_to_pointer(t, jm1));
-+ gunichar tats = g_utf8_get_char (g_utf8_offset_to_pointer (t,jm1) );
-
- // a = above cell, b = left cell, c = left above celli
- int a = d[im1][j] + 1,
- b = d[i][jm1] + 1,
- c = d[im1][jm1] + (tats != cats);
-
-- // Now compute the minimum of a, , and set MIN(a, , ) to cell d[i][j]
-- d[i][j] = (a < b) ? MIN(a, c) : MIN(b, c);
-+ // Now compute the minimum of a,b,c and set MIN(a,b,c) to cell d[i][j]
-+ d[i][j] = (a < b) ? MIN (a,c) : MIN (b,c);
- }
- }
-
- // The result is stored in the very right down cell
-- return d[n - 1][m - 1];
-+ return d[n-1][m-1];
- }
-
- ///////////////////////////////
-
- // A utf8 aware levenshtein that normalizes ambigious codepoints
- // and validates input-data
--gsize levenshtein_safe_strcmp(const gchar *s, const gchar *t)
-+gsize levenshtein_safe_strcmp (const gchar * s, const gchar * t)
- {
- gsize rc = 0;
-- if(g_utf8_validate(s, -1, NULL) == FALSE ||
-- g_utf8_validate(t, -1, NULL) == FALSE) {
-+ if (g_utf8_validate (s,-1,NULL) == FALSE ||
-+ g_utf8_validate (t,-1,NULL) == FALSE)
- return rc;
-- }
-
-- gchar *s_norm = g_utf8_normalize(s, -1, G_NORMALIZE_ALL_COMPOSE);
-- gchar *t_norm = g_utf8_normalize(t, -1, G_NORMALIZE_ALL_COMPOSE);
-+ gchar * s_norm = g_utf8_normalize (s,-1,G_NORMALIZE_ALL_COMPOSE);
-+ gchar * t_norm = g_utf8_normalize (t,-1,G_NORMALIZE_ALL_COMPOSE);
-
-- rc = levenshtein_strcmp(s_norm, t_norm);
-+ rc = levenshtein_strcmp (s_norm,t_norm);
-
-- g_free(s_norm);
-- g_free(t_norm);
-+ g_free (s_norm);
-+ g_free (t_norm);
-
- return rc;
- }
-@@ -125,57 +118,65 @@ gsize levenshtein_safe_strcmp(const gchar *s, const gchar *t)
- *
- * @return a newly allocated string
- */
--const gchar *const regex_table[][2] = {
-+const gchar * const regex_table[][2] =
-+{
- {"CD[[:blank:]]*[0-9]+", ""}, /* 'CD 1' -> '' */
-- {"track[[:blank:]]*[0-9]+", ""}, /* 'CD 1' -> '' */
-- {"(`|'|\"|\\.|, ", ""}, /* Punctuation. */
-- {"feat(\\.|uring).*", ""}, /* "feat." -> " " */
-- {"feat\\..*", ""}, /* "feat." -> " " */
-- {"[[:space:]]{2, ", " "} /* 'a b' -> 'a b' */
-+ {"track[[:blank:]]*[0-9]+",""}, /* 'CD 1' -> '' */
-+ {"(`|'|\"|\\.|,)", ""}, /* Punctuation. */
-+ {"feat(\\.|uring).*",""}, /* "feat." -> " " */
-+ {"feat\\..*",""}, /* "feat." -> " " */
-+ {"[[:space:]]{2,}", " "} /* 'a b' -> 'a b' */
- };
-
--const gsize regex_table_size = sizeof(regex_table) / (2 * sizeof(gchar *));
-+const gsize regex_table_size = sizeof (regex_table) / (2 * sizeof (gchar*) );
-
--gchar *regex_replace_by_table(const gchar *string, const gchar *const delete_string[][2], gsize string_size)
-+gchar * regex_replace_by_table (const gchar * string, const gchar * const delete_string[][2], gsize string_size)
- {
-- gchar *result_string = (gchar *) string;
-+ gchar * result_string = (gchar*) string;
-
- /* Match strings to delete */
-- for(gsize it = 0; it < string_size; it++) {
-- GError *match_error = NULL;
-- GRegex *regex = g_regex_new(delete_string[it][0], G_REGEX_CASELESS /*| G_REGEX_MULTILINE*/, 0, &match_error);
--
-- if(regex != NULL) {
-- GMatchInfo *match_info;
-- g_regex_match_full(regex, string, -1, 0, 0, &match_info, &match_error);
-- while(g_match_info_matches(match_info)) {
-- gchar *word = g_match_info_fetch(match_info, 0);
-- gchar *old_memory = result_string;
-- result_string = strreplace(old_memory, word, delete_string[it][1]);
-- if(old_memory != string) {
-- g_free(old_memory);
-+ for (gsize it = 0; it < string_size; it++)
-+ {
-+ GError * match_error = NULL;
-+ GRegex * regex = g_regex_new (delete_string[it][0],G_REGEX_CASELESS /*| G_REGEX_MULTILINE*/,0,&match_error);
-+
-+ if (regex != NULL)
-+ {
-+ GMatchInfo * match_info;
-+ g_regex_match_full (regex, string, -1, 0, 0, &match_info,&match_error);
-+ while (g_match_info_matches (match_info) )
-+ {
-+ gchar *word = g_match_info_fetch (match_info, 0);
-+ gchar * old_memory = result_string;
-+ result_string = strreplace (old_memory,word,delete_string[it][1]);
-+ if (old_memory != string)
-+ {
-+ g_free (old_memory);
- }
-
-- g_match_info_next(match_info, &match_error);
-- g_free(word);
-+ g_match_info_next (match_info, &match_error);
-+ g_free (word);
- }
-- g_match_info_free(match_info);
-- g_regex_unref(regex);
-+ g_match_info_free (match_info);
-+ g_regex_unref (regex);
- }
-
-- if(match_error != NULL) {
-- fprintf(stderr, "glyr: Unexcepted error while matching: %s\n", match_error->message);
-- g_error_free(match_error);
-+ if (match_error != NULL)
-+ {
-+ fprintf (stderr,"glyr: Unexcepted error while matching: %s\n", match_error->message);
-+ g_error_free (match_error);
- }
- }
-
- /* Trim it the old way - we have to dup the string anyway */
-- if(result_string != NULL) {
-- gsize result_len = strlen(result_string);
-- gchar *trim = g_malloc0(result_len + 1);
-- trim_copy(result_string, trim);
-- if(result_string != string) {
-- g_free(result_string);
-+ if (result_string != NULL)
-+ {
-+ gsize result_len = strlen (result_string);
-+ gchar * trim = g_malloc0 (result_len + 1);
-+ trim_copy (result_string,trim);
-+ if (result_string != string)
-+ {
-+ g_free (result_string);
- }
- result_string = trim;
- }
-@@ -185,43 +186,48 @@ gchar *regex_replace_by_table(const gchar *string, const gchar *const delete_str
-
- ///////////////////////////////
-
--gsize levenshtein_strcasecmp(const gchar *string, const gchar *other)
-+gsize levenshtein_strcasecmp (const gchar * string, const gchar * other)
- {
- gsize diff = 100;
-- if(string != NULL && other != NULL) {
-+ if (string != NULL && other != NULL)
-+ {
- /* Lowercase UTF8 string might have more or less bytes! */
-- gchar *lower_string = g_utf8_strdown(string, -1);
-- gchar *lower_other = g_utf8_strdown(other, -1);
-+ gchar * lower_string = g_utf8_strdown (string,-1);
-+ gchar * lower_other = g_utf8_strdown (other, -1);
-
-- if(lower_string && lower_other) {
-- diff = levenshtein_safe_strcmp(lower_string, lower_other);
-+ if (lower_string && lower_other)
-+ {
-+ diff = levenshtein_safe_strcmp (lower_string, lower_other);
- }
-
-- g_free(lower_string);
-- g_free(lower_other);
-+ g_free (lower_string);
-+ g_free (lower_other);
- }
- return diff;
- }
-
- ///////////////////////////////
-
--static gchar *leven_normalize_string(const gchar *str)
-+static gchar * leven_normalize_string (const gchar * str)
- {
-- gchar *rv = NULL;
-- gchar *unwinded_string = unwind_artist_name(str);
-- if(unwinded_string != NULL) {
-- gchar *norm_string = regex_replace_by_table(unwinded_string, regex_table, regex_table_size);
-- if(norm_string != NULL) {
-- gchar *pretty_string = beautify_string(norm_string);
-- if(pretty_string != NULL) {
-- remove_tags_from_string(pretty_string, -1, '(', ')');
-- remove_tags_from_string(pretty_string, -1, '[', ']');
-- remove_tags_from_string(pretty_string, -1, '<', '>');
-+ gchar * rv = NULL;
-+ gchar * unwinded_string = unwind_artist_name (str);
-+ if (unwinded_string != NULL)
-+ {
-+ gchar * norm_string = regex_replace_by_table (unwinded_string,regex_table,regex_table_size);
-+ if (norm_string != NULL)
-+ {
-+ gchar * pretty_string = beautify_string (norm_string);
-+ if (pretty_string != NULL)
-+ {
-+ remove_tags_from_string (pretty_string,-1,'(',')');
-+ remove_tags_from_string (pretty_string,-1,'[',']');
-+ remove_tags_from_string (pretty_string,-1,'<','>');
- rv = pretty_string;
- }
-- g_free(norm_string);
-+ g_free (norm_string);
- }
-- g_free(unwinded_string);
-+ g_free (unwinded_string);
- }
- return rv;
- }
-@@ -229,49 +235,54 @@ static gchar *leven_normalize_string(const gchar *str)
- ///////////////////////////////
-
- /* Tries to strip unused strings before comparing with levenshtein_strcasecmp */
--gsize levenshtein_strnormcmp(GlyrQuery *settings, const gchar *string, const gchar *other)
-+gsize levenshtein_strnormcmp (GlyrQuery * settings, const gchar * string, const gchar * other)
- {
- gsize diff = 100;
-- if(string != NULL && other != NULL) {
-- gchar *normalized_string = leven_normalize_string(string);
-- gchar *normalized_other = leven_normalize_string(other);
-+ if (string != NULL && other != NULL)
-+ {
-+ gchar * normalized_string = leven_normalize_string (string);
-+ gchar * normalized_other = leven_normalize_string (other);
-
-- if(normalized_string && normalized_other) {
-- diff = levenshtein_strcasecmp(normalized_string, normalized_other);
-+ if (normalized_string && normalized_other)
-+ {
-+ diff = levenshtein_strcasecmp (normalized_string,normalized_other);
-
- /* Apply correction */
-- gsize str_len = strlen(normalized_string);
-- gsize oth_len = strlen(normalized_other);
-+ gsize str_len = strlen (normalized_string);
-+ gsize oth_len = strlen (normalized_other);
- gsize ratio = (oth_len + str_len) / 2;
- gsize fuzz = (settings) ? settings->fuzzyness : GLYR_DEFAULT_FUZZYNESS;
-
- /* Useful for debugging */
-- //g_print("%d:%s <=> %d:%s -> %d\n", gint)str_len,string, gint)oth_len, ther, gint)diff);
-+ //g_print("%d:%s <=> %d:%s -> %d\n",(gint)str_len,string,(gint)oth_len,other,(gint)diff);
-
-- if((ratio - diff < ratio / 2 + 1 && diff <= fuzz) || MIN(str_len, oth_len) <= diff) {
-+ if ( (ratio - diff < ratio / 2 + 1 && diff <= fuzz) || MIN (str_len,oth_len) <= diff)
-+ {
- /* Examples: Adios <=> Weiß or 19 <=> 21 pass levenshtein_strcasecmp */
-- //g_print("warn: The strings might accidentally pass levenshtein: %s <=> %s = %d\n", retty_string, retty_other, gint)diff);
-+ //g_print("warn: The strings might accidentally pass levenshtein: %s <=> %s = %d\n",pretty_string,pretty_other,(gint)diff);
- diff += 100;
- }
- }
-
-- g_free(normalized_string);
-- g_free(normalized_other);
-+ g_free (normalized_string);
-+ g_free (normalized_other);
- }
- return diff;
- }
-
- ///////////////////////////////
-
--gchar *strreplace(const char *string, const char *subs, const char *with)
-+gchar * strreplace (const char * string, const char * subs, const char * with)
- {
-- gchar *result = NULL;
-- if(string != NULL && string[0] != '\0') {
-- gchar **split = g_strsplit(string, subs, 0);
-- if(split != NULL) {
-- result = g_strjoinv(with, split);
-+ gchar * result = NULL;
-+ if (string != NULL && string[0] != '\0')
-+ {
-+ gchar ** split = g_strsplit (string,subs,0);
-+ if (split != NULL)
-+ {
-+ result = g_strjoinv (with,split);
- }
-- g_strfreev(split);
-+ g_strfreev (split);
- }
- return result;
- }
-@@ -281,148 +292,167 @@ gchar *strreplace(const char *string, const char *subs, const char *with)
- /* "Clapton, Eric" -> "Eric Clapton"
- * Cheers Christoph for writing this.
- */
--gchar *unwind_artist_name(const gchar *artist)
-+gchar * unwind_artist_name (const gchar * artist)
- {
-- if(NULL == artist) {
-+ if (NULL == artist)
-+ {
- return NULL;
- }
-
- /*split string in two*/
-- gchar *separator = strchr(artist, ', );
-+ gchar * separator = strchr (artist, ',');
-
-- if(separator) {
-- gchar *result = NULL;
-- gchar **strsplit = g_strsplit(artist, ", , 2);
-- if((strsplit[0] != NULL) && (strsplit[1] != NULL)) {
-- char *tmp = NULL;
-+ if (separator)
-+ {
-+ gchar * result = NULL;
-+ gchar ** strsplit = g_strsplit (artist, ",", 2);
-+ if ( (strsplit[0] != NULL) && (strsplit[1] != NULL) )
-+ {
-+ char * tmp = NULL;
-
- tmp = strsplit[0];
- strsplit[0] = strsplit[1];
- strsplit[1] = tmp;
- }
-
-- result = g_strjoinv(" ", strsplit);
-+ result = g_strjoinv (" ",strsplit);
-
- /*free g_strsplit memory*/
-- g_strfreev(strsplit);
-+ g_strfreev (strsplit);
- return result;
-- } else {
-+ }
-+ else
-+ {
- /* nothing done, return just copy*/
-- return g_strdup(artist);
-+ return g_strdup (artist);
- }
- }
-
- ///////////////////////////////////////
-
--gchar *prepare_string(const gchar *input, GLYR_NORMALIZATION mode, gboolean do_curl_escape)
-+gchar * prepare_string (const gchar * input, GLYR_NORMALIZATION mode, gboolean do_curl_escape)
- {
-- gchar *result = NULL;
-- if(input != NULL) {
-- gchar *downed = g_utf8_strdown(input, -1);
-- if(downed != NULL) {
-- gchar *normalized = g_utf8_normalize(downed, -1, G_NORMALIZE_NFKC);
-- if(normalized != NULL) {
-- if(normalized != NULL && mode & GLYR_NORMALIZE_AGGRESSIVE) {
-- remove_tags_from_string(normalized, -1, '(', ')');
-- remove_tags_from_string(normalized, -1, '<', '>');
-- remove_tags_from_string(normalized, -1, '[', ']');
-+ gchar * result = NULL;
-+ if (input != NULL)
-+ {
-+ gchar * downed = g_utf8_strdown (input,-1);
-+ if (downed != NULL)
-+ {
-+ gchar * normalized = g_utf8_normalize (downed,-1,G_NORMALIZE_NFKC);
-+ if (normalized != NULL)
-+ {
-+ if (normalized != NULL && mode & GLYR_NORMALIZE_AGGRESSIVE)
-+ {
-+ remove_tags_from_string (normalized,-1,'(',')');
-+ remove_tags_from_string (normalized,-1,'<','>');
-+ remove_tags_from_string (normalized,-1,'[',']');
- }
-
-- if(mode & GLYR_NORMALIZE_MODERATE || mode & GLYR_NORMALIZE_AGGRESSIVE) {
-- gchar *no_lint = regex_replace_by_table(normalized, regex_table, regex_table_size);
-+ if (mode & GLYR_NORMALIZE_MODERATE || mode & GLYR_NORMALIZE_AGGRESSIVE)
-+ {
-+ gchar * no_lint = regex_replace_by_table (normalized,regex_table,regex_table_size);
- g_free(normalized);
- normalized = no_lint;
- }
-
-- if(normalized != NULL) {
-- if(do_curl_escape) {
-- char *m_result = curl_easy_escape(NULL, normalized, 0);
-- result = g_strdup(m_result);
-- curl_free(m_result);
-+ if (normalized != NULL)
-+ {
-+ if (do_curl_escape)
-+ {
-+ char * m_result = curl_easy_escape (NULL, normalized, 0);
-+ result = g_strdup (m_result);
-+ curl_free (m_result);
- g_free(normalized);
-- } else {
-+ }
-+ else
-+ {
- result = normalized;
- }
- }
-- } else {
-+ }
-+ else
-+ {
- result = normalized;
- }
-- g_free(downed);
-+ g_free (downed);
- }
- }
- return result;
- }
-
--static void swap_string(char **tmp, const char *subs, const char *with)
-+static void swap_string (char ** tmp, const char * subs, const char * with)
- {
-- char *swap = *tmp;
-- *tmp = strreplace(swap, subs, with);
-- g_free(swap);
-+ char * swap = *tmp;
-+ *tmp = strreplace (swap,subs,with);
-+ g_free (swap);
- }
-
- /* Prepares the url for you to get downloaded. You don't have to call this. */
--gchar *prepare_url(const gchar *URL, GlyrQuery *s, gboolean do_curl_escape)
-+gchar * prepare_url (const gchar * URL, GlyrQuery * s, gboolean do_curl_escape)
- {
-- gchar *tmp = NULL;
-- if(URL != NULL && s != NULL) {
-- tmp = g_strdup(URL);
--
-- gchar *unwinded_artist = unwind_artist_name(s->artist);
-- gchar *p_artist = NULL, * p_album = NULL, * p_title = NULL;
--
-- if(s->normalization & GLYR_NORMALIZE_ARTIST) {
-- p_artist = prepare_string(trim_nocopy(unwinded_artist), s->normalization, do_curl_escape);
-- } else {
-- p_artist = prepare_string(trim_nocopy(unwinded_artist), GLYR_NORMALIZE_NONE, do_curl_escape);
-- }
--
-- if(s->normalization & GLYR_NORMALIZE_ALBUM) {
-- p_album = prepare_string(s->album, s->normalization, do_curl_escape);
-- } else {
-- p_album = prepare_string(s->album, GLYR_NORMALIZE_NONE, do_curl_escape);
-- }
--
-- if(s->normalization & GLYR_NORMALIZE_TITLE) {
-- p_title = prepare_string(s->title, s->normalization, do_curl_escape);
-- } else {
-- p_title = prepare_string(s->title, GLYR_NORMALIZE_NONE, do_curl_escape);
-- }
--
-- gchar *p_num = g_strdup_printf("%d", s->number * 3);
--
-- swap_string(&tmp, "${artist}", p_artist);
-- swap_string(&tmp, "${album}", p_album);
-- swap_string(&tmp, "${title}", p_title);
-- swap_string(&tmp, "${number}", p_num);
--
-- g_free(p_artist);
-- g_free(p_album);
-- g_free(p_title);
-- g_free(p_num);
-- g_free(unwinded_artist);
-+ gchar * tmp = NULL;
-+ if (URL != NULL && s != NULL)
-+ {
-+ tmp = g_strdup (URL);
-+
-+ gchar * unwinded_artist = unwind_artist_name (s->artist);
-+ gchar * p_artist = NULL, * p_album = NULL, * p_title = NULL;
-+
-+ if (s->normalization & GLYR_NORMALIZE_ARTIST)
-+ p_artist = prepare_string (trim_nocopy (unwinded_artist), s->normalization, do_curl_escape);
-+ else
-+ p_artist = prepare_string (trim_nocopy (unwinded_artist), GLYR_NORMALIZE_NONE, do_curl_escape);
-+
-+ if (s->normalization & GLYR_NORMALIZE_ALBUM)
-+ p_album = prepare_string (s->album, s->normalization, do_curl_escape);
-+ else
-+ p_album = prepare_string (s->album, GLYR_NORMALIZE_NONE, do_curl_escape);
-+
-+ if (s->normalization & GLYR_NORMALIZE_TITLE)
-+ p_title = prepare_string (s->title, s->normalization, do_curl_escape);
-+ else
-+ p_title = prepare_string (s->title, GLYR_NORMALIZE_NONE, do_curl_escape);
-+
-+ gchar * p_num = g_strdup_printf("%d", s->number * 3);
-+
-+ swap_string (&tmp,"${artist}",p_artist);
-+ swap_string (&tmp,"${album}", p_album);
-+ swap_string (&tmp,"${title}", p_title);
-+ swap_string (&tmp,"${number}", p_num);
-+
-+ g_free (p_artist);
-+ g_free (p_album);
-+ g_free (p_title);
-+ g_free (p_num);
-+ g_free (unwinded_artist);
- }
- return tmp;
- }
-
- ///////////////////////////////////////
-
--gchar *get_next_word(const gchar *string, const gchar *delim, gsize *offset, gsize len)
-+gchar * get_next_word (const gchar * string, const gchar * delim, gsize *offset, gsize len)
- {
-- gchar *word = NULL;
-- if(string && delim && * (offset) < len) {
-- gchar *occurence = strstr(string + (*offset), delim);
-- if(occurence) {
-- word = copy_value(string + (*offset), occurence);
-- * (offset) += (1 + occurence - (string + * (offset)));
-- } else {
-- word = copy_value(string + (*offset), string + len);
-+ gchar * word = NULL;
-+ if (string && delim && * (offset) < len)
-+ {
-+ gchar * occurence = strstr (string+ (*offset),delim);
-+ if (occurence)
-+ {
-+ word=copy_value (string+ (*offset),occurence);
-+ * (offset) += (1 + occurence - (string + * (offset) ) );
-+ }
-+ else
-+ {
-+ word=copy_value (string+ (*offset),string+len);
- * (offset) = len;
- }
- }
-- if(word) {
-- gchar *trim = g_malloc0(len + 1);
-- trim_copy(word, trim);
-- free(word);
-+ if (word)
-+ {
-+ gchar * trim = g_malloc0 (len + 1);
-+ trim_copy (word,trim);
-+ free (word);
- word = trim;
- }
- return word;
-@@ -430,57 +460,74 @@ gchar *get_next_word(const gchar *string, const gchar *delim, gsize *offset, gsi
-
- ///////////////////////////////////////
-
--static int convert_to_char(const gchar *string)
-+static int convert_to_char(const gchar * string)
- {
-- if(string != NULL) {
-- if(string[0] == 'x' || string[0] == 'X') {
-- return strtoul(string + 1, NULL, 16);
-+ if (string != NULL)
-+ {
-+ if (string[0] == 'x' || string[0] == 'X') {
-+ return strtoul (string + 1, NULL, 16);
- } else {
-- return strtoul(string, NULL, 10);
-+ return strtoul (string, NULL, 10);
- }
- }
- return ' ';
- }
-
- /* Translate HTML UTF8 marks to normal UTF8 (ÿ or e.g. { -> char 123) */
--char *unescape_html_UTF8(const char *data)
-+char *unescape_html_UTF8 (const char * data)
- {
-- char *result = NULL;
-- if(data != NULL) {
-- size_t i = 0, len = strlen(data);
-+ char * result = NULL;
-+ if (data != NULL)
-+ {
-+ size_t i = 0, len = strlen (data);
- int tagflag = 0;
- int iB = 0;
-
-- char *tag_open_ptr = NULL;
-- result = g_malloc0(len + 1);
-- for(i = 0; i < len; ++i) {
-- char *semicol = NULL;
-- if(data[i] == '&' && data[i + 1] == '#' && (semicol = strstr(data + i, ";")) != NULL) {
-- int n = convert_to_char(&data[i + 2]);
--
-- if(n >= 0x800) {
-- result[iB++] = (char)(0xe0 | ((n >> 12) & 0x0f));
-- result[iB++] = (char)(0x80 | ((n >> 6) & 0x3f));
-- result[iB++] = (char)(0x80 | ((n) & 0x3f));
-- } else if(n >= 0x80) {
-- result[iB++] = (char)(0xc0 | ((n >> 6) & 0x1f));
-- result[iB++] = (char)(0x80 | ((n) & 0x3f));
-- } else {
-+ char * tag_open_ptr = NULL;
-+ result = g_malloc0 (len+1);
-+ for (i = 0; i < len; ++i)
-+ {
-+ char * semicol = NULL;
-+ if (data[i] == '&' && data[i+1] == '#' && (semicol = strstr (data+i,";") ) != NULL)
-+ {
-+ int n = convert_to_char(&data[i+2]);
-+
-+ if (n >= 0x800)
-+ {
-+ result[iB++] = (char) (0xe0 | ( (n >> 12) & 0x0f) );
-+ result[iB++] = (char) (0x80 | ( (n >> 6 ) & 0x3f) );
-+ result[iB++] = (char) (0x80 | ( (n ) & 0x3f) );
-+ }
-+ else if (n >= 0x80)
-+ {
-+ result[iB++] = (char) (0xc0 | ( (n >> 6) & 0x1f) );
-+ result[iB++] = (char) (0x80 | ( (n ) & 0x3f) );
-+ }
-+ else
-+ {
- result[iB++] = (char) n;
- }
-- i = (int)(semicol - data);
-- } else { /* normal char */
-- if(data[i] == '<') {
-- tag_open_ptr = (char *) &data[i + 1];
-+ i = (int) (semicol-data);
-+ }
-+ else /* normal char */
-+ {
-+ if (data[i] == '<')
-+ {
-+ tag_open_ptr = (char*) &data[i+1];
- tagflag = 1;
- continue;
- }
-
-- if(tagflag == 0) {
-+ if (tagflag == 0 )
-+ {
- result[iB++] = data[i];
-- } else if(data[i] == '>') {
-- if(tag_open_ptr != NULL) {
-- if(g_strstr_len(tag_open_ptr, 7, "br") != NULL) {
-+ }
-+ else if (data[i] == '>')
-+ {
-+ if (tag_open_ptr != NULL)
-+ {
-+ if (g_strstr_len (tag_open_ptr,7,"br") != NULL)
-+ {
- result[iB++] = '\n';
- }
- }
-@@ -499,7 +546,8 @@ char *unescape_html_UTF8(const char *data)
- * Thanks for this. Probably directly from wikipedia: https://secure.wikimedia.org/wikipedia/en/wiki/List_of_XML_and_HTML_character_entity_references
- * I don't know a way how this can be done easier. But it's working well, so I guess I just let it be...
- */
--const char *html_to_unicode_table[][2] = {
-+const char * html_to_unicode_table[][2] =
-+{
- { "AElig", "Æ" },
- { "Aacute", "Á" },
- { "Acirc", "Â" },
-@@ -759,48 +807,54 @@ const char *html_to_unicode_table[][2] = {
- ///////////////////////////////////////
-
- /* returns newly allocated string without unicode like expressions */
--char *strip_html_unicode(const gchar *string)
-+char * strip_html_unicode (const gchar * string)
- {
-- if(string == NULL) {
-+ if (string == NULL)
- return NULL;
-- }
-
- // Total length, iterator and resultbuf
-- gsize sR_len = strlen(string), sR_i = 0;
-- gchar *sResult = g_malloc0(sR_len + 1);
-+ gsize sR_len = strlen (string), sR_i = 0;
-+ gchar * sResult = g_malloc0 (sR_len + 1);
-
-- for(gsize aPos = 0; aPos < sR_len; aPos++) {
-+ for (gsize aPos = 0; aPos < sR_len; aPos++)
-+ {
- // An ampersand might be a hint
-- if(string[aPos] == '&') {
-- gchar *semicolon = NULL;
-- if((semicolon = strchr(string + aPos, ';')) != NULL) {
-+ if (string[aPos] == '&')
-+ {
-+ gchar * semicolon = NULL;
-+ if ( (semicolon = strchr (string+aPos,';') ) != NULL)
-+ {
- // The distance between '&' and ';'
-- gsize diff = semicolon - (string + aPos);
-+ gsize diff = semicolon - (string+aPos);
-
- // Only translate codes shorter than 10 signs.
-- if(diff > 0 && diff < 8) {
-+ if (diff > 0 && diff < 8)
-+ {
- // copy that portion so we can find the translation
- gchar cmp_buf[diff];
-- strncpy(cmp_buf, string + aPos + 1 , diff - 1);
-- cmp_buf[diff - 1] = '\0';
-+ strncpy (cmp_buf, string + aPos + 1 ,diff-1);
-+ cmp_buf[diff-1] = '\0';
-
- // Now find the 'translation' of this code
- // This is a bit slow for performance aware applications
- // Glyr isn't because it has to wait for data from the internet most
- // of the time. You might want to add some sort of 'Hash'
- gsize iter = 0;
-- while(html_to_unicode_table[iter][0] != NULL) {
-- if(html_to_unicode_table[iter][0] && !strcmp(cmp_buf, html_to_unicode_table[iter][0])) {
-+ while ( html_to_unicode_table[iter][0] != NULL )
-+ {
-+ if (html_to_unicode_table[iter][0] && !strcmp (cmp_buf,html_to_unicode_table[iter][0]) )
-+ {
- break;
- }
- iter++;
- }
-
- // If nothing found we just copy it
-- if(html_to_unicode_table[iter][0] != NULL && html_to_unicode_table[iter][1] != NULL) {
-+ if (html_to_unicode_table[iter][0] != NULL && html_to_unicode_table[iter][1] != NULL)
-+ {
- // Copy the translation to the string
-- gsize trans_len = strlen(html_to_unicode_table[iter][1]);
-- strncpy(sResult + sR_i, html_to_unicode_table[iter][1], trans_len);
-+ gsize trans_len = strlen (html_to_unicode_table[iter][1]);
-+ strncpy (sResult + sR_i, html_to_unicode_table[iter][1], trans_len);
-
- // Overjump next bytes.
- sR_i += trans_len;
-@@ -827,23 +881,28 @@ char *strip_html_unicode(const gchar *string)
- * This is only used for HTML tags, there might be utf8 characters,
- * being rendered with the same glyph as '<', but won't escaped.
- */
--gsize remove_tags_from_string(gchar *string, gint length, gchar start, gchar end)
-+gsize remove_tags_from_string (gchar * string, gint length, gchar start, gchar end)
- {
-- gchar *tagEnd;
-+ gchar * tagEnd;
- gsize ctr = 0;
-- if(string != NULL) {
-- gsize Len = (length < 0) ? strlen(string) : (size_t) length;
-- if(Len != 0) {
-- for(gsize n = Len - 1; n != 0; --n) {
-- if(string[n] == start) {
-- if((tagEnd = strchr(string + n + 1, end)) != NULL) {
-- gchar *Tpon = tagEnd + 1;
-- gsize tLen = Tpon - (string + n);
-+ if (string != NULL)
-+ {
-+ gsize Len = (length < 0) ? strlen (string) : (size_t) length;
-+ if (Len != 0)
-+ {
-+ for (gsize n = Len-1; n != 0; --n)
-+ {
-+ if (string[n] == start)
-+ {
-+ if ( (tagEnd = strchr (string + n + 1,end) ) != NULL)
-+ {
-+ gchar * Tpon = tagEnd + 1;
-+ gsize tLen = Tpon - (string+n);
- gsize rest = string + Len - tagEnd;
-
- tLen = (tLen < rest) ? tLen : rest;
-- memcpy(string + n, Tpon, tLen);
-- memmove(Tpon, Tpon + tLen, rest - tLen);
-+ memcpy (string+n, Tpon, tLen);
-+ memmove (Tpon,Tpon+tLen,rest-tLen);
- ctr += tLen;
- }
- }
-@@ -855,24 +914,27 @@ gsize remove_tags_from_string(gchar *string, gint length, gchar start, gchar end
-
- ///////////////////////////////////////
-
--static gchar *trim_in_text(gchar *string)
-+static gchar * trim_in_text (gchar * string)
- {
-- gchar *buffer = NULL;
-- if(string != NULL) {
-- gsize str_len = strlen(string), buf_pos = 0;
-- buffer = g_malloc0(str_len + 1);
-+ gchar * buffer = NULL;
-+ if (string != NULL)
-+ {
-+ gsize str_len = strlen (string), buf_pos = 0;
-+ buffer = g_malloc0 (str_len + 1);
-
-- gsize space_ctr = 0;
-+ gsize space_ctr= 0;
- gsize lfeed_ctr = 0;
-
-- for(gsize it = 0; it < str_len; it++) {
-- gboolean is_space = isspace(string[it]);
-- gboolean is_lfeed = !isblank(string[it]) && is_space;
-+ for (gsize it = 0; it < str_len; it++)
-+ {
-+ gboolean is_space = isspace (string[it]);
-+ gboolean is_lfeed = !isblank (string[it]) && is_space;
-
- lfeed_ctr = (is_lfeed) ? lfeed_ctr + 1 : 0;
- space_ctr = (is_space) ? space_ctr + 1 : 0;
-
-- if(space_ctr < 2 || lfeed_ctr) {
-+ if (space_ctr < 2 || lfeed_ctr)
-+ {
- buffer[buf_pos++] = string[it];
- }
- }
-@@ -884,25 +946,32 @@ static gchar *trim_in_text(gchar *string)
-
- /* Beautify lyrics in general, by removing endline spaces, *
- * trimming everything and removing double newlines */
--gchar *beautify_string(const gchar *lyrics)
-+gchar * beautify_string (const gchar * lyrics)
- {
-- gchar *result = NULL;
-+ gchar * result = NULL;
-
- /* Strip special html entities */
-- gchar *strip = unescape_html_UTF8(lyrics);
-- if(strip != NULL) {
-+ gchar * strip = unescape_html_UTF8 (lyrics);
-+ if (strip != NULL)
-+ {
- /* Now convert all unichars like &#[x]num; */
-- gchar *unicode = strip_html_unicode(strip);
-+ gchar * unicode = strip_html_unicode (strip);
-
-- if(unicode != NULL) {
-- gsize Len = strlen(unicode);
-- for(gsize i = 0; i < Len; i++) {
-+ if (unicode != NULL)
-+ {
-+ gsize Len = strlen (unicode);
-+ for (gsize i = 0; i < Len; i++)
-+ {
- gsize newline_ctr = 0;
- gsize j = i;
-- for(; j < Len && (unicode[j] == '\n' || unicode[j] == '\r'); j++) {
-- if(newline_ctr % 3 == 0) {
-+ for (; j < Len && (unicode[j] == '\n' || unicode[j] == '\r'); j++)
-+ {
-+ if (newline_ctr % 3 == 0)
-+ {
- unicode[j] = '\n';
-- } else {
-+ }
-+ else
-+ {
- unicode[j] = ' ';
- }
- newline_ctr++;
-@@ -910,21 +979,24 @@ gchar *beautify_string(const gchar *lyrics)
- i = j + 1;
- }
-
-- remove_tags_from_string(unicode, Len, '<', '>');
-+ remove_tags_from_string (unicode,Len,'<','>');
- // gchar * trimmed = trim_after_newline(unicode);
-- gchar *trimmed = trim_in_text(unicode);
-- g_free(unicode);
-+ gchar * trimmed = trim_in_text (unicode);
-+ g_free (unicode);
-
-- if(trimmed && g_utf8_validate(trimmed, -1, NULL) == TRUE) {
-- result = g_utf8_normalize(trimmed, -1, G_NORMALIZE_NFKC);
-- g_free(trimmed);
-- } else {
-+ if (trimmed && g_utf8_validate (trimmed,-1,NULL) == TRUE)
-+ {
-+ result = g_utf8_normalize (trimmed,-1,G_NORMALIZE_NFKC);
-+ g_free (trimmed);
-+ }
-+ else
-+ {
- result = trimmed;
- }
-
-- trim_inplace(result);
-+ trim_inplace (result);
- }
-- g_free(strip);
-+ g_free (strip);
- }
- return result;
- }
-@@ -933,23 +1005,26 @@ gchar *beautify_string(const gchar *lyrics)
- ///////////////////////////////////////
-
- /* Does not necessarely handle unicode, just ascii */
--void trim_copy(gchar *input, gchar *output)
-+void trim_copy (gchar *input, gchar *output)
- {
- gchar *end = output;
- gchar c;
-
- /* skip spaces at start */
-- while(input[0] && isspace(*input)) {
-+ while (input[0] && isspace (*input) )
-+ {
- ++input;
- }
-
- /* copy the rest while remembering the last non-whitespace */
-- while(input[0]) {
-+ while (input[0])
-+ {
- // copy character
- c = * (output++) = * (input++);
-
- /* if its not a whitespace, this *could* be the last character */
-- if(!isspace(c)) {
-+ if ( !isspace (c) )
-+ {
- end = output;
- }
- }
-@@ -961,36 +1036,33 @@ void trim_copy(gchar *input, gchar *output)
-
- ///////////////////////////////////////
-
--void trim_inplace(gchar *s)
-+void trim_inplace (gchar *s)
- {
-- trim_copy(s, s);
-+ trim_copy (s, s);
- }
-
- ///////////////////////////////////////
-
- /* Returns new pointer */
--gchar *trim_nocopy(gchar *s)
-+gchar * trim_nocopy (gchar * s)
- {
-- gchar *start = s;
-- gchar *end = NULL;
-+ gchar * start = s;
-+ gchar * end = NULL;
-
- /* skip spaces at start */
-- while(*start && isspace(*start)) {
-+ while (*start && isspace (*start) )
- ++start;
-- }
-
- /* iterate over the rest remebering last non-whitespace */
- char *i = start;
-- while(*i) {
-- if(!isspace(* (i++))) {
-+ while (*i)
-+ {
-+ if ( !isspace (* (i++) ) )
- end = i;
-- }
- }
-
- /* white the terminating zero after last non-whitespace */
-- if(end != NULL) {
-- *end = 0;
-- }
-+ if (end !=NULL) *end = 0;
-
- return start;
- }
-@@ -998,14 +1070,16 @@ gchar *trim_nocopy(gchar *s)
- ///////////////////////////////////////
-
- /* Just copies the value from begin to start (excluding end[0]) */
--gchar *copy_value(const gchar *begin, const gchar *end)
-+gchar * copy_value (const gchar * begin, const gchar * end)
- {
-- if(begin && end) {
-+ if (begin && end)
-+ {
- gsize length = end - begin;
-- gchar *buffer = g_malloc0(length + 1);
-+ gchar * buffer = g_malloc0 (length+1);
-
-- if(buffer != NULL) {
-- strncpy(buffer, begin, length);
-+ if (buffer != NULL)
-+ {
-+ strncpy (buffer,begin,length);
- buffer[length] = '\0';
- }
- return buffer;
-@@ -1015,15 +1089,19 @@ gchar *copy_value(const gchar *begin, const gchar *end)
-
- ///////////////////////////////////////
-
--void chomp_breakline(gchar *string)
-+void chomp_breakline (gchar * string)
- {
-- if(string != NULL) {
-- gsize len = strlen(string);
-- while(--len) {
-- if(string[len] == '\n') {
-+ if (string != NULL)
-+ {
-+ gsize len = strlen (string);
-+ while (--len)
-+ {
-+ if (string[len] == '\n')
-+ {
- string[len] = '\0';
-- if(len != 0 && string[len - 1] == '\r') {
-- string[len - 1] = '\0';
-+ if (len != 0 && string[len-1] == '\r')
-+ {
-+ string[len-1] = '\0';
- }
- break;
- }
-@@ -1033,33 +1111,39 @@ void chomp_breakline(gchar *string)
-
- ///////////////////////////////////////
-
--gchar *convert_charset(const gchar *string, gchar *from, gchar *to, gsize *new_size)
-+gchar * convert_charset (const gchar * string, gchar * from, gchar * to, gsize * new_size)
- {
-- gchar *conv_string = NULL;
-+ gchar * conv_string = NULL;
- GIConv converter;
-- if((converter = g_iconv_open(from, to)) != (GIConv) - 1) {
-- GError *err_step_one = NULL;
-- conv_string = g_convert_with_iconv(string, -1, converter, NULL, new_size, &err_step_one);
-- if(conv_string == NULL) {
-- g_print("conversion-error: %s\n", err_step_one->message);
-+ if ( (converter = g_iconv_open (from,to) ) != (GIConv)-1)
-+ {
-+ GError * err_step_one = NULL;
-+ conv_string = g_convert_with_iconv (string,-1,converter,NULL,new_size,&err_step_one);
-+ if (conv_string == NULL)
-+ {
-+ g_print ("conversion-error: %s\n",err_step_one->message);
- }
-- g_iconv_close(converter);
-- } else {
-- g_print("Unable to convert charsets.\n");
-+ g_iconv_close (converter);
-+ }
-+ else
-+ {
-+ g_print ("Unable to convert charsets.\n");
- }
- return conv_string;
- }
-
- ///////////////////////////////////////
-
--gchar *get_search_value(gchar *ref, gchar *name, gchar *end_string)
-+gchar * get_search_value (gchar * ref, gchar * name, gchar * end_string)
- {
-- gchar *result = NULL;
-- if(ref && name) {
-- gchar *begin = strstr(ref, name);
-- if(begin != NULL) {
-- begin += strlen(name);
-- result = copy_value(begin, strstr(begin, end_string));
-+ gchar * result = NULL;
-+ if (ref && name)
-+ {
-+ gchar * begin = strstr (ref,name);
-+ if (begin != NULL)
-+ {
-+ begin += strlen (name);
-+ result = copy_value (begin,strstr (begin,end_string) );
- }
- }
- return result;
-@@ -1068,43 +1152,45 @@ gchar *get_search_value(gchar *ref, gchar *name, gchar *end_string)
- ///////////////////////////////////////
-
- /* Note: Not case-sens: Ä -> a! */
--const gchar *const umlaut_table[][2] = {
-+const gchar * const umlaut_table[][2] =
-+{
- {"ä", "a"},
- {"ü", "u"},
- {"ö", "o"},
- {"ß", "ss"},
-- {"\\s", "-"}
-+ {"\\s","-"}
- };
-
--const gsize umlaut_table_size = sizeof(umlaut_table) / (2 * sizeof(gchar *));
-+const gsize umlaut_table_size = sizeof (umlaut_table) / (2 * sizeof (gchar*) );
-
- /* Replaces umlauts like ä with an approx. like a */
--gchar *translate_umlauts(gchar *string)
-+gchar * translate_umlauts (gchar * string)
- {
-- gchar *result = NULL;
-- if(string != NULL) {
-- result = regex_replace_by_table(string, umlaut_table, umlaut_table_size);
-+ gchar * result = NULL;
-+ if (string != NULL)
-+ {
-+ result = regex_replace_by_table (string,umlaut_table,umlaut_table_size);
- }
- return result;
- }
-
- /* Match string against a GRegex */
--gboolean regex_match_compiled(const gchar *string, const GRegex *cRegex)
-+gboolean regex_match_compiled (const gchar * string, const GRegex * cRegex)
- {
- gboolean retv = FALSE;
-- if(string != NULL) {
-- if(cRegex == NULL) {
-+ if (string != NULL)
-+ {
-+ if (cRegex == NULL)
- return TRUE;
-- }
-
-- retv = g_regex_match(cRegex, string, 0, NULL);
-+ retv = g_regex_match (cRegex, string, 0, NULL);
- }
- return retv;
- }
-
- #if 0
--int main(int argc, char *argv[])
-+int main (int argc, char * argv[])
- {
-- printf("%s\n", regex_replace_by_table(argv[1], regex_table, regex_table_size));
-+ printf ("%s\n", regex_replace_by_table (argv[1], regex_table, regex_table_size) );
- }
- #endif
-diff --git a/lib/testing.c b/lib/testing.c
-index 7298ee1..d56764f 100644
---- a/lib/testing.c
-+++ b/lib/testing.c
-@@ -26,16 +26,20 @@
-
- /////////////////////////////////
-
--static MetaDataSource *get_metadata_struct(const char *provider_name, GLYR_GET_TYPE type)
-+static MetaDataSource * get_metadata_struct (const char * provider_name, GLYR_GET_TYPE type)
- {
-- MetaDataSource *result = NULL;
-- if(provider_name && type != GLYR_GET_UNKNOWN) {
-- gsize name_len = strlen(provider_name);
-- GList *source_list = r_getSList();
-- for(GList *elem = source_list; elem; elem = elem->next) {
-- MetaDataSource *src = elem->data;
-- if(src != NULL) {
-- if(g_ascii_strncasecmp(provider_name, src->name, name_len) == 0 && src->type == type) {
-+ MetaDataSource * result = NULL;
-+ if (provider_name && type != GLYR_GET_UNKNOWN)
-+ {
-+ gsize name_len = strlen (provider_name);
-+ GList * source_list = r_getSList();
-+ for (GList * elem = source_list; elem; elem = elem->next)
-+ {
-+ MetaDataSource * src = elem->data;
-+ if (src != NULL)
-+ {
-+ if (g_ascii_strncasecmp (provider_name,src->name,name_len) == 0 && src->type == type)
-+ {
- result = src;
- break;
- }
-@@ -47,19 +51,23 @@ static MetaDataSource *get_metadata_struct(const char *provider_name, GLYR_GET_T
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--const char *glyr_testing_call_url(const char *provider_name, GLYR_GET_TYPE type, GlyrQuery *query)
-+__attribute__ ( (visibility ("default") ) )
-+const char * glyr_testing_call_url (const char * provider_name, GLYR_GET_TYPE type, GlyrQuery * query)
- {
-- const char *result = NULL;
-- if(query != NULL) {
-- MetaDataSource *src = get_metadata_struct(provider_name, type);
-- if(src != NULL) {
-- const char *url = src->get_url(query);
-- if(url != NULL) {
-- result = prepare_url(url, query, TRUE);
-+ const char * result = NULL;
-+ if (query != NULL)
-+ {
-+ MetaDataSource * src = get_metadata_struct (provider_name,type);
-+ if (src != NULL)
-+ {
-+ const char * url = src->get_url (query);
-+ if (url != NULL)
-+ {
-+ result = prepare_url (url,query,TRUE);
-
-- if(src->free_url) {
-- g_free((gchar *) url);
-+ if (src->free_url)
-+ {
-+ g_free ( (gchar*) url);
- }
- }
- }
-@@ -69,27 +77,32 @@ const char *glyr_testing_call_url(const char *provider_name, GLYR_GET_TYPE type,
-
- /////////////////////////////////
-
--__attribute__((visibility("default")))
--GlyrMemCache *glyr_testing_call_parser(const char *provider_name, GLYR_GET_TYPE type, GlyrQuery *query, GlyrMemCache *cache)
-+__attribute__ ( (visibility ("default") ) )
-+GlyrMemCache * glyr_testing_call_parser (const char * provider_name, GLYR_GET_TYPE type, GlyrQuery * query, GlyrMemCache * cache)
- {
-- GlyrMemCache *result = NULL;
-- if(query && cache) {
-- MetaDataSource *src = get_metadata_struct(provider_name, type);
-- if(src != NULL) {
-+ GlyrMemCache * result = NULL;
-+ if (query && cache)
-+ {
-+ MetaDataSource * src = get_metadata_struct (provider_name,type);
-+ if (src != NULL)
-+ {
- cb_object fake;
- fake.cache = cache;
- fake.s = query;
-- GList *result_list = src->parser(&fake);
-+ GList * result_list = src->parser (&fake);
-
-- if(result_list != NULL) {
-+ if (result_list != NULL)
-+ {
- result = result_list->data;
- }
-
-- for(GList *elem = result_list; elem; elem = elem->next) {
-- GlyrMemCache *item = elem->data;
-- if(item != NULL) {
-- update_md5sum(item);
-- item->prov = g_strdup(provider_name);
-+ for (GList * elem = result_list; elem; elem = elem->next)
-+ {
-+ GlyrMemCache * item = elem->data;
-+ if (item != NULL)
-+ {
-+ update_md5sum (item);
-+ item->prov = g_strdup (provider_name);
- item->type = src->data_type;
- item->prev = (elem->prev) ? (elem->prev->data) : NULL;
- item->next = (elem->next) ? (elem->next->data) : NULL;
-diff --git a/spec/capi/check_api.c b/spec/capi/check_api.c
-index 4d23b77..93b0705 100644
---- a/spec/capi/check_api.c
-+++ b/spec/capi/check_api.c
-@@ -25,35 +25,35 @@
- //--------------------
- //--------------------
-
--START_TEST(test_glyr_init)
-+START_TEST (test_glyr_init)
- {
- GlyrQuery q;
-- fail_unless(glyr_get(NULL, NULL, NULL) == NULL, "glyr_get() should return NULL without INIT");
-- fail_unless(glyr_get(&q, NULL, NULL) == NULL, "glyr_get() should still return NULL, even with uninitalized query.");
-+ fail_unless (glyr_get (NULL,NULL,NULL) == NULL,"glyr_get() should return NULL without INIT");
-+ fail_unless (glyr_get (&q,NULL,NULL) == NULL,"glyr_get() should still return NULL, even with uninitalized query.");
-
- glyr_init();
-- fail_unless(glyr_get(NULL, NULL, NULL) == NULL, "glyr_get() should return NULL without INIT");
-- fail_unless(glyr_get(&q, NULL, NULL) == NULL, "should not access bad memory");
-+ fail_unless (glyr_get (NULL,NULL,NULL) == NULL,"glyr_get() should return NULL without INIT");
-+ fail_unless (glyr_get (&q,NULL,NULL) == NULL,"should not access bad memory");
-
- glyr_init();
-- fail_unless(glyr_get(NULL, NULL, NULL) == NULL, "glyr_get() should return NULL without INIT");
-- fail_unless(glyr_get(&q, NULL, NULL) == NULL, "should not access bad memory");
-+ fail_unless (glyr_get (NULL,NULL,NULL) == NULL,"glyr_get() should return NULL without INIT");
-+ fail_unless (glyr_get (&q,NULL,NULL) == NULL,"should not access bad memory");
-
- glyr_cleanup();
- glyr_cleanup();
-- fail_unless(glyr_get(NULL, NULL, NULL) == NULL, "glyr_get() should return NULL without INIT");
-- fail_unless(glyr_get(&q, NULL, NULL) == NULL, "should not access bad memory");
-+ fail_unless (glyr_get (NULL,NULL,NULL) == NULL,"glyr_get() should return NULL without INIT");
-+ fail_unless (glyr_get (&q,NULL,NULL) == NULL,"should not access bad memory");
-
-- glyr_query_init(&q);
-- fail_unless(q.is_initalized == 0xDEADBEEF, NULL);
-- fail_unless(glyr_get(&q, NULL, NULL) == NULL, "should not access bad memory");
-- glyr_query_destroy(&q);
-+ glyr_query_init (&q);
-+ fail_unless (q.is_initalized == 0xDEADBEEF,NULL);
-+ fail_unless (glyr_get (&q,NULL,NULL) == NULL,"should not access bad memory");
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_destroy_before_init)
-+START_TEST (test_glyr_destroy_before_init)
- {
- glyr_cleanup();
- glyr_init();
-@@ -63,120 +63,120 @@ END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_query_init)
-+START_TEST (test_glyr_query_init)
- {
- GlyrQuery q;
-
- /* Crash? */
-- glyr_query_init(NULL);
-+ glyr_query_init (NULL);
-
-- glyr_query_init(&q);
-- fail_unless(q.is_initalized == 0xDEADBEEF, NULL);
-+ glyr_query_init (&q);
-+ fail_unless (q.is_initalized == 0xDEADBEEF,NULL);
-
-- GlyrQuery *alloc = malloc(sizeof(GlyrQuery));
-- glyr_query_init(alloc);
-- fail_unless(alloc->is_initalized == 0xDEADBEEF, NULL);
-+ GlyrQuery * alloc = malloc (sizeof (GlyrQuery) );
-+ glyr_query_init (alloc);
-+ fail_unless (alloc->is_initalized == 0xDEADBEEF,NULL);
-
-- glyr_query_destroy(&q);
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_cache_free)
-+START_TEST (test_glyr_cache_free)
- {
-- GlyrMemCache *test = glyr_cache_new();
-- glyr_cache_free(NULL);
-- glyr_cache_free(test);
-+ GlyrMemCache * test = glyr_cache_new();
-+ glyr_cache_free (NULL);
-+ glyr_cache_free (test);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_cache_copy)
-+START_TEST (test_glyr_cache_copy)
- {
-- GlyrMemCache *test = glyr_cache_new();
-- glyr_cache_set_data(test, g_strdup("some data"), -1);
-- test->next = (GlyrMemCache *) 0x1010;
-- test->prev = (GlyrMemCache *) 0x0101;
--
-- GlyrMemCache *copy = glyr_cache_copy(test);
-- fail_unless(memcmp(copy->data, test->data, test->size) == 0, "Should have the same data");
-- fail_unless(copy->next == NULL, NULL);
-- fail_unless(copy->prev == NULL, NULL);
--
-- glyr_cache_free(copy);
-- glyr_cache_free(test);
-+ GlyrMemCache * test = glyr_cache_new();
-+ glyr_cache_set_data (test,g_strdup ("some data"),-1);
-+ test->next = (GlyrMemCache*) 0x1010;
-+ test->prev = (GlyrMemCache*) 0x0101;
-+
-+ GlyrMemCache * copy = glyr_cache_copy (test);
-+ fail_unless (memcmp (copy->data,test->data,test->size) == 0,"Should have the same data");
-+ fail_unless (copy->next == NULL,NULL);
-+ fail_unless (copy->prev == NULL,NULL);
-+
-+ glyr_cache_free (copy);
-+ glyr_cache_free (test);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_query_destroy)
-+START_TEST (test_glyr_query_destroy)
- {
- GlyrQuery q;
-- glyr_query_destroy(NULL);
-- glyr_query_destroy(&q);
-- glyr_query_init(&q);
-- glyr_query_destroy(&q);
-+ glyr_query_destroy (NULL);
-+ glyr_query_destroy (&q);
-+ glyr_query_init (&q);
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_free_list)
-+START_TEST (test_glyr_free_list)
- {
-- glyr_free_list(NULL);
-- GlyrMemCache *new1 = glyr_cache_new();
-- GlyrMemCache *new2 = glyr_cache_new();
-- GlyrMemCache *new3 = glyr_cache_new();
-+ glyr_free_list (NULL);
-+ GlyrMemCache * new1 = glyr_cache_new();
-+ GlyrMemCache * new2 = glyr_cache_new();
-+ GlyrMemCache * new3 = glyr_cache_new();
- new2->next = new3;
- new2->prev = new1;
-- glyr_free_list(new2);
-+ glyr_free_list (new2);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_cache_set_data)
-+START_TEST (test_glyr_cache_set_data)
- {
-- glyr_cache_set_data(NULL, "lala", 10);
-+ glyr_cache_set_data (NULL,"lala",10);
-
-- GlyrMemCache *c = glyr_cache_new();
-- c->data = g_strdup("Hello?");
-- c->size = strlen("Hello?");
-- glyr_cache_update_md5sum(c);
-+ GlyrMemCache * c = glyr_cache_new();
-+ c->data = g_strdup ("Hello?");
-+ c->size = strlen ("Hello?");
-+ glyr_cache_update_md5sum (c);
- unsigned char old_sum[16] = {0};
-- memcpy(old_sum, c->md5sum, 16);
-+ memcpy (old_sum,c->md5sum,16);
- size_t old_size = c->size;
-
-- glyr_cache_set_data(c, g_strdup(" World!"), -1);
-+ glyr_cache_set_data (c,g_strdup (" World!"),-1);
-
-- fail_if(g_strcmp0(c->data, " World!"), NULL);
-- fail_if(old_size == c->size, NULL);
-- fail_if(!memcmp(old_sum, c->md5sum, 16), NULL);
-+ fail_if (g_strcmp0 (c->data," World!"),NULL);
-+ fail_if (old_size == c->size,NULL);
-+ fail_if (!memcmp (old_sum,c->md5sum,16),NULL);
-
-- glyr_cache_free(c);
-+ glyr_cache_free (c);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_cache_write)
-+START_TEST (test_glyr_cache_write)
- {
- glyr_init();
-
-- glyr_cache_write(NULL, "/tmp");
-- GlyrMemCache *tmp = glyr_cache_new();
-- glyr_cache_write(tmp, NULL);
-+ glyr_cache_write (NULL,"/tmp");
-+ GlyrMemCache * tmp = glyr_cache_new();
-+ glyr_cache_write (tmp,NULL);
-
-- glyr_cache_set_data(tmp, g_strdup("Test data of the cache"), -1);
-- glyr_cache_write(tmp, "stdout");
-- glyr_cache_write(tmp, "stderr");
-- glyr_cache_write(tmp, "null");
-- glyr_cache_write(tmp, "/tmp/test.txt");
-+ glyr_cache_set_data (tmp,g_strdup ("Test data of the cache"),-1);
-+ glyr_cache_write (tmp,"stdout");
-+ glyr_cache_write (tmp,"stderr");
-+ glyr_cache_write (tmp,"null");
-+ glyr_cache_write (tmp,"/tmp/test.txt");
-
-- glyr_cache_free(tmp);
-+ glyr_cache_free (tmp);
- glyr_cleanup();
- }
- END_TEST
-@@ -185,52 +185,52 @@ END_TEST
- //--------------------
- //--------------------
-
--START_TEST(test_glyr_download)
-+START_TEST (test_glyr_download)
- {
- glyr_init();
-- atexit(glyr_cleanup);
-- GlyrMemCache *c = glyr_download("www.duckduckgo.com", NULL);
-- fail_unless(c != NULL, "Could not load www.google.de");
-- glyr_cache_free(c);
-+ atexit (glyr_cleanup);
-+ GlyrMemCache * c = glyr_download ("www.duckduckgo.com",NULL);
-+ fail_unless (c != NULL,"Could not load www.google.de");
-+ glyr_cache_free (c);
- }
- END_TEST
-
- //--------------------
-
--Suite *create_test_suite(void)
-+Suite * create_test_suite (void)
- {
-- Suite *s = suite_create("Libglyr API");
-+ Suite *s = suite_create ("Libglyr API");
-
- /* Core test case */
-- TCase *tc_core = tcase_create("Init");
-- tcase_add_test(tc_core, test_glyr_init);
-- tcase_add_test(tc_core, test_glyr_destroy_before_init);
-- tcase_add_test(tc_core, test_glyr_query_init);
-- tcase_add_test(tc_core, test_glyr_query_destroy);
-- tcase_add_test(tc_core, test_glyr_free_list);
-- tcase_add_test(tc_core, test_glyr_cache_free);
-- tcase_add_test(tc_core, test_glyr_cache_copy);
-- tcase_add_test(tc_core, test_glyr_cache_set_data);
-- tcase_add_test(tc_core, test_glyr_cache_write);
-- tcase_add_test(tc_core, test_glyr_download);
-- suite_add_tcase(s, tc_core);
-+ TCase * tc_core = tcase_create ("Init");
-+ tcase_add_test (tc_core, test_glyr_init);
-+ tcase_add_test (tc_core, test_glyr_destroy_before_init);
-+ tcase_add_test (tc_core, test_glyr_query_init);
-+ tcase_add_test (tc_core, test_glyr_query_destroy);
-+ tcase_add_test (tc_core, test_glyr_free_list);
-+ tcase_add_test (tc_core, test_glyr_cache_free);
-+ tcase_add_test (tc_core, test_glyr_cache_copy);
-+ tcase_add_test (tc_core, test_glyr_cache_set_data);
-+ tcase_add_test (tc_core, test_glyr_cache_write);
-+ tcase_add_test (tc_core, test_glyr_download);
-+ suite_add_tcase (s, tc_core);
- return s;
- }
-
- //--------------------
-
--int main(void)
-+int main (void)
- {
- init();
-
- int number_failed;
- Suite *s = create_test_suite();
-
-- SRunner *sr = srunner_create(s);
-- srunner_set_log(sr, "check_glyr_api.log");
-- srunner_run_all(sr, CK_VERBOSE);
-+ SRunner * sr = srunner_create (s);
-+ srunner_set_log (sr, "check_glyr_api.log");
-+ srunner_run_all (sr, CK_VERBOSE);
-
-- number_failed = srunner_ntests_failed(sr);
-- srunner_free(sr);
-+ number_failed = srunner_ntests_failed (sr);
-+ srunner_free (sr);
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
- };
-diff --git a/spec/capi/check_dbc.c b/spec/capi/check_dbc.c
-index 3638d14..a9c7fb6 100644
---- a/spec/capi/check_dbc.c
-+++ b/spec/capi/check_dbc.c
-@@ -28,31 +28,31 @@
-
- //--------------------
-
--static int counter_callback(GlyrQuery *q, GlyrMemCache *c, void *userptr)
-+static int counter_callback (GlyrQuery * q, GlyrMemCache * c, void * userptr)
- {
-- int *i = userptr;
-+ int * i = userptr;
- *i += 1;
- return 0;
- }
-
--static int count_db_items(GlyrDatabase *db)
-+static int count_db_items (GlyrDatabase * db)
- {
- int c = 0;
-- glyr_db_foreach(db, counter_callback, &c);
-+ glyr_db_foreach (db,counter_callback,&c);
- return c;
- }
-
--static void cleanup_db(void)
-+static void cleanup_db (void)
- {
-- system("rm -rf /tmp/check/");
-+ system ("rm -rf /tmp/check/");
- }
-
-
--static GlyrDatabase *setup_db(void)
-+static GlyrDatabase * setup_db (void)
- {
- cleanup_db();
-- system("mkdir -p /tmp/check");
-- return glyr_db_init("/tmp/check");
-+ system ("mkdir -p /tmp/check");
-+ return glyr_db_init ("/tmp/check");
- }
-
- //--------------------
-@@ -60,290 +60,291 @@ static GlyrDatabase *setup_db(void)
- //--------------------
- //--------------------
-
--START_TEST(test_create_db)
-+START_TEST (test_create_db)
- {
-- glyr_db_init(NULL);
-- GlyrDatabase *db = glyr_db_init("/tmp/");
-- glyr_db_destroy(db);
-- glyr_db_destroy(NULL);
-+ glyr_db_init (NULL);
-+ GlyrDatabase * db = glyr_db_init ("/tmp/");
-+ glyr_db_destroy (db);
-+ glyr_db_destroy (NULL);
-
-- system("rm /tmp/metadata.db");
-+ system ("rm /tmp/metadata.db");
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_simple_db)
-+START_TEST (test_simple_db)
- {
- GlyrQuery q;
-- setup(&q, GLYR_GET_LYRICS, 10);
-- glyr_opt_artist(&q, "Equi");
-- glyr_opt_title(&q, "lala");
-+ setup (&q,GLYR_GET_LYRICS,10);
-+ glyr_opt_artist (&q,"Equi");
-+ glyr_opt_title (&q,"lala");
-
-- GlyrDatabase *db = setup_db();
-+ GlyrDatabase * db = setup_db();
-
-- GlyrMemCache *ct = glyr_cache_new();
-+ GlyrMemCache * ct = glyr_cache_new();
-
-- glyr_cache_set_data(ct, g_strdup("test"), -1);
-+ glyr_cache_set_data (ct,g_strdup ("test"),-1);
-
-- glyr_db_insert(NULL, &q, (GlyrMemCache *) 0x1);
-- fail_unless(count_db_items(db) == 0, NULL);
-- glyr_db_insert(db, NULL, (GlyrMemCache *) 0x1);
-- fail_unless(count_db_items(db) == 0, NULL);
-- glyr_db_insert(db, &q, NULL);
-- fail_unless(count_db_items(db) == 0, NULL);
-+ glyr_db_insert (NULL,&q, (GlyrMemCache*) 0x1);
-+ fail_unless (count_db_items (db) == 0, NULL);
-+ glyr_db_insert (db,NULL, (GlyrMemCache*) 0x1);
-+ fail_unless (count_db_items (db) == 0, NULL);
-+ glyr_db_insert (db,&q,NULL);
-+ fail_unless (count_db_items (db) == 0, NULL);
-
-- glyr_db_insert(db, &q, ct);
-- GlyrMemCache *c = glyr_db_lookup(db, &q);
-- fail_unless(c != NULL, NULL);
-- fail_unless(c->data != NULL, NULL);
-- fail_unless(count_db_items(db) == 1, NULL);
-+ glyr_db_insert (db,&q,ct);
-+ GlyrMemCache * c = glyr_db_lookup (db,&q);
-+ fail_unless (c != NULL, NULL);
-+ fail_unless (c->data != NULL, NULL);
-+ fail_unless (count_db_items (db) == 1, NULL);
-
-- glyr_db_destroy(db);
-- glyr_cache_free(ct);
-- glyr_query_destroy(&q);
-+ glyr_db_destroy (db);
-+ glyr_cache_free (ct);
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_iter_db)
-+START_TEST (test_iter_db)
- {
- GlyrQuery q;
-- setup(&q, GLYR_GET_LYRICS, 10);
-- glyr_opt_artist(&q, "Equi");
-- glyr_opt_title(&q, "lala");
-+ setup (&q,GLYR_GET_LYRICS,10);
-+ glyr_opt_artist (&q,"Equi");
-+ glyr_opt_title (&q,"lala");
-
-- GlyrDatabase *db = setup_db();
-+ GlyrDatabase * db = setup_db();
-
- GlyrQuery nugget;
-- setup(&nugget, GLYR_GET_COVERART, 40);
-- glyr_opt_artist(&nugget, "A very special artist");
-- glyr_opt_album(&nugget, "A very special album");
-+ setup (&nugget,GLYR_GET_COVERART,40);
-+ glyr_opt_artist (&nugget,"A very special artist");
-+ glyr_opt_album (&nugget,"A very special album");
-
-- GTimer *insert_time = g_timer_new();
-+ GTimer * insert_time = g_timer_new();
-
- const int N = 5000;
-- for(int i = 0; i < N; i++) {
-- GlyrMemCache *ct = glyr_cache_new();
-- glyr_cache_set_data(ct, g_strdup_printf("test# %d", i + 1), -1);
-- ct->dsrc = g_strdup_printf("Dummy url %d", i + 1);
-+ for (int i = 0; i < N; i++)
-+ {
-+ GlyrMemCache * ct = glyr_cache_new();
-+ glyr_cache_set_data (ct,g_strdup_printf ("test# %d",i+1),-1);
-+ ct->dsrc = g_strdup_printf ("Dummy url %d",i+1);
-
-- if(i % 2) {
-+ if (i % 2)
- ct->rating = N ;
-- } else {
-+ else
- ct->rating = N ;
-- }
-
-- if(i % 23) {
-- glyr_db_insert(db, &q, ct);
-- } else {
-- glyr_db_insert(db, &nugget, ct);
-- }
-+ if (i % 23)
-+ glyr_db_insert (db,&q,ct);
-+ else
-+ glyr_db_insert (db,&nugget,ct);
-
-- glyr_cache_free(ct);
-+ glyr_cache_free (ct);
- }
-
-- g_timer_stop(insert_time);
-- g_message("Used %.5f seconds to insert..", g_timer_elapsed(insert_time, NULL));
-+ g_timer_stop (insert_time);
-+ g_message ("Used %.5f seconds to insert..",g_timer_elapsed (insert_time,NULL) );
-
- /* Check if N items are in DB */
-- int cdb = count_db_items(db);
-- g_message("Counted %d items", cdb);
-- fail_unless(cdb == N, NULL);
-+ int cdb = count_db_items (db);
-+ g_message ("Counted %d items",cdb);
-+ fail_unless (cdb == N, NULL);
-
- /* Test if case-insensitivity works */
-- glyr_opt_artist(&q, "eQuI");
-- glyr_opt_title(&q, "LALA");
-+ glyr_opt_artist (&q,"eQuI");
-+ glyr_opt_title (&q,"LALA");
-
- float fine_grained = 0.0;
-- GTimer *grain_time = g_timer_new();
-+ GTimer * grain_time = g_timer_new();
-
-- g_timer_start(insert_time);
-+ g_timer_start (insert_time);
-
-- GlyrMemCache *c, * ptr;
-- for(int i = 1; i <= N / 10; i++) {
-- g_timer_start(grain_time);
-+ GlyrMemCache * c, * ptr;
-+ for (int i = 1; i <= N/10; i++)
-+ {
-+ g_timer_start (grain_time);
- /* Get a list of the caches */
-- if(i % 10) {
-- c = glyr_db_lookup(db, &q);
-- } else {
-- c = glyr_db_lookup(db, &nugget);
-- }
-+ if (i % 10)
-+ c = glyr_db_lookup (db,&q);
-+ else
-+ c = glyr_db_lookup (db,&nugget);
-
-- g_timer_stop(grain_time);
-- fine_grained += g_timer_elapsed(grain_time, NULL);
-+ g_timer_stop (grain_time);
-+ fine_grained += g_timer_elapsed (grain_time,NULL);
-
- ptr = c;
-- fail_if(ptr == NULL);
-+ fail_if (ptr == NULL);
-
- int last_rating = INT_MAX;
- int ctr = 0;
-- while(ptr) {
-+ while (ptr)
-+ {
- ctr++;
-- fail_unless(last_rating >= ptr->rating);
-+ fail_unless (last_rating >= ptr->rating);
- last_rating = ptr->rating;
- ptr = ptr->next;
- }
-- glyr_free_list(c);
-+ glyr_free_list (c);
-
- /* Test if we got exactly 10 or 42 items, (honoring number setting) */
-
-- if(i % 10) {
-- fail_unless(ctr == 10);
-- } else {
-- fail_unless(ctr == 40);
-- }
-+ if (i % 10)
-+ fail_unless (ctr == 10);
-+ else
-+ fail_unless (ctr == 40);
- }
-
-
-- g_timer_stop(insert_time);
-- g_message("Used %.5f seconds to lookup..", g_timer_elapsed(insert_time, NULL));
-- g_message("Used %.5f for actual lookup..", fine_grained);
-+ g_timer_stop (insert_time);
-+ g_message ("Used %.5f seconds to lookup..",g_timer_elapsed (insert_time,NULL) );
-+ g_message ("Used %.5f for actual lookup..",fine_grained);
-
-- glyr_db_destroy(db);
-- glyr_query_destroy(&q);
-- glyr_query_destroy(&nugget);
-+ glyr_db_destroy (db);
-+ glyr_query_destroy (&q);
-+ glyr_query_destroy (&nugget);
-
-- g_timer_destroy(insert_time);
-- g_timer_destroy(grain_time);
-+ g_timer_destroy (insert_time);
-+ g_timer_destroy (grain_time);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_sorted_rating)
-+START_TEST (test_sorted_rating)
- {
- const int N = 10;
-
-- GlyrDatabase *db = setup_db();
-+ GlyrDatabase * db = setup_db();
-
- GlyrQuery q;
-- glyr_query_init(&q);
-- setup(&q, GLYR_GET_LYRICS, N);
-+ glyr_query_init (&q);
-+ setup (&q,GLYR_GET_LYRICS,N);
-
-- for(int i = 0; i < N; ++i) {
-+ for (int i = 0; i < N; ++i)
-+ {
- int rate = (i / 2) + 1;
-
-- GlyrMemCache *ct = glyr_cache_new();
-- fail_if(ct == NULL);
-+ GlyrMemCache * ct = glyr_cache_new();
-+ fail_if (ct == NULL);
-
-- glyr_cache_set_data(ct, g_strdup_printf("MyLyrics %d", i), -1);
-- ct->dsrc = g_strdup("http://MyLyrics.com");
-+ glyr_cache_set_data (ct,g_strdup_printf ("MyLyrics %d",i),-1);
-+ ct->dsrc = g_strdup ("http://MyLyrics.com");
- ct->rating = rate;
-- glyr_db_insert(db, &q, ct);
-+ glyr_db_insert (db,&q,ct);
-
-- glyr_cache_free(ct);
-+ glyr_cache_free (ct);
- }
-
-- fail_unless(count_db_items(db) == N);
-+ fail_unless (count_db_items (db) == N);
-
-- GlyrMemCache *list = glyr_db_lookup(db, &q);
-- GlyrMemCache *iter = list;
-- fail_if(list == NULL);
-+ GlyrMemCache * list = glyr_db_lookup (db,&q);
-+ GlyrMemCache * iter = list;
-+ fail_if (list == NULL);
-
- double last_timestamp = DBL_MAX;
- int last_rating = INT_MAX;
-- while(iter) {
-- glyr_cache_print(iter);
-- fail_unless(last_rating >= iter->rating);
-- if(last_rating == iter->rating) {
-- fail_unless(last_timestamp >= iter->timestamp);
-- }
-+ while (iter)
-+ {
-+ glyr_cache_print (iter);
-+ fail_unless (last_rating >= iter->rating);
-+ if (last_rating == iter->rating)
-+ fail_unless (last_timestamp >= iter->timestamp);
-
- last_timestamp = iter->timestamp;
- last_rating = iter->rating;
- iter = iter->next;
- }
-
-- glyr_free_list(list);
-+ glyr_free_list (list);
- }
- END_TEST
-
- //--------------------
-
- /* Write artist|album|title, select only artist|title */
--START_TEST(test_intelligent_lookup)
-+START_TEST (test_intelligent_lookup)
- {
-- GlyrDatabase *db = setup_db();
-+ GlyrDatabase * db = setup_db();
-
- GlyrQuery alt;
-- glyr_query_init(&alt);
-+ glyr_query_init (&alt);
-
-- gchar *artist = "Аркона";
-- gchar *album = "Ot Serdca k Nebu";
-- gchar *title = "Pokrovy Nebesnogo Startsa (Shrouds Of Celestial Sage)";
-+ gchar * artist = "Аркона";
-+ gchar * album = "Ot Serdca k Nebu";
-+ gchar * title = "Pokrovy Nebesnogo Startsa (Shrouds Of Celestial Sage)";
-
-- glyr_opt_artist(&alt, artist);
-- glyr_opt_album(&alt, album);
-- glyr_opt_title(&alt, title);
-- glyr_opt_type(&alt, GLYR_GET_LYRICS);
-+ glyr_opt_artist (&alt,artist);
-+ glyr_opt_album (&alt,album );
-+ glyr_opt_title (&alt,title );
-+ glyr_opt_type (&alt,GLYR_GET_LYRICS);
-
-- GlyrMemCache *subject = glyr_cache_new();
-- glyr_cache_set_data(subject, g_strdup("These are lyrics. Really."), -1);
-+ GlyrMemCache * subject = glyr_cache_new();
-+ glyr_cache_set_data (subject,g_strdup ("These are lyrics. Really."),-1);
-
-- glyr_db_insert(db, &alt, subject);
-+ glyr_db_insert (db,&alt,subject);
-
-- GlyrMemCache *one = glyr_db_lookup(db, &alt);
-- fail_if(one == NULL, NULL);
-- fail_if(memcmp(one->md5sum, subject->md5sum, 16) != 0, NULL);
-- glyr_cache_free(one);
-+ GlyrMemCache * one = glyr_db_lookup (db,&alt);
-+ fail_if (one == NULL,NULL);
-+ fail_if (memcmp (one->md5sum,subject->md5sum,16) != 0, NULL);
-+ glyr_cache_free (one);
-
- alt.album = NULL;
-- GlyrMemCache *two = glyr_db_lookup(db, &alt);
-- fail_if(two == NULL, NULL);
-- fail_if(memcmp(two->md5sum, subject->md5sum, 16) != 0, NULL);
-- glyr_cache_free(two);
--
-- fail_unless(count_db_items(db) == 1, NULL);
-- int deleted = glyr_db_delete(db, &alt);
-- fail_unless(deleted == 1, NULL);
-- fail_unless(count_db_items(db) == 0, NULL);
--
-- glyr_query_destroy(&alt);
-- glyr_db_destroy(db);
-+ GlyrMemCache * two = glyr_db_lookup (db,&alt);
-+ fail_if (two == NULL,NULL);
-+ fail_if (memcmp (two->md5sum,subject->md5sum,16) != 0, NULL);
-+ glyr_cache_free (two);
-+
-+ fail_unless (count_db_items (db) == 1,NULL);
-+ int deleted = glyr_db_delete (db,&alt);
-+ fail_unless (deleted == 1,NULL);
-+ fail_unless (count_db_items (db) == 0,NULL);
-+
-+ glyr_query_destroy (&alt);
-+ glyr_db_destroy (db);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_db_editplace)
-+START_TEST (test_db_editplace)
- {
-
-- GlyrDatabase *db = setup_db();
-- if(db != NULL) {
-- fail_unless(count_db_items(db) == 0, NULL);
-+ GlyrDatabase * db = setup_db();
-+ if (db != NULL)
-+ {
-+ fail_unless (count_db_items (db) == 0, NULL);
-
-- GlyrMemCache *test_data = glyr_cache_new();
-- glyr_cache_set_data(test_data, g_strdup("my test data"), -1);
-+ GlyrMemCache * test_data = glyr_cache_new();
-+ glyr_cache_set_data (test_data,g_strdup ("my test data"),-1);
- GlyrQuery q;
-- setup(&q, GLYR_GET_LYRICS, 1);
-- glyr_db_insert(db, &q, test_data);
-+ setup (&q,GLYR_GET_LYRICS,1);
-+ glyr_db_insert (db,&q,test_data);
-
-- fail_unless(count_db_items(db) == 1, NULL);
-+ fail_unless (count_db_items (db) == 1, NULL);
-
-- GlyrMemCache *edit_one = glyr_cache_new();
-- glyr_cache_set_data(edit_one, g_strdup("my new data"), -1);
-- glyr_db_edit(db, &q, edit_one);
-+ GlyrMemCache * edit_one = glyr_cache_new();
-+ glyr_cache_set_data (edit_one,g_strdup ("my new data"),-1);
-+ glyr_db_edit (db,&q,edit_one);
-
-- fail_unless(count_db_items(db) == 1, NULL);
-- GlyrMemCache *lookup_one = glyr_db_lookup(db, &q);
-- fail_unless(memcmp(lookup_one->data, edit_one->data, edit_one->size) == 0, NULL);
-+ fail_unless (count_db_items (db) == 1, NULL);
-+ GlyrMemCache * lookup_one = glyr_db_lookup (db,&q);
-+ fail_unless (memcmp (lookup_one->data,edit_one->data,edit_one->size) == 0, NULL);
-
-- GlyrMemCache *edit_two = glyr_cache_new();
-- glyr_cache_set_data(edit_two, g_strdup("my even new data"), -1);
-- glyr_db_replace(db, edit_one->md5sum, &q, edit_two);
-+ GlyrMemCache * edit_two = glyr_cache_new();
-+ glyr_cache_set_data (edit_two,g_strdup ("my even new data"),-1);
-+ glyr_db_replace (db,edit_one->md5sum,&q,edit_two);
-
-- fail_unless(count_db_items(db) == 1, NULL);
-- GlyrMemCache *lookup_two = glyr_db_lookup(db, &q);
-- fail_unless(memcmp(lookup_two->data, edit_two->data, edit_two->size) == 0, NULL);
-+ fail_unless (count_db_items (db) == 1, NULL);
-+ GlyrMemCache * lookup_two = glyr_db_lookup (db,&q);
-+ fail_unless (memcmp (lookup_two->data,edit_two->data,edit_two->size) == 0, NULL);
-
-- glyr_cache_free(lookup_one);
-- glyr_cache_free(lookup_two);
-- glyr_cache_free(edit_one);
-- glyr_cache_free(edit_two);
-- glyr_cache_free(test_data);
-- glyr_db_destroy(db);
-+ glyr_cache_free (lookup_one);
-+ glyr_cache_free (lookup_two);
-+ glyr_cache_free (edit_one);
-+ glyr_cache_free (edit_two);
-+ glyr_cache_free (test_data);
-+ glyr_db_destroy (db);
- }
- }
- END_TEST
-@@ -351,38 +352,38 @@ END_TEST
-
- //--------------------
-
--Suite *create_test_suite(void)
-+Suite * create_test_suite (void)
- {
-- Suite *s = suite_create("Libglyr");
-+ Suite *s = suite_create ("Libglyr");
-
- /* Core test case */
-- TCase *tc_dbcache = tcase_create("DBCache");
-- tcase_set_timeout(tc_dbcache, GLYR_DEFAULT_TIMEOUT * 4);
-- tcase_add_test(tc_dbcache, test_create_db);
-- tcase_add_test(tc_dbcache, test_simple_db);
-- tcase_add_test(tc_dbcache, test_iter_db);
-- tcase_add_test(tc_dbcache, test_sorted_rating);
-- tcase_add_test(tc_dbcache, test_intelligent_lookup);
-- tcase_add_test(tc_dbcache, test_db_editplace);
-- suite_add_tcase(s, tc_dbcache);
-+ TCase * tc_dbcache = tcase_create ("DBCache");
-+ tcase_set_timeout (tc_dbcache,GLYR_DEFAULT_TIMEOUT * 4);
-+ tcase_add_test (tc_dbcache, test_create_db);
-+ tcase_add_test (tc_dbcache, test_simple_db);
-+ tcase_add_test (tc_dbcache, test_iter_db);
-+ tcase_add_test (tc_dbcache, test_sorted_rating);
-+ tcase_add_test (tc_dbcache, test_intelligent_lookup);
-+ tcase_add_test (tc_dbcache, test_db_editplace);
-+ suite_add_tcase (s, tc_dbcache);
- return s;
- }
-
- //--------------------
-
--int main(void)
-+int main (void)
- {
- init();
-
- int number_failed;
-- Suite *s = create_test_suite();
-+ Suite * s = create_test_suite();
-
-- SRunner *sr = srunner_create(s);
-- srunner_set_log(sr, "check_glyr_opt.log");
-- srunner_run_all(sr, CK_VERBOSE);
-+ SRunner * sr = srunner_create (s);
-+ srunner_set_log (sr, "check_glyr_opt.log");
-+ srunner_run_all (sr, CK_VERBOSE);
-
-- number_failed = srunner_ntests_failed(sr);
-- srunner_free(sr);
-+ number_failed = srunner_ntests_failed (sr);
-+ srunner_free (sr);
-
- cleanup_db();
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-diff --git a/spec/capi/check_opt.c b/spec/capi/check_opt.c
-index 809ab44..43265dc 100644
---- a/spec/capi/check_opt.c
-+++ b/spec/capi/check_opt.c
-@@ -22,114 +22,116 @@
-
- //--------------------
-
--static GLYR_ERROR test_callback_ok(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR test_callback_ok (GlyrMemCache * c, GlyrQuery * q)
- {
- return GLYRE_OK;
- }
-
--static GLYR_ERROR test_callback_post(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR test_callback_post (GlyrMemCache * c, GlyrQuery * q)
- {
- return GLYRE_STOP_POST;
- }
-
--static GLYR_ERROR test_callback_pre(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR test_callback_pre (GlyrMemCache * c, GlyrQuery * q)
- {
- return GLYRE_STOP_PRE;
- }
-
--static GLYR_ERROR test_callback_skip1(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR test_callback_skip1 (GlyrMemCache * c, GlyrQuery * q)
- {
- GLYR_ERROR rc = GLYRE_OK;
-- int *counter = q->callback.user_pointer;
-- if(counter[0]++ % 2 == 0) {
-+ int * counter = q->callback.user_pointer;
-+ if (counter[0]++ % 2 == 0)
-+ {
- rc = GLYRE_SKIP;
- }
- return rc;
- }
-
--static GLYR_ERROR test_callback_skip2(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR test_callback_skip2 (GlyrMemCache * c, GlyrQuery * q)
- {
- return GLYRE_SKIP;
- }
-
--START_TEST(test_glyr_opt_dlcallback)
-+START_TEST (test_glyr_opt_dlcallback)
- {
- GlyrQuery q;
-- GlyrMemCache *list;
-+ GlyrMemCache * list;
- gint length = -1;
-- setup(&q, GLYR_GET_ARTIST_PHOTOS, 2);
-- glyr_opt_useragent(&q, "I am a useragent.");
-- glyr_opt_verbosity(&q, 0);
--
-- glyr_opt_dlcallback(&q, test_callback_ok, NULL);
-- list = glyr_get(&q, NULL, &length);
-- g_print("L = %d\n", length);
-- fail_unless(length == 2, NULL);
-- glyr_free_list(list);
--
-- glyr_opt_dlcallback(&q, test_callback_post, NULL);
-- list = glyr_get(&q, NULL, &length);
-- g_print("L = %d\n", length);
-- fail_unless(length == 1, NULL);
-- glyr_free_list(list);
--
-- glyr_opt_dlcallback(&q, test_callback_pre, NULL);
-- list = glyr_get(&q, NULL, &length);
-- g_print("L = %d\n", length);
-- fail_unless(length == 0, NULL);
-- glyr_free_list(list);
-+ setup (&q,GLYR_GET_ARTIST_PHOTOS,2);
-+ glyr_opt_useragent (&q,"I am a useragent.");
-+ glyr_opt_verbosity (&q,0);
-+
-+ glyr_opt_dlcallback (&q,test_callback_ok,NULL);
-+ list = glyr_get (&q,NULL,&length);
-+ g_print ("L = %d\n",length);
-+ fail_unless (length == 2,NULL);
-+ glyr_free_list (list);
-+
-+ glyr_opt_dlcallback (&q,test_callback_post,NULL);
-+ list = glyr_get (&q,NULL,&length);
-+ g_print ("L = %d\n",length);
-+ fail_unless (length == 1,NULL);
-+ glyr_free_list (list);
-+
-+ glyr_opt_dlcallback (&q,test_callback_pre,NULL);
-+ list = glyr_get (&q,NULL,&length);
-+ g_print ("L = %d\n",length);
-+ fail_unless (length == 0,NULL);
-+ glyr_free_list (list);
-
- int ctr = 0;
-- glyr_opt_dlcallback(&q, test_callback_skip1, &ctr);
-- list = glyr_get(&q, NULL, &length);
-- g_print("L = %d\n", length);
-- fail_unless(length == 1, NULL);
-- glyr_free_list(list);
--
-- glyr_opt_dlcallback(&q, test_callback_skip2, NULL);
-- list = glyr_get(&q, NULL, &length);
-- fail_unless(length == 0, NULL);
-- g_print("L = %d\n", length);
-- glyr_free_list(list);
--
-- glyr_query_destroy(&q);
-+ glyr_opt_dlcallback (&q,test_callback_skip1,&ctr);
-+ list = glyr_get (&q,NULL,&length);
-+ g_print ("L = %d\n",length);
-+ fail_unless (length == 1,NULL);
-+ glyr_free_list (list);
-+
-+ glyr_opt_dlcallback (&q,test_callback_skip2,NULL);
-+ list = glyr_get (&q,NULL,&length);
-+ fail_unless (length == 0,NULL);
-+ g_print ("L = %d\n",length);
-+ glyr_free_list (list);
-+
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_opt_redirects)
-+START_TEST (test_glyr_opt_redirects)
- {
- GlyrQuery q;
-- setup(&q, GLYR_GET_COVERART, 1);
-+ setup (&q,GLYR_GET_COVERART,1);
-
-- glyr_opt_from(&q, "amazon");
-- glyr_opt_redirects(&q, 0);
-+ glyr_opt_from (&q,"amazon");
-+ glyr_opt_redirects (&q,0);
-
- int length = 0;
- GLYR_ERROR err = GLYRE_OK;
-- GlyrMemCache *list = glyr_get(&q, &err, &length);
-- fail_unless(list == NULL, "should fail due to redirects");
-- if(err != GLYRE_OK) {
-- puts(glyr_strerror(err));
-+ GlyrMemCache * list = glyr_get (&q,&err,&length);
-+ fail_unless (list == NULL,"should fail due to redirects");
-+ if (err != GLYRE_OK)
-+ {
-+ puts (glyr_strerror (err) );
- }
-
-- unsetup(&q, list);
-+ unsetup (&q,list);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_opt_number)
-+START_TEST (test_glyr_opt_number)
- {
- GlyrQuery q;
- int length = 0;
-- setup(&q, GLYR_GET_ARTIST_PHOTOS, 4);
-- GlyrMemCache *list = glyr_get(&q, NULL, &length);
-+ setup (&q,GLYR_GET_ARTIST_PHOTOS,4);
-+ GlyrMemCache * list = glyr_get (&q,NULL,&length);
-
-- fail_unless(length == 4, NULL);
-+ fail_unless (length == 4,NULL);
-
-- unsetup(&q, list);
-+ unsetup (&q,list);
- }
- END_TEST
-
-@@ -137,71 +139,71 @@ END_TEST
- // from
- // plugmax
-
--START_TEST(test_glyr_opt_allowed_formats)
-+START_TEST (test_glyr_opt_allowed_formats)
- {
- GlyrQuery q;
-- setup(&q, GLYR_GET_COVERART, 1);
-- glyr_opt_verbosity(&q, 0);
-- glyr_opt_allowed_formats(&q, "png");
-+ setup (&q,GLYR_GET_COVERART,1);
-+ glyr_opt_verbosity (&q,0);
-+ glyr_opt_allowed_formats (&q,"png");
-
- int length = 0;
-- GlyrMemCache *list = glyr_get(&q, NULL, &length);
-+ GlyrMemCache * list = glyr_get (&q,NULL,&length);
-
-- fail_if(strcmp(list->img_format, "png") != 0, NULL);
-+ fail_if (strcmp (list->img_format,"png") != 0,NULL);
-
-- unsetup(&q, list);
-+ unsetup (&q,list);
- }
- END_TEST
-
- //--------------------
-
--START_TEST(test_glyr_opt_proxy)
-+START_TEST (test_glyr_opt_proxy)
- {
- GlyrQuery q;
-- setup(&q, GLYR_GET_COVERART, 1);
-- glyr_opt_verbosity(&q, 0);
-- glyr_opt_proxy(&q, "I can haz Existence?");
-+ setup (&q,GLYR_GET_COVERART,1);
-+ glyr_opt_verbosity (&q,0);
-+ glyr_opt_proxy (&q,"I can haz Existence?");
-
-- GlyrMemCache *list = glyr_get(&q, NULL, NULL);
-- fail_unless(list == NULL, NULL);
-+ GlyrMemCache * list = glyr_get (&q,NULL,NULL);
-+ fail_unless (list == NULL,NULL);
-
-- glyr_cache_free(list);
-- glyr_query_destroy(&q);
-+ glyr_cache_free (list);
-+ glyr_query_destroy (&q);
- }
- END_TEST
-
- //--------------------
-
--Suite *create_test_suite(void)
-+Suite * create_test_suite (void)
- {
-- Suite *s = suite_create("Libglyr");
-+ Suite *s = suite_create ("Libglyr");
-
- /* Core test case */
-- TCase *tc_options = tcase_create("Options");
-- tcase_set_timeout(tc_options, GLYR_DEFAULT_TIMEOUT * 4);
-- tcase_add_test(tc_options, test_glyr_opt_dlcallback);
-- tcase_add_test(tc_options, test_glyr_opt_redirects);
-- tcase_add_test(tc_options, test_glyr_opt_number);
-- tcase_add_test(tc_options, test_glyr_opt_allowed_formats);
-- tcase_add_test(tc_options, test_glyr_opt_proxy);
-- suite_add_tcase(s, tc_options);
-+ TCase * tc_options = tcase_create ("Options");
-+ tcase_set_timeout (tc_options,GLYR_DEFAULT_TIMEOUT * 4);
-+ tcase_add_test (tc_options, test_glyr_opt_dlcallback);
-+ tcase_add_test (tc_options, test_glyr_opt_redirects);
-+ tcase_add_test (tc_options, test_glyr_opt_number);
-+ tcase_add_test (tc_options, test_glyr_opt_allowed_formats);
-+ tcase_add_test (tc_options, test_glyr_opt_proxy);
-+ suite_add_tcase (s, tc_options);
- return s;
- }
-
- //--------------------
-
--int main(void)
-+int main (void)
- {
- init();
-
- int number_failed;
-- Suite *s = create_test_suite();
-+ Suite * s = create_test_suite();
-
-- SRunner *sr = srunner_create(s);
-- srunner_set_log(sr, "check_glyr_opt.log");
-- srunner_run_all(sr, CK_VERBOSE);
-+ SRunner * sr = srunner_create (s);
-+ srunner_set_log (sr, "check_glyr_opt.log");
-+ srunner_run_all (sr, CK_VERBOSE);
-
-- number_failed = srunner_ntests_failed(sr);
-- srunner_free(sr);
-+ number_failed = srunner_ntests_failed (sr);
-+ srunner_free (sr);
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
- };
-diff --git a/spec/capi/test_common.c b/spec/capi/test_common.c
-index 6f44a31..d0bb3a2 100644
---- a/spec/capi/test_common.c
-+++ b/spec/capi/test_common.c
-@@ -24,38 +24,38 @@
-
- #include "../../lib/glyr.h"
-
--void setup(GlyrQuery *q, GLYR_GET_TYPE type, int num)
-+void setup (GlyrQuery * q, GLYR_GET_TYPE type, int num)
- {
-- glyr_query_init(q);
-- glyr_opt_artist(q, "Equilibrium");
-- glyr_opt_album(q, "Sagas");
-- glyr_opt_title(q, "Wurzelbert");
-- glyr_opt_type(q, type);
-- glyr_opt_number(q, num);
-- glyr_opt_verbosity(q, 4);
-+ glyr_query_init (q);
-+ glyr_opt_artist (q,"Equilibrium");
-+ glyr_opt_album (q, "Sagas");
-+ glyr_opt_title (q, "Wurzelbert");
-+ glyr_opt_type (q, type);
-+ glyr_opt_number (q,num);
-+ glyr_opt_verbosity (q,4);
- }
-
- //--------------------
-
--GlyrQuery *setup_alloc(GLYR_GET_TYPE type, int num)
-+GlyrQuery * setup_alloc (GLYR_GET_TYPE type, int num)
- {
-- GlyrQuery *new = g_malloc0(sizeof(GlyrQuery));
-- setup(new, type, num);
-+ GlyrQuery * new = g_malloc0 (sizeof (GlyrQuery) );
-+ setup (new,type,num);
- return new;
- }
-
- //--------------------
-
--void unsetup(GlyrQuery *q, GlyrMemCache *list)
-+void unsetup (GlyrQuery * q, GlyrMemCache * list)
- {
-- glyr_free_list(list);
-- glyr_query_destroy(q);
-+ glyr_free_list (list);
-+ glyr_query_destroy (q);
- }
-
- //--------------------
-
--void init(void)
-+void init (void)
- {
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
- }
-diff --git a/src/examples/async_queue.c b/src/examples/async_queue.c
-index f2845c8..1c91f39 100644
---- a/src/examples/async_queue.c
-+++ b/src/examples/async_queue.c
-@@ -31,77 +31,83 @@
-
- /////////////////////////////////
-
--typedef struct _FinishedNotify {
-+typedef struct _FinishedNotify
-+{
- gint counter;
-- GAsyncQueue *queue;
-+ GAsyncQueue * queue;
-
- } FinishedNotify;
-
- /////////////////////////////////
-
- /* Our polling thread */
--gpointer apollo_orbiter(gpointer gp_queue)
-+gpointer apollo_orbiter (gpointer gp_queue)
- {
-- FinishedNotify *pn = gp_queue;
-- g_async_queue_ref(pn->queue);
-+ FinishedNotify * pn = gp_queue;
-+ g_async_queue_ref (pn->queue);
-
-- while(TRUE) {
-- g_print("\n-----------\n\n");
-- gpointer thread_data = g_async_queue_pop(pn->queue);
-+ while (TRUE)
-+ {
-+ g_print ("\n-----------\n\n");
-+ gpointer thread_data = g_async_queue_pop (pn->queue);
-
-- if(thread_data == THREAD_TERMINATOR) {
-- g_printerr("\n-- Terminating --\n");
-+ if (thread_data == THREAD_TERMINATOR)
-+ {
-+ g_printerr ("\n-- Terminating --\n");
- break;
-- } else {
-- GlyrQuery *q = thread_data;
-- GlyrMemCache *head = glyr_get(q, NULL, NULL);
-- if(head != NULL) {
-- g_print("//////// ITEM %d ////////\n", ++pn->counter);
-- glyr_cache_print(head);
-- glyr_free_list(head);
-- g_print("/////////////////////////\n");
-+ }
-+ else
-+ {
-+ GlyrQuery * q = thread_data;
-+ GlyrMemCache * head = glyr_get (q,NULL,NULL);
-+ if (head != NULL)
-+ {
-+ g_print ("//////// ITEM %d ////////\n",++pn->counter);
-+ glyr_cache_print (head);
-+ glyr_free_list (head);
-+ g_print ("/////////////////////////\n");
- }
-- glyr_query_destroy(q);
-+ glyr_query_destroy (q);
- }
- }
-
-- g_async_queue_unref(pn->queue);
-+ g_async_queue_unref (pn->queue);
- return NULL;
- }
-
- /////////////////////////////////
-
--void build_queries(GlyrQuery *one, GlyrQuery *two, GlyrQuery *three)
-+void build_queries (GlyrQuery * one, GlyrQuery * two, GlyrQuery * three)
- {
-- glyr_query_init(one);
-- glyr_query_init(two);
-- glyr_query_init(three);
-+ glyr_query_init (one);
-+ glyr_query_init (two);
-+ glyr_query_init (three);
-
-- glyr_opt_artist(one, "Diablo Swing Orchestra");
-- glyr_opt_title(one, "Balrog Boogie");
-- glyr_opt_type(one, GLYR_GET_LYRICS);
-+ glyr_opt_artist (one,"Diablo Swing Orchestra");
-+ glyr_opt_title (one,"Balrog Boogie");
-+ glyr_opt_type (one, GLYR_GET_LYRICS);
-
-- glyr_opt_artist(two, "Farin Urlaub");
-- glyr_opt_download(two, FALSE);
-- glyr_opt_type(two, GLYR_GET_ARTIST_PHOTOS);
-+ glyr_opt_artist (two, "Farin Urlaub");
-+ glyr_opt_download (two,FALSE);
-+ glyr_opt_type (two, GLYR_GET_ARTIST_PHOTOS);
-
-- glyr_opt_artist(three, "Knorkator");
-- glyr_opt_type(three, GLYR_GET_ARTIST_PHOTOS);
-+ glyr_opt_artist (three, "Knorkator");
-+ glyr_opt_type (three, GLYR_GET_ARTIST_PHOTOS);
- }
-
- /////////////////////////////////
-
--gint sort_async_queue_jobs(gconstpointer a, gconstpointer b, gpointer data)
-+gint sort_async_queue_jobs (gconstpointer a, gconstpointer b, gpointer data)
- {
- return (a == THREAD_TERMINATOR) ? -1 : (b == THREAD_TERMINATOR) ? 1 : 0;
- }
-
- /////////////////////////////////
-
--int main(void)
-+int main (void)
- {
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- /* Create a new async queue */
- FinishedNotify notify;
-@@ -109,39 +115,42 @@ int main(void)
- notify.counter = 0;
-
- /* Initialize a new thread */
-- GError *err = NULL;
-- GThread *apollo = g_thread_new("apollo", apollo_orbiter, ¬ify);
-+ GError * err = NULL;
-+ GThread * apollo = g_thread_new("apollo", apollo_orbiter, ¬ify);
-
-- if(apollo != NULL) {
-+ if (apollo != NULL)
-+ {
- /* Push a few jobs */
-- GlyrQuery one, two, three;
-- build_queries(&one, &two, &three);
-- g_async_queue_push(notify.queue, &one);
-- g_async_queue_push(notify.queue, &two);
-- g_async_queue_push(notify.queue, &three);
-+ GlyrQuery one,two,three;
-+ build_queries (&one,&two,&three);
-+ g_async_queue_push (notify.queue,&one );
-+ g_async_queue_push (notify.queue,&two );
-+ g_async_queue_push (notify.queue,&three);
-
- #define ABORT_IMMEDIATELY FALSE
-
- #if ABORT_IMMEDIATELY
- /* Test if it really aborts immediately, if not it crashes :-) */
-- g_async_queue_push(notify.queue, (gpointer) 0x2);
-+ g_async_queue_push (notify.queue, (gpointer) 0x2);
- #endif
-
- /* Terminate by pushing a special value */
-- g_async_queue_push(notify.queue, THREAD_TERMINATOR);
-+ g_async_queue_push (notify.queue,THREAD_TERMINATOR);
-
- #if ABORT_IMMEDIATELY
- /* Sort the THREAD_TERMINATOR before anything else. */
-- g_async_queue_sort(notify.queue, sort_async_queue_jobs, NULL);
-+ g_async_queue_sort (notify.queue,sort_async_queue_jobs,NULL);
- #endif
-
- /* Wait till he finished */
-- g_thread_join(apollo);
-- } else {
-- g_printerr("Could not create thread: %s\n", err->message);
-- g_error_free(err);
-+ g_thread_join (apollo);
-+ }
-+ else
-+ {
-+ g_printerr ("Could not create thread: %s\n",err->message);
-+ g_error_free (err);
- }
-
-- g_async_queue_unref(notify.queue);
-+ g_async_queue_unref (notify.queue);
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/dbcache.c b/src/examples/dbcache.c
-index 6a0c6ca..cc5fc4c 100644
---- a/src/examples/dbcache.c
-+++ b/src/examples/dbcache.c
-@@ -33,7 +33,7 @@
- #include "../../lib/glyr.h"
- #include "../../lib/cache.h"
-
--int main(int argc, char *argv[])
-+int main (int argc, char * argv[])
- {
- int length = -1;
- GlyrQuery query;
-@@ -43,64 +43,71 @@ int main(int argc, char *argv[])
-
- /* Initialize..*/
- glyr_init();
-- glyr_query_init(&query);
-+ glyr_query_init (&query);
-
- /* Create a new database in the /tmp folder
- * A new file called 'metadata.db' will pop
- * up there. (GLYR_DB_FILENAME expands to 'metadata.db')
- */
-- db = glyr_db_init("/tmp/");
-+ db = glyr_db_init ("/tmp/");
-
- /* Set some random settings */
-- glyr_opt_verbosity(&query, 2);
-- glyr_opt_artist(&query, "Equilibrium");
-- glyr_opt_album(&query, "Sagas");
-- glyr_opt_title(&query, "Blut im Auge");
-- glyr_opt_type(&query, GLYR_GET_LYRICS);
-+ glyr_opt_verbosity (&query,2);
-+ glyr_opt_artist (&query,"Equilibrium");
-+ glyr_opt_album (&query,"Sagas");
-+ glyr_opt_title (&query,"Blut im Auge");
-+ glyr_opt_type (&query,GLYR_GET_LYRICS);
-
- /* Tell libglyr to automatically lookup before searching the web */
-- glyr_opt_lookup_db(&query, db);
-+ glyr_opt_lookup_db (&query, db);
-
- /* Also tell it to write newly found items to the db */
-- glyr_opt_db_autowrite(&query, TRUE);
-+ glyr_opt_db_autowrite (&query, TRUE);
-
-- list = glyr_get(&query, &get_error, &length);
-- if(list != NULL) {
-- for(GlyrMemCache *cache = list; cache != NULL; cache = cache->next) {
-+ list = glyr_get (&query, &get_error, &length);
-+ if (list != NULL)
-+ {
-+ for (GlyrMemCache *cache=list; cache!=NULL; cache=cache->next)
-+ {
- /* Copy a cache and modify it somehow */
-- if(cache->cached) {
-- GlyrMemCache *new = glyr_cache_copy(cache);
-- glyr_cache_set_data(new, g_strdup("edited\n"), -1);
-+ if (cache->cached)
-+ {
-+ GlyrMemCache *new = glyr_cache_copy (cache);
-+ glyr_cache_set_data (new,g_strdup ("edited\n"), -1);
-
- bool which_edit = false;
-- if(which_edit == false) {
-+ if (which_edit == false)
-+ {
- /* There are two way to edit it..
- * One is to delete all caches according to query, and replace it
- * by something else.
- */
-- glyr_db_edit(db, &query, new);
-- } else {
-+ glyr_db_edit (db, &query, new);
-+ }
-+ else
-+ {
- /* ..or find a cache via it's md5sum and replace it.
- * You may choose one of them.
- */
-- glyr_db_replace(db, cache->md5sum, &query, new);
-+ glyr_db_replace (db, cache->md5sum, &query, new);
- }
-- glyr_cache_free(new);
-+ glyr_cache_free (new);
- }
-
- /* Print a nice representation */
-- glyr_cache_print(cache);
-+ glyr_cache_print (cache);
-
- /* Now delete it if it was 'edited' */
-- if(cache->cached && strcmp(cache->data, "edited\n") == 0) {
-- glyr_db_delete(db, &query);
-+ if (cache->cached && strcmp (cache->data,"edited\n") == 0)
-+ {
-+ glyr_db_delete (db, &query);
- }
- }
- }
-
- /* Cleanup */
-- glyr_free_list(list);
-- glyr_query_destroy(&query);
-- glyr_db_destroy(db);
-+ glyr_free_list (list);
-+ glyr_query_destroy (&query);
-+ glyr_db_destroy (db);
- glyr_cleanup();
- }
-diff --git a/src/examples/dbtest.c b/src/examples/dbtest.c
-index 5b24523..5a6b6fe 100644
---- a/src/examples/dbtest.c
-+++ b/src/examples/dbtest.c
-@@ -3,51 +3,51 @@
- #include <glib.h>
- #include <stdlib.h>
-
--void do_insert(GlyrQuery *q, GlyrDatabase *db, char *artist, char *album)
-+void do_insert (GlyrQuery * q, GlyrDatabase * db, char * artist, char * album)
- {
-- glyr_query_init(q);
-- glyr_opt_artist(q, artist);
-- glyr_opt_album(q, album);
-- glyr_opt_type(q, GLYR_GET_COVERART);
-+ glyr_query_init (q);
-+ glyr_opt_artist (q,artist);
-+ glyr_opt_album (q,album);
-+ glyr_opt_type (q,GLYR_GET_COVERART);
-
-- GlyrMemCache *c = glyr_cache_new();
-- glyr_cache_set_data(c, g_strdup("Dummy"), -1);
-+ GlyrMemCache * c = glyr_cache_new();
-+ glyr_cache_set_data (c,g_strdup ("Dummy"),-1);
- c->rating = -1;
- // c->dsrc = g_strdup("Hello World"); // Argh.
-
-- glyr_db_insert(db, q, c);
-- glyr_cache_free(c);
-+ glyr_db_insert (db,q,c);
-+ glyr_cache_free (c);
- }
-
--void do_lookup(GlyrQuery *q, GlyrDatabase *db)
-+void do_lookup (GlyrQuery * q, GlyrDatabase * db)
- {
-- GlyrMemCache *c = glyr_db_lookup(db, q);
-- g_assert(c);
-- glyr_cache_print(c);
-- g_assert(c->rating == -1);
-- glyr_cache_free(c);
-+ GlyrMemCache * c = glyr_db_lookup (db,q);
-+ g_assert (c);
-+ glyr_cache_print (c);
-+ g_assert (c->rating == -1);
-+ glyr_cache_free (c);
- }
-
-
--int main(int argc, char const *argv[])
-+int main (int argc, char const *argv[])
- {
-- system("rm /home/chris/metadata.db");
-+ system ("rm /home/chris/metadata.db");
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
-- GlyrDatabase *db = glyr_db_init("/home/chris");
-- g_assert(db);
-+ GlyrDatabase * db = glyr_db_init ("/home/chris");
-+ g_assert (db);
-
-- GlyrQuery q1, q2;
-+ GlyrQuery q1,q2;
-
-- do_insert(&q1, db, "Equilibrium", "Sagas");
-- do_insert(&q2, db, "Letzte Instanz", "Kalter Glanz");
-+ do_insert (&q1,db,"Equilibrium","Sagas");
-+ do_insert (&q2,db,"Letzte Instanz","Kalter Glanz");
-
-- do_lookup(&q1, db);
-- do_lookup(&q2, db);
-+ do_lookup (&q1,db);
-+ do_lookup (&q2,db);
-
-- glyr_query_destroy(&q1);
-- glyr_query_destroy(&q2);
-- glyr_db_destroy(db);
-+ glyr_query_destroy (&q1);
-+ glyr_query_destroy (&q2);
-+ glyr_db_destroy (db);
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/example.c b/src/examples/example.c
-index 2424b4e..a92853b 100644
---- a/src/examples/example.c
-+++ b/src/examples/example.c
-@@ -35,27 +35,28 @@
- #include "../../lib/glyr.h"
-
-
--static void print_item(GlyrMemCache *cacheditem, int num)
-+static void print_item (GlyrMemCache * cacheditem, int num)
- {
-- fprintf(stderr, "\n------- ITEM #%d --------\n", num);
-- glyr_cache_print(cacheditem);
-- fprintf(stderr, "\n------------------------\n");
-+ fprintf (stderr,"\n------- ITEM #%d --------\n",num);
-+ glyr_cache_print (cacheditem);
-+ fprintf (stderr,"\n------------------------\n");
- }
-
- /////////////////////////////////
-
- /* This is called whenever glyr gets a ready to use item */
--static GLYR_ERROR funny_callback(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR funny_callback (GlyrMemCache * c, GlyrQuery * q)
- {
- /* You can pass a void pointer to the callback,
- * by passing it as third argument to glyr_opt_dlcallback()
- */
-- int *i = q->callback.user_pointer;
-+ int * i = q->callback.user_pointer;
-
-- if(*i == 1) {
-- puts("=> Gentlemen, we received an item.");
-- puts("=> We originally wanted more, but we decide to stop here.");
-- puts("=> Therefore we return GLYRE_STOP_PRE. Goodbye.");
-+ if (*i == 1)
-+ {
-+ puts ("=> Gentlemen, we received an item.");
-+ puts ("=> We originally wanted more, but we decide to stop here.");
-+ puts ("=> Therefore we return GLYRE_STOP_PRE. Goodbye.");
- return GLYRE_STOP_PRE;
- /*
- * You can also return:
-@@ -70,62 +71,63 @@ static GLYR_ERROR funny_callback(GlyrMemCache *c, GlyrQuery *q)
-
- /////////////////////////////////
-
--int main(int argc, char *argv[])
-+int main (int argc, char * argv[])
- {
- /* You need to call this before anything happens */
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- /* Initialize a new query (this may allocate memory) */
- GlyrQuery q;
-- glyr_query_init(&q);
-+ glyr_query_init (&q);
-
- /* Say we want a Songtext */
- GLYR_GET_TYPE type = GLYR_GET_LYRICS;
-- glyr_opt_type(&q, type);
-+ glyr_opt_type (&q,type);
-
- /* Set at least the required fields to your needs *
- * For lyrics those are 'artist' and 'title', ('album') *
- * is strictly optional and may be used by a few plugins */
-- glyr_opt_artist(&q, (char *) "Die Apokalyptischen Reiter");
-- glyr_opt_album(&q, (char *) "Riders on the Storm");
-- glyr_opt_title(&q, (char *) "Friede sei mit dir");
-+ glyr_opt_artist (&q, (char*) "Die Apokalyptischen Reiter");
-+ glyr_opt_album (&q, (char*) "Riders on the Storm");
-+ glyr_opt_title (&q, (char*) "Friede sei mit dir");
-
- /* Execute a func when getting one item */
- int this_be_my_counter = 0;
-- glyr_opt_dlcallback(&q, funny_callback, &this_be_my_counter);
-+ glyr_opt_dlcallback (&q,funny_callback,&this_be_my_counter);
-
- /* For the start: Enable verbosity */
-- glyr_opt_verbosity(&q, 2);
-+ glyr_opt_verbosity (&q,2);
-
- /* Download 5 (or less) items */
-- glyr_opt_number(&q, 5);
-+ glyr_opt_number (&q,5);
-
- /* Just search, without downloading items */
-- glyr_opt_download(&q, 0);
-+ glyr_opt_download (&q,0);
-
- /* Call the most important command: GET!
- * This returned a list of (GlyrMemCache *)s
- * Each containing ONE item. (i.e. a songtext)
- */
- GLYR_ERROR err;
-- GlyrMemCache *it = glyr_get(&q, &err, NULL);
-+ GlyrMemCache * it = glyr_get (&q,&err,NULL);
-
-- if(err != GLYRE_OK) {
-- fprintf(stderr, "E:%s\n", glyr_strerror(err));
-- }
-+ if (err != GLYRE_OK)
-+ fprintf (stderr,"E:%s\n",glyr_strerror (err) );
-
- /* Now iterate through it... */
-- if(it != NULL) {
-- GlyrMemCache *start = it;
-+ if (it != NULL)
-+ {
-+ GlyrMemCache * start = it;
-
- int counter = 0;
-- while(it != NULL) {
-+ while (it != NULL)
-+ {
- /* This has the same effect as in the callback,
- * Just that it's executed just once after all DL is done.
- * Commented out, as this would print it twice
- * */
-- print_item(it, counter);
-+ print_item (it,counter);
-
- /* Every cache has a link to the next and prev one (or NULL respectively) */
- it = it->next;
-@@ -134,10 +136,10 @@ int main(int argc, char *argv[])
-
- /* The contents of it are dynamically allocated. */
- /* So better free them if you're not keen on memoryleaks */
-- glyr_free_list(start);
-+ glyr_free_list (start);
- }
- /* Destroy query (reset to default values and free dyn memory) */
- /* You could start right off to use this query in another glyr_get */
-- glyr_query_destroy(&q);
-+ glyr_query_destroy (&q);
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/exit_signal.c b/src/examples/exit_signal.c
-index 37aab70..de71c59 100644
---- a/src/examples/exit_signal.c
-+++ b/src/examples/exit_signal.c
-@@ -9,51 +9,52 @@
- * Example on using the glyr_signal_exit() method.
- * -----------------------------------------------*/
-
--static GLYR_ERROR funny_callback(GlyrMemCache *c, GlyrQuery *q)
-+static GLYR_ERROR funny_callback (GlyrMemCache * c, GlyrQuery * q)
- {
-- glyr_cache_print(c);
-+ glyr_cache_print (c);
- return GLYRE_OK;
- }
-
--static void *killer_thread(void *arg)
-+static void * killer_thread (void * arg)
- {
-- GlyrQuery *q = arg;
-- g_usleep(rand() % 10000000);
-+ GlyrQuery * q = arg;
-+ g_usleep (rand() % 10000000);
-
-- g_printerr("####### SENDING EXIT ######\n");
-- glyr_signal_exit(q);
-+ g_printerr ("####### SENDING EXIT ######\n");
-+ glyr_signal_exit (q);
- return NULL;
- }
-
--int main(int argc, const char *argv[])
-+int main (int argc, const char *argv[])
- {
-- srand(time(NULL));
-+ srand (time (NULL) );
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- GlyrQuery q;
-- glyr_query_init(&q);
-+ glyr_query_init (&q);
-
-- glyr_opt_type(&q, GLYR_GET_COVERART);
-- glyr_opt_artist(&q, "Equilibrium");
-- glyr_opt_album(&q, "Sagas");
-- glyr_opt_number(&q, 42);
-- glyr_opt_verbosity(&q, 3);
-- glyr_opt_dlcallback(&q, funny_callback, NULL);
-+ glyr_opt_type (&q,GLYR_GET_COVERART);
-+ glyr_opt_artist (&q,"Equilibrium");
-+ glyr_opt_album (&q,"Sagas");
-+ glyr_opt_number (&q,42);
-+ glyr_opt_verbosity (&q,3);
-+ glyr_opt_dlcallback (&q,funny_callback,NULL);
-
-- g_printerr("-- Starting GET\n");
-+ g_printerr ("-- Starting GET\n");
-
-- GThread *killer = g_thread_new("killer_thread", killer_thread, (gpointer) &q);
-+ GThread * killer = g_thread_new("killer_thread", killer_thread, (gpointer) &q);
-
- gint len = 0;
-- GlyrMemCache *list = glyr_get(&q, NULL, &len);
-- if(list != NULL) {
-- glyr_free_list(list);
-+ GlyrMemCache * list = glyr_get (&q,NULL,&len);
-+ if (list != NULL)
-+ {
-+ glyr_free_list (list);
- }
-- glyr_query_destroy(&q);
-- g_printerr("Got %d size\n", len);
-- g_printerr("-- Ending GET\n");
-- g_thread_join(killer);
-+ glyr_query_destroy (&q);
-+ g_printerr ("Got %d size\n",len);
-+ g_printerr ("-- Ending GET\n");
-+ g_thread_join (killer);
-
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/getinfo.c b/src/examples/getinfo.c
-index 8271991..ea842fe 100644
---- a/src/examples/getinfo.c
-+++ b/src/examples/getinfo.c
-@@ -26,42 +26,45 @@
- * (This does about the same as glyrc --list)
- * -------------------------------------------------------- */
-
--int main(int argc, const char *argv[])
-+int main (int argc, const char *argv[])
- {
- /* We need to init first*/
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
-- GlyrFetcherInfo *info = glyr_info_get();
-- if(info != NULL) {
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ if (info != NULL)
-+ {
- /* Iterate over all getters */
-- for(GlyrFetcherInfo *elem0 = info; elem0; elem0 = elem0->next) {
-+ for (GlyrFetcherInfo * elem0 = info; elem0; elem0 = elem0->next)
-+ {
- /* Iterate over all providers */
-- g_print(" %s => %d\n", elem0->name, elem0->type);
-- for(GlyrSourceInfo *elem1 = elem0->head; elem1; elem1 = elem1->next) {
-- g_print(" # %s [%c]\n", elem1->name, elem1->key);
-- g_print(" - Quality: %d\n", elem1->quality);
-- g_print(" - Speed: %d\n", elem1->speed);
-- g_print(" - Type: %d\n", elem1->type);
-+ g_print (" %s => %d\n",elem0->name,elem0->type);
-+ for (GlyrSourceInfo * elem1 = elem0->head; elem1; elem1 = elem1->next)
-+ {
-+ g_print (" # %s [%c]\n",elem1->name,elem1->key);
-+ g_print (" - Quality: %d\n",elem1->quality);
-+ g_print (" - Speed: %d\n",elem1->speed);
-+ g_print (" - Type: %d\n",elem1->type);
- }
-
- /* Test which fields are required for a certain getter */
-- g_print(" + Requires: (%s%s%s)\n",
-- elem0->reqs & GLYR_REQUIRES_ARTIST ? "Artist " : "",
-- elem0->reqs & GLYR_REQUIRES_ALBUM ? "Album " : "",
-- elem0->reqs & GLYR_REQUIRES_TITLE ? "Title" : ""
-- );
-+ g_print (" + Requires: (%s%s%s)\n",
-+ elem0->reqs & GLYR_REQUIRES_ARTIST ? "Artist " : "",
-+ elem0->reqs & GLYR_REQUIRES_ALBUM ? "Album " : "",
-+ elem0->reqs & GLYR_REQUIRES_TITLE ? "Title" : ""
-+ );
-
- /* And which are optional? */
-- g_print(" + Optional: (%s%s%s)\n",
-- elem0->reqs & GLYR_OPTIONAL_ARTIST ? "Artist " : "",
-- elem0->reqs & GLYR_OPTIONAL_ALBUM ? "Album " : "",
-- elem0->reqs & GLYR_OPTIONAL_TITLE ? "Title" : ""
-- );
-+ g_print (" + Optional: (%s%s%s)\n",
-+ elem0->reqs & GLYR_OPTIONAL_ARTIST ? "Artist " : "",
-+ elem0->reqs & GLYR_OPTIONAL_ALBUM ? "Album " : "",
-+ elem0->reqs & GLYR_OPTIONAL_TITLE ? "Title" : ""
-+ );
-
-- g_print("\n///////////////////////////////\n");
-+ g_print ("\n///////////////////////////////\n");
- }
- }
-- glyr_info_free(info);
-+ glyr_info_free (info);
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/musictree.c b/src/examples/musictree.c
-index 44323a3..c24a9d7 100644
---- a/src/examples/musictree.c
-+++ b/src/examples/musictree.c
-@@ -15,29 +15,30 @@
- * to enable it.
- * -------------------------------------------------- */
-
--static void configure(GlyrQuery *s)
-+static void configure (GlyrQuery * s)
- {
-- glyr_query_init(s);
-- glyr_opt_artist(s, "Die Apokalyptischen Reiter");
-- glyr_opt_album(s, "Moral & Wahnsinn");
-- glyr_opt_title(s, "Die Boten");
-- glyr_opt_verbosity(s, 2);
-- glyr_opt_type(s, GLYR_GET_COVERART);
-+ glyr_query_init (s);
-+ glyr_opt_artist (s,"Die Apokalyptischen Reiter");
-+ glyr_opt_album (s,"Moral & Wahnsinn");
-+ glyr_opt_title (s,"Die Boten");
-+ glyr_opt_verbosity (s,2);
-+ glyr_opt_type (s,GLYR_GET_COVERART);
- }
-
--static void printme(GlyrMemCache *start)
-+static void printme (GlyrMemCache * start)
- {
-- GlyrMemCache *i = start;
-- while(i != NULL) {
-- glyr_cache_print(i);
-- puts("--------------------");
-+ GlyrMemCache * i = start;
-+ while (i != NULL)
-+ {
-+ glyr_cache_print (i);
-+ puts ("--------------------");
- i = i->next;
- }
-- glyr_free_list(start);
-+ glyr_free_list (start);
- }
-
- /* Dummy - you will have to replace this yourself */
--static gchar *get_music_file_path(void)
-+static gchar * get_music_file_path (void)
- {
- /* Relative directories are possible - but should be avoided
- * Instead the file you could also just pass the containing
-@@ -46,31 +47,31 @@ static gchar *get_music_file_path(void)
- return "src/examples/musictree_dir/artist/album/file.mp3";
- }
-
--int main(void)
-+int main (void)
- {
- /* Init */
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- /* Fill some silly values */
- GlyrQuery query;
-
- /* Regular stuff */
-- configure(&query);
-+ configure (&query);
-
- /* Musictree relevant */
-
- /* Please refer to the documentation here */
-- glyr_opt_musictree_path(&query, get_music_file_path());
-+ glyr_opt_musictree_path (&query,get_music_file_path() );
-
- /* We only want musictree */
-- glyr_opt_from(&query, "musictree");
-+ glyr_opt_from (&query,"musictree");
-
- /* Try to get 4 covers - you will get just 2 */
-- glyr_opt_number(&query, 4);
-+ glyr_opt_number (&query,4);
-
-- GlyrMemCache *cache = glyr_get(&query, NULL, NULL);
-- printme(cache);
-+ GlyrMemCache * cache = glyr_get (&query,NULL,NULL);
-+ printme (cache);
-
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/rating.c b/src/examples/rating.c
-index 99fb4d1..5bc7998 100644
---- a/src/examples/rating.c
-+++ b/src/examples/rating.c
-@@ -37,51 +37,56 @@
- * 4) 'rm /tmp/metadata.db' to start again.
- */
-
--int main(int argc, const char *argv[])
-+int main (int argc, const char *argv[])
- {
-- int amount_to_get = (argc > 1) ? strtol(argv[1], NULL, 10) : 3;
-+ int amount_to_get = (argc > 1) ? strtol (argv[1],NULL,10) : 3;
- GLYR_ERROR err;
-
- glyr_init();
-- atexit(glyr_cleanup);
-- srand(time(NULL));
-+ atexit (glyr_cleanup);
-+ srand (time (NULL) );
-
-- GlyrDatabase *db = glyr_db_init("/tmp");
-- if(db != NULL) {
-+ GlyrDatabase * db = glyr_db_init ("/tmp");
-+ if (db != NULL)
-+ {
- GlyrQuery q;
-- glyr_query_init(&q);
-- glyr_opt_artist(&q, "Die Apokalyptischen Reiter");
-- glyr_opt_type(&q, GLYR_GET_ARTIST_PHOTOS);
-- glyr_opt_download(&q, false);
-- glyr_opt_number(&q, amount_to_get);
-+ glyr_query_init (&q);
-+ glyr_opt_artist (&q,"Die Apokalyptischen Reiter");
-+ glyr_opt_type (&q,GLYR_GET_ARTIST_PHOTOS);
-+ glyr_opt_download (&q,false);
-+ glyr_opt_number (&q,amount_to_get);
-
-- glyr_opt_lookup_db(&q, db);
-+ glyr_opt_lookup_db (&q,db);
-
- /* Say, we want to manage the writing part ourself */
-- glyr_opt_db_autowrite(&q, false);
-+ glyr_opt_db_autowrite (&q,false);
-
- /* Now either get me some from the web or the db */
-- GlyrMemCache *list = glyr_get(&q, &err, NULL);
-- if(err != GLYRE_OK) {
-- fprintf(stderr, "Error occured: %s\n", glyr_strerror(err));
-+ GlyrMemCache * list = glyr_get (&q,&err,NULL);
-+ if (err != GLYRE_OK)
-+ {
-+ fprintf (stderr,"Error occured: %s\n",glyr_strerror (err) );
- }
-
-- if(list != NULL) {
-- for(GlyrMemCache *cache = list; cache; cache = cache->next) {
-- puts("-----------------");
-- glyr_cache_print(cache);
-- puts("-----------------");
-+ if (list != NULL)
-+ {
-+ for (GlyrMemCache * cache = list; cache; cache = cache->next)
-+ {
-+ puts ("-----------------");
-+ glyr_cache_print (cache);
-+ puts ("-----------------");
-
- /* Give it some rating if not already cached */
-- if(cache->cached == false) {
-+ if (cache->cached == false)
-+ {
- cache->rating = rand() % 100;
-- glyr_db_insert(db, &q, cache);
-+ glyr_db_insert (db,&q,cache);
- }
- }
-- glyr_free_list(list);
-+ glyr_free_list (list);
- }
-- glyr_query_destroy(&q);
-- glyr_db_destroy(db);
-+ glyr_query_destroy (&q);
-+ glyr_db_destroy (db);
- }
- return EXIT_SUCCESS;
- }
-diff --git a/src/examples/simple.c b/src/examples/simple.c
-index 827463e..be65563 100644
---- a/src/examples/simple.c
-+++ b/src/examples/simple.c
-@@ -28,45 +28,46 @@
- /* use this include path for your project, or directly clone libglyr to your project */
- //#include <glyr/glyr.h>
-
--int main(void)
-+int main (void)
- {
- /* Init this thing, the only two methods not being threadsafe */
- glyr_init();
- /* Also clear ressources on exit */
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- /* This struct is used to store all settings you do via glyr_opt_* */
- GlyrQuery q;
- /* We also should set it to standard values */
-- glyr_query_init(&q);
-+ glyr_query_init (&q);
-
- /* We want lyrics, well, I want. */
-- glyr_opt_type(&q, GLYR_GET_LYRICS);
-+ glyr_opt_type (&q,GLYR_GET_LYRICS);
-
- /* Set random artist/title - you could also omit the album line */
-- glyr_opt_artist(&q, (char *) "Die Ärzte");
-- glyr_opt_album(&q, (char *) "Die Bestie in Menschengestalt");
-- glyr_opt_title(&q, (char *) "FaFaFa");
-+ glyr_opt_artist (&q, (char*) "Die Ärzte");
-+ glyr_opt_album (&q, (char*) "Die Bestie in Menschengestalt");
-+ glyr_opt_title (&q, (char*) "FaFaFa");
-
- /* If any error occured it will be saved here, or GLYRE_OK */
- /* You could have also passed a NULL pointer to glyr_get() if you're not interested in this */
- GLYR_ERROR err;
-
- /* Now get the job done! The 3rd */
-- GlyrMemCache *head = glyr_get(&q, &err, NULL);
-+ GlyrMemCache * head = glyr_get (&q,&err,NULL);
-
- /* The results are stored in the GlyrMemCache struct -
- you are most likely only interested in the fields data, size and type*/
-- if(head != NULL) {
-+ if (head != NULL)
-+ {
- /* head contains also a pointer to the next element, you can use it therefore as linkedlist */
- // puts(head->data);
-- glyr_cache_print(head);
-+ glyr_cache_print (head);
-
- /* We have to free it again also, you can pass ANY pointer of the list, it works in both directions */
-- glyr_free_list(head);
-+ glyr_free_list (head);
- }
-
- /* glyr_query_init may allocate memory - free it. */
-- glyr_query_destroy(&q);
-+ glyr_query_destroy (&q);
- return err;
- }
-diff --git a/src/examples/threads.c b/src/examples/threads.c
-index dcce0e4..799b3db 100644
---- a/src/examples/threads.c
-+++ b/src/examples/threads.c
-@@ -30,70 +30,72 @@
- * libglyr is fully thread-compatible as long every thread uses it's own query.
- */
-
--static void *call_get(void *p)
-+static void * call_get (void * p)
- {
-- GlyrMemCache *r = glyr_get(p, NULL, NULL);
-- puts("Thread finished");
-+ GlyrMemCache * r = glyr_get (p,NULL,NULL);
-+ puts ("Thread finished");
- return r;
- }
-
--static void configure(GlyrQuery *s, GLYR_GET_TYPE type)
-+static void configure (GlyrQuery * s, GLYR_GET_TYPE type)
- {
-- glyr_query_init(s);
-- glyr_opt_artist(s, "Die Apokalyptischen Reiter");
-- glyr_opt_album(s, "Moral & Wahnsinn");
-- glyr_opt_title(s, "Die Boten");
-- glyr_opt_verbosity(s, 1);
-- glyr_opt_type(s, type);
-- glyr_opt_from(s, NULL);
-+ glyr_query_init (s);
-+ glyr_opt_artist (s,"Die Apokalyptischen Reiter");
-+ glyr_opt_album (s,"Moral & Wahnsinn");
-+ glyr_opt_title (s,"Die Boten");
-+ glyr_opt_verbosity (s,1);
-+ glyr_opt_type (s,type);
-+ glyr_opt_from (s,NULL);
- }
-
--static void printme(GlyrMemCache *start)
-+static void printme (GlyrMemCache * start)
- {
-- GlyrMemCache *i = start;
-- while(i != NULL) {
-- glyr_cache_write(i, "stdout");
-+ GlyrMemCache * i = start;
-+ while (i != NULL)
-+ {
-+ glyr_cache_write (i,"stdout");
- i = i->next;
- }
-- glyr_free_list(start);
-+ glyr_free_list (start);
- }
-
--int main(void)
-+int main (void)
- {
- /* Init */
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
- /* Fill some silly values */
- GlyrQuery query_long, query_longer;
-- configure(&query_long, GLYR_GET_SIMILAR_ARTISTS);
-- configure(&query_longer, GLYR_GET_LYRICS);
-+ configure (&query_long,GLYR_GET_SIMILAR_ARTISTS);
-+ configure (&query_longer,GLYR_GET_LYRICS);
-
-- GlyrDatabase *db = glyr_db_init("/tmp");
-- glyr_opt_lookup_db(&query_long, db);
-- glyr_opt_lookup_db(&query_longer, db);
-+ GlyrDatabase * db = glyr_db_init ("/tmp");
-+ glyr_opt_lookup_db (&query_long,db);
-+ glyr_opt_lookup_db (&query_longer,db);
-
-- GlyrMemCache *a, * b;
-+ GlyrMemCache * a, * b;
-
- /* Create two threads */
-- GThread *thread_a = g_thread_new("call_get", call_get, (gpointer) &query_long);
-- GThread *thread_b = g_thread_new("call_get", call_get, (gpointer) &query_longer);
-+ GThread * thread_a = g_thread_new ("call_get", call_get, (gpointer) &query_long);
-+ GThread * thread_b = g_thread_new ("call_get", call_get, (gpointer) &query_longer);
-
-- puts("Running!");
-+ puts ("Running!");
-
- /* Wait for threads to join, get results */
-- a = g_thread_join(thread_a);
-- b = g_thread_join(thread_b);
-+ a = g_thread_join (thread_a);
-+ b = g_thread_join (thread_b);
-
-- puts("Joined!\n---> Data: ");
-+ puts ("Joined!\n---> Data: ");
-
-- if(a && b) {
-- printme(a);
-- puts("-------------");
-- printme(b);
-+ if (a && b)
-+ {
-+ printme (a);
-+ puts ("-------------");
-+ printme (b);
- }
-
-- glyr_query_destroy(&query_long);
-- glyr_query_destroy(&query_longer);
-+ glyr_query_destroy (&query_long);
-+ glyr_query_destroy (&query_longer);
- return EXIT_SUCCESS;
- }
-diff --git a/src/glyrc/autohelp.c b/src/glyrc/autohelp.c
-index a93bc0f..2f2bdc9 100644
---- a/src/glyrc/autohelp.c
-+++ b/src/glyrc/autohelp.c
-@@ -25,72 +25,85 @@
-
- #include "colorprint.h"
-
--void suggest_other_getter(GlyrQuery *query, const char *wrong_input)
-+void suggest_other_getter (GlyrQuery * query, const char * wrong_input)
- {
-- if(query->verbosity <= 0) {
-+ if (query->verbosity <= 0)
-+ {
- return;
- }
-
-- GlyrFetcherInfo *fetcher = glyr_info_get();
-- if(fetcher != NULL) {
-+ GlyrFetcherInfo * fetcher = glyr_info_get();
-+ if (fetcher != NULL)
-+ {
- gboolean did_you_mean_printed = FALSE;
-- GlyrFetcherInfo *it = fetcher;
-- while(it != NULL) {
-- if(glyr_levenshtein_strnormcmp(wrong_input, it->name) < 7) {
-- if(did_you_mean_printed == FALSE) {
-- cvprint(DEFAULT, "\nDid you mean this?\n");
-+ GlyrFetcherInfo * it = fetcher;
-+ while (it != NULL)
-+ {
-+ if (glyr_levenshtein_strnormcmp (wrong_input,it->name) < 7)
-+ {
-+ if (did_you_mean_printed == FALSE)
-+ {
-+ cvprint (DEFAULT,"\nDid you mean this?\n");
- did_you_mean_printed = TRUE;
- }
-- cvprint(GREEN, " * %s\n", it->name);
-+ cvprint (GREEN," * %s\n",it->name);
- }
- it = it->next;
- }
-- glyr_info_free(fetcher);
-+ glyr_info_free (fetcher);
- }
- }
-
- /////////////////////////////////
-
--void suggest_other_provider(GlyrQuery *query, const char *wrong_input)
-+void suggest_other_provider (GlyrQuery * query, const char * wrong_input)
- {
-- if(query->verbosity <= 0) {
-+ if (query->verbosity <= 0)
-+ {
- return;
- }
-
-- GlyrFetcherInfo *fetcher = glyr_info_get();
-- GlyrFetcherInfo *it = fetcher;
-- while(it != NULL) {
-- if(it->type == query->type) {
-+ GlyrFetcherInfo * fetcher = glyr_info_get();
-+ GlyrFetcherInfo * it = fetcher;
-+ while (it != NULL)
-+ {
-+ if (it->type == query->type)
-+ {
- break;
- }
-
- it = it->next;
- }
-
-- if(it != NULL && wrong_input) {
-+ if (it != NULL && wrong_input)
-+ {
- gboolean did_you_mean_printed = FALSE;
-- GlyrSourceInfo *head = it->head;
-- GHashTable *key_table = g_hash_table_new(g_direct_hash, g_direct_equal);
-- while(head != NULL) {
-- gchar **tokens = g_strsplit(wrong_input, GLYR_DEFAULT_FROM_ARGUMENT_DELIM, 0);
-- for(int i = 0; tokens[i] != NULL; i++) {
-- gchar *token = tokens[i];
-- if(glyr_levenshtein_strnormcmp(token, head->name) < 5 &&
-- g_hash_table_lookup(key_table, head->name) == NULL) {
-- if(did_you_mean_printed == FALSE) {
-- cvprint(DEFAULT, "\nI would suggest the following similar providers:\n");
-+ GlyrSourceInfo * head = it->head;
-+ GHashTable * key_table = g_hash_table_new (g_direct_hash,g_direct_equal);
-+ while (head != NULL)
-+ {
-+ gchar ** tokens = g_strsplit (wrong_input,GLYR_DEFAULT_FROM_ARGUMENT_DELIM,0);
-+ for (int i = 0; tokens[i] != NULL; i++)
-+ {
-+ gchar * token = tokens[i];
-+ if (glyr_levenshtein_strnormcmp (token,head->name) < 5 &&
-+ g_hash_table_lookup (key_table,head->name) == NULL)
-+ {
-+ if (did_you_mean_printed == FALSE)
-+ {
-+ cvprint (DEFAULT,"\nI would suggest the following similar providers:\n");
- did_you_mean_printed = TRUE;
- }
-- cvprint(GREEN, " * %s\n", head->name);
-- g_hash_table_insert(key_table, head->name, head);
-+ cvprint (GREEN," * %s\n",head->name);
-+ g_hash_table_insert (key_table,head->name,head);
- }
- }
- head = head->next;
-- g_strfreev(tokens);
-+ g_strfreev (tokens);
- }
-- g_hash_table_destroy(key_table);
-+ g_hash_table_destroy (key_table);
- }
-- glyr_info_free(fetcher);
-+ glyr_info_free (fetcher);
- }
-
- /////////////////////////////////
-diff --git a/src/glyrc/colorprint.c b/src/glyrc/colorprint.c
-index 9b5b1a1..004618d 100644
---- a/src/glyrc/colorprint.c
-+++ b/src/glyrc/colorprint.c
-@@ -30,33 +30,32 @@ static bool global_enable_color = true;
-
- /////////////////////////////
-
--static void printcol(FILE *stream, termcolor fg)
-+static void printcol (FILE * stream, termcolor fg)
- {
-- fprintf(stream, "%c[0;%dm", 0x1B, fg + 30);
-+ fprintf (stream,"%c[0;%dm", 0x1B, fg + 30);
- }
-
- /////////////////////////////
-
--static void resetcolor(FILE *stream)
-+static void resetcolor (FILE * stream)
- {
-- fprintf(stream, "%c[0m", 0x1B);
-+ fprintf (stream,"%c[0m",0x1B);
- }
-
--void cprint(termcolor col, gint verbosity, GlyrQuery *s, const char *fmt, ...)
-+void cprint (termcolor col,gint verbosity, GlyrQuery * s, const char * fmt, ...)
- {
-- if((s && verbosity <= s->verbosity) || verbosity == -1) {
-- if(col != DEFAULT && global_enable_color) {
-- printcol(GLYR_OUTPUT, col);
-- }
-+ if ( (s && verbosity <= s->verbosity) || verbosity == -1)
-+ {
-+ if (col != DEFAULT && global_enable_color)
-+ printcol (GLYR_OUTPUT,col);
-
- va_list param;
-- va_start(param, fmt);
-- g_logv("Glyrc", G_LOG_LEVEL_INFO, fmt, param);
-- va_end(param);
-+ va_start (param,fmt);
-+ g_logv ("Glyrc",G_LOG_LEVEL_INFO,fmt,param);
-+ va_end (param);
-
-- if(col != DEFAULT && global_enable_color) {
-- resetcolor(GLYR_OUTPUT);
-- }
-+ if (col != DEFAULT && global_enable_color)
-+ resetcolor (GLYR_OUTPUT);
-
- fflush(stdout);
- }
-@@ -65,11 +64,11 @@ void cprint(termcolor col, gint verbosity, GlyrQuery *s, const char *fmt, ...)
-
- /////////////////////////////
-
--void enable_color(bool enable)
-+void enable_color (bool enable)
- {
- global_enable_color = enable;
- }
-
- /////////////////////////////
-
--void enable_color(bool enable);
-+void enable_color (bool enable);
-diff --git a/src/glyrc/escape.c b/src/glyrc/escape.c
-index c02e109..dba3ccc 100644
---- a/src/glyrc/escape.c
-+++ b/src/glyrc/escape.c
-@@ -25,7 +25,7 @@
- #include "escape.h"
-
- static int global_item_counter = 0;
--static char *global_write_path = NULL;
-+static char * global_write_path = NULL;
-
- #define EXPAND_FUNC(NAME) \
- static char * expand_##NAME( \
-@@ -33,135 +33,141 @@ static char *global_write_path = NULL;
- GlyrMemCache * c \
- )
-
--EXPAND_FUNC(type)
-+EXPAND_FUNC (type)
- {
-- return g_strdup(glyr_get_type_to_string(q->type));
-+ return g_strdup (glyr_get_type_to_string (q->type) );
- }
-
--EXPAND_FUNC(artist)
-+EXPAND_FUNC (artist)
- {
-- return g_strdup(q->artist);
-+ return g_strdup (q->artist);
- }
-
--EXPAND_FUNC(album)
-+EXPAND_FUNC (album)
- {
-- return g_strdup(q->album);
-+ return g_strdup (q->album);
- }
-
--EXPAND_FUNC(title)
-+EXPAND_FUNC (title)
- {
-- return g_strdup(q->title);
-+ return g_strdup (q->title);
- }
-
--EXPAND_FUNC(size)
-+EXPAND_FUNC (size)
- {
-- return g_strdup_printf("%lu", c->size);
-+ return g_strdup_printf ("%lu",c->size);
- }
-
--EXPAND_FUNC(format)
-+EXPAND_FUNC (format)
- {
-- return c->is_image ? g_strdup(c->img_format) : g_strdup("txt");
-+ return c->is_image ? g_strdup (c->img_format) : g_strdup ("txt");
- }
-
--EXPAND_FUNC(source)
-+EXPAND_FUNC (source)
- {
-- return g_strdup(c->dsrc);
-+ return g_strdup (c->dsrc);
- }
-
--EXPAND_FUNC(prov)
-+EXPAND_FUNC (prov)
- {
-- return g_strdup(c->prov);
-+ return g_strdup (c->prov);
- }
-
--EXPAND_FUNC(cksum)
-+EXPAND_FUNC (cksum)
- {
-- return glyr_md5sum_to_string(c->md5sum);
-+ return glyr_md5sum_to_string (c->md5sum);
- }
-
--EXPAND_FUNC(rating)
-+EXPAND_FUNC (rating)
- {
-- return g_strdup_printf("%d", c->rating);
-+ return g_strdup_printf ("%d",c->rating);
- }
-
--EXPAND_FUNC(duration)
-+EXPAND_FUNC (duration)
- {
-- return g_strdup_printf("%d", c->duration);
-+ return g_strdup_printf ("%d",c->duration);
- }
-
--EXPAND_FUNC(number)
-+EXPAND_FUNC (number)
- {
-- return g_strdup_printf("%d", global_item_counter);
-+ return g_strdup_printf ("%d",global_item_counter);
- }
-
--EXPAND_FUNC(path)
-+EXPAND_FUNC (path)
- {
-- return g_strdup(global_write_path);
-+ return g_strdup (global_write_path);
- }
-
- ////////////////////////
-
--typedef char *(* ExpandFunction)(GlyrQuery *, GlyrMemCache *);
-+typedef char * (* ExpandFunction) (GlyrQuery *,GlyrMemCache *);
-
--#define EXPAND(tname, scp) { \
-+#define EXPAND(tname,escp) { \
- .name = #tname, \
- .func = expand_##tname, \
- .escape_slashes = escp \
- } \
--
--struct escape_table {
-- const char *name;
-+
-+struct escape_table
-+{
-+ const char * name;
- ExpandFunction func;
- bool escape_slashes;
--} _escapes[] = {
-- EXPAND(type, false),
-- EXPAND(artist, true),
-- EXPAND(album, true),
-- EXPAND(title, true),
-- EXPAND(size, false),
-- EXPAND(format, false),
-- EXPAND(source, false),
-- EXPAND(prov, false),
-- EXPAND(cksum, false),
-- EXPAND(rating, false),
-- EXPAND(duration, false),
-- EXPAND(number, false),
-- EXPAND(path, false)
-+} _escapes[] =
-+{
-+ EXPAND (type,false),
-+ EXPAND (artist,true),
-+ EXPAND (album,true),
-+ EXPAND (title,true),
-+ EXPAND (size,false),
-+ EXPAND (format,false),
-+ EXPAND (source,false),
-+ EXPAND (prov,false),
-+ EXPAND (cksum,false),
-+ EXPAND (rating,false),
-+ EXPAND (duration,false),
-+ EXPAND (number,false),
-+ EXPAND (path,false)
- };
-
--const size_t _escape_table_size = (sizeof(_escapes) / sizeof(struct escape_table));
-+const size_t _escape_table_size = (sizeof (_escapes) /sizeof (struct escape_table) );
-
- ////////////////////////
-
--static void utf8_replace_char(char *string, char a, char b)
-+static void utf8_replace_char (char * string, char a, char b)
- {
-- if(string != NULL) {
-- if(g_utf8_validate(string, -1, NULL) == false) {
-+ if (string != NULL)
-+ {
-+ if (g_utf8_validate (string,-1,NULL) == false)
- return;
-- }
-
-- while(*string) {
-- if(*string == a) {
-+ while (*string)
-+ {
-+ if (*string == a)
-+ {
- *string = b;
- }
-- string = g_utf8_next_char(string);
-+ string = g_utf8_next_char (string);
- }
- }
- }
-
- ////////////////////////
-
--static char *lookup_escape(const char *escape, size_t escape_len, GlyrQuery *q, GlyrMemCache *c, bool *is_valid)
-+static char * lookup_escape (const char * escape, size_t escape_len, GlyrQuery * q, GlyrMemCache * c, bool * is_valid)
- {
-- for(size_t i = 0; i < _escape_table_size; ++i) {
-- if(_escapes[i].name == NULL) {
-+ for (size_t i = 0; i < _escape_table_size; ++i)
-+ {
-+ if (_escapes[i].name == NULL)
- continue;
-- }
-
-- if(strncmp(escape, _escapes[i].name, escape_len) == 0) {
-+ if (strncmp (escape,_escapes[i].name,escape_len) == 0)
-+ {
- *is_valid = true;
-- char *result = _escapes[i].func(q, c);
-- if(_escapes[i].escape_slashes) {
-- utf8_replace_char(result, '/', '|');
-+ char * result = _escapes[i].func (q,c);
-+ if (_escapes[i].escape_slashes)
-+ {
-+ utf8_replace_char (result,'/','|');
- }
- return result;
- }
-@@ -172,101 +178,111 @@ static char *lookup_escape(const char *escape, size_t escape_len, GlyrQuery *q,
-
- ////////////////////////
-
--static size_t estimate_alloc_size(const char *str)
-+static size_t estimate_alloc_size (const char * str)
- {
- int colons = 0, normal = 0;
-- while(*str)
-- if(*str++ == ':') {
-+ while (*str)
-+ if (*str++ == ':')
- colons++;
-- } else {
-+ else
- normal++;
-- }
-
- return (colons / 2 + 1) * 128 + normal + 1;
- }
-
- ////////////////////////
-
--char *escape_colon_expr(const char *path, GlyrQuery *q, GlyrMemCache *c)
-+char * escape_colon_expr (const char * path, GlyrQuery * q, GlyrMemCache * c)
- {
-- char *retv = NULL;
-- if(path && q && c) {
-- size_t maxbufsize = estimate_alloc_size(path);
-+ char * retv = NULL;
-+ if (path && q && c)
-+ {
-+ size_t maxbufsize = estimate_alloc_size (path);
- size_t off = 0;
- bool always_copy = false;
-- retv = g_malloc0(maxbufsize + 1);
--
-- size_t path_len = strlen(path);
-- for(size_t i = 0; i < path_len; ++i) {
-- if(always_copy == false && path[i] == ':') {
-- const char *escape_begin = &path[i + 1];
-- char *end_colon = strchr(escape_begin, ':');
-- if(end_colon != NULL) {
-+ retv = g_malloc0 (maxbufsize+1);
-+
-+ size_t path_len = strlen (path);
-+ for (size_t i = 0; i < path_len; ++i)
-+ {
-+ if (always_copy == false && path[i] == ':')
-+ {
-+ const char * escape_begin = &path[i+1];
-+ char * end_colon = strchr (escape_begin,':');
-+ if (end_colon != NULL)
-+ {
- bool is_valid = false;
- size_t escape_len = end_colon - escape_begin;
-- if(escape_len == 0) {
-+ if (escape_len == 0)
- continue;
-- }
-
-- char *subsitution = lookup_escape(escape_begin, escape_len, q, c, &is_valid);
-- if(subsitution != NULL) {
-- size_t subs_len = strlen(subsitution);
-- memcpy(&retv[off], subsitution, subs_len);
-+ char * subsitution = lookup_escape (escape_begin,escape_len,q,c,&is_valid);
-+ if (subsitution != NULL)
-+ {
-+ size_t subs_len = strlen (subsitution);
-+ memcpy (&retv[off],subsitution,subs_len);
- off += subs_len;
-- g_free(subsitution);
-- } else if(is_valid == false) {
-- strncpy(retv + off, &path[i], escape_len + 2);
-+ g_free (subsitution);
-+ }
-+ else if (is_valid == false)
-+ {
-+ strncpy (retv+off,&path[i],escape_len + 2);
- off += escape_len + 2;
- }
- i += escape_len + 1;
-- } else {
-+ }
-+ else
-+ {
- always_copy = true;
- i--;
- }
-- } else {
-+ }
-+ else
-+ {
- retv[off++] = path[i];
- }
-
-- if(off >= maxbufsize) {
-- fprintf(stderr, "ERROR: Ouch! Buffersize too small. Hack: Add some :: to your string.\n");
-+ if (off >= maxbufsize)
-+ {
-+ fprintf (stderr,"ERROR: Ouch! Buffersize too small. Hack: Add some :: to your string.\n");
- break;
- }
- }
- }
-- if(q && q->verbosity >= 4) {
-- printf(">>> %s\n", retv);
-+ if (q && q->verbosity >= 4)
-+ {
-+ printf (">>> %s\n",retv);
- }
- return retv;
- }
-
- ////////////////////////
-
--void increment_item_counter(void)
-+void increment_item_counter (void)
- {
- ++global_item_counter;
- }
-
- ////////////////////////
-
--int get_item_counter(void)
-+int get_item_counter (void)
- {
- return global_item_counter;
- }
-
- ////////////////////////
-
--char *get_write_path(void)
-+char * get_write_path (void)
- {
- return global_write_path;
- }
-
- ////////////////////////
-
--void set_write_path(char *path)
-+void set_write_path (char * path)
- {
-- if(global_write_path != NULL) {
-- g_free(global_write_path);
-- }
-+ if (global_write_path != NULL)
-+ g_free (global_write_path);
-
- global_write_path = path;
- }
-diff --git a/src/glyrc/glyrc.c b/src/glyrc/glyrc.c
-index 452dee5..fc84896 100644
---- a/src/glyrc/glyrc.c
-+++ b/src/glyrc/glyrc.c
-@@ -67,9 +67,10 @@
- ////////////////////////////////////////////////////////////////
-
- /* Shared data of main/callback */
--typedef struct {
-- char *output_path;
-- char *exec_on_call;
-+typedef struct
-+{
-+ char * output_path;
-+ char * exec_on_call;
- bool as_one;
- bool append_format;
-
-@@ -84,19 +85,19 @@ typedef struct {
- .as_one = false, \
- .append_format= false \
- } \
--
-+
- //////////////////////////
-
--static GlyrQuery *glob_lastQuery = NULL;
-+static GlyrQuery * glob_lastQuery = NULL;
-
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
-
--void log_func(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data)
-+void log_func (const gchar *log_domain,GLogLevelFlags log_level,const gchar *message, gpointer user_data)
- {
-- fputs(message, GLYR_OUTPUT);
-+ fputs (message,GLYR_OUTPUT);
- }
-
- ////////////////////////////////////////////////////////////////
-@@ -105,21 +106,22 @@ void log_func(const gchar *log_domain, GLogLevelFlags log_level, const gchar *me
- #define STACK_FRAME_SIZE 20
-
- /* Obtain a backtrace and print it to stdout. */
--static void print_trace(void)
-+static void print_trace (void)
- {
-- void *array[STACK_FRAME_SIZE];
-- char **bt_info_list;
-+ void * array[STACK_FRAME_SIZE];
-+ char ** bt_info_list;
- gsize size, it = 0;
-
-- size = backtrace(array, STACK_FRAME_SIZE);
-- bt_info_list = backtrace_symbols(array, size);
-+ size = backtrace (array, STACK_FRAME_SIZE);
-+ bt_info_list = backtrace_symbols (array, size);
-
-- for(it = 0; it < size; it++) {
-- cvprint(DEFAULT, " [#%02u] %s\n", (gint) it + 1, bt_info_list[it]);
-+ for (it = 0; it < size; it++)
-+ {
-+ cvprint (DEFAULT," [#%02u] %s\n", (gint) it+1, bt_info_list[it]);
- }
-
-- cvprint(DEFAULT, "\n%zd calls in total are shown.\n", size);
-- g_free(bt_info_list);
-+ cvprint (DEFAULT,"\n%zd calls in total are shown.\n", size);
-+ g_free (bt_info_list);
- }
- #endif
-
-@@ -127,68 +129,70 @@ static void print_trace(void)
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
-
--static void sig_handler(int signal)
-+static void sig_handler (int signal)
- {
-- switch(signal) {
-+ switch (signal)
-+ {
- case SIGABRT :
- case SIGFPE :
- case SIGSEGV : /* sigh */
-- cvprint(RED, "\nFATAL: libglyr stopped/crashed due to a %s of death.\n", g_strsignal(signal));
-- cvprint(DEFAULT, " This is entirely the fault of the libglyr developers. Yes, we failed. Sorry. Now what to do:\n");
-- cvprint(DEFAULT, " It would be just natural to blame us now, so just visit <https://github.com/sahib/glyr/issues>\n");
-- cvprint(DEFAULT, " and throw hard words like 'backtrace', 'bug report' or even the '$(command I issued' at them).\n");
-- cvprint(DEFAULT, " The libglyr developers will try to fix it as soon as possible so please stop pulling their hair.\n");
-+ cvprint (RED,"\nFATAL: libglyr stopped/crashed due to a %s of death.\n",g_strsignal (signal) );
-+ cvprint (DEFAULT," This is entirely the fault of the libglyr developers. Yes, we failed. Sorry. Now what to do:\n");
-+ cvprint (DEFAULT," It would be just natural to blame us now, so just visit <https://github.com/sahib/glyr/issues>\n");
-+ cvprint (DEFAULT," and throw hard words like 'backtrace', 'bug report' or even the '$(command I issued' at them).\n");
-+ cvprint (DEFAULT," The libglyr developers will try to fix it as soon as possible so please stop pulling their hair.\n");
- #ifdef __linux__
-- cvprint(DEFAULT, "\nA list of the last called functions follows, please add this to your report:\n");
-+ cvprint (DEFAULT,"\nA list of the last called functions follows, please add this to your report:\n");
- print_trace();
- #endif
-- cvprint(DEFAULT, "\n(Thanks, and Sorry for any bad feelings.)\n\n");
-+ cvprint (DEFAULT,"\n(Thanks, and Sorry for any bad feelings.)\n\n");
- break;
- }
-- exit(EXIT_FAILURE);
-+ exit (EXIT_FAILURE);
- }
-
- ////////////////////////////////////////////////////////////////
-
--static void init_signals(void)
-+static void init_signals (void)
- {
- /* Only register for crashes */
-- signal(SIGSEGV, sig_handler);
-- signal(SIGABRT, sig_handler);
-- signal(SIGFPE, sig_handler);
-+ signal (SIGSEGV, sig_handler);
-+ signal (SIGABRT, sig_handler);
-+ signal (SIGFPE, sig_handler);
- }
-
- ////////////////////////////////////////////////////////////////
-
--static void handle_cancel(int signo)
-+static void handle_cancel (int signo)
- {
-- cvprint(YELLOW, "Canceling..\n");
-- if(glob_lastQuery != NULL) {
-- glyr_signal_exit(glob_lastQuery);
-+ cvprint (YELLOW,"Canceling..\n");
-+ if (glob_lastQuery != NULL)
-+ {
-+ glyr_signal_exit (glob_lastQuery);
- }
- }
-
- ////////////////////////////////////////////////////////////////
-
--static char *create_cache_directory(void)
-+static char * create_cache_directory (void)
- {
-- char *xdg_cache_dir = g_strdup(g_getenv("XDG_CACHE_HOME"));
-+ char * xdg_cache_dir = g_strdup(g_getenv("XDG_CACHE_HOME"));
- if(xdg_cache_dir == NULL) {
-- xdg_cache_dir = (char *) g_getenv("HOME");
-+ xdg_cache_dir = (char *)g_getenv("HOME");
- if(xdg_cache_dir == NULL) {
- xdg_cache_dir = g_strdup("/tmp");
- } else {
- xdg_cache_dir = g_strdup_printf("%s%c.cache",
-- xdg_cache_dir,
-- G_DIR_SEPARATOR
-- );
-+ xdg_cache_dir,
-+ G_DIR_SEPARATOR
-+ );
- }
- }
-
-- char *full_path = g_strdup_printf("%s%cglyrc",
-- xdg_cache_dir,
-- G_DIR_SEPARATOR
-- );
-+ char * full_path = g_strdup_printf("%s%cglyrc",
-+ xdg_cache_dir,
-+ G_DIR_SEPARATOR
-+ );
-
- if(!g_file_test(full_path, G_FILE_TEST_IS_DIR)) {
- g_printerr("<%s> does not exist yet. Creating...", full_path);
-@@ -198,7 +202,7 @@ static char *create_cache_directory(void)
- } else {
- g_printerr("done.\n");
- }
--
-+
- }
-
- g_free(xdg_cache_dir);
-@@ -207,26 +211,26 @@ static char *create_cache_directory(void)
-
- ////////////////////////////////////////////////////////////////
-
--static void init_cancel_handler(GlyrQuery *p_lastQuery)
-+static void init_cancel_handler (GlyrQuery * p_lastQuery)
- {
- glob_lastQuery = p_lastQuery;
-- signal(SIGINT, handle_cancel);
-+ signal (SIGINT, handle_cancel);
- }
-
- ////////////////////////////////////////////////////////////////
- // --------------------------------------------------------- //
- ///////////////////////////////////////////////////////////////
-
--static void print_version(GlyrQuery *s)
-+static void print_version (GlyrQuery * s)
- {
-- cprint(DEFAULT, -1, s, "%s\n\n", glyr_version());
-+ cprint (DEFAULT,-1,s, "%s\n\n",glyr_version() );
-
-- cprint(DEFAULT, -1, s, "libglyr is licensed under the terms of the GPLv3.\n");
-- cprint(DEFAULT, -1, s, "Please refer to the COPYING file you received with glyr.\n\n");
-- cprint(DEFAULT, -1, s, "Email bugs to <sahib at online.de> or use the bugtracker\n"
-- "at https://github.com/sahib/glyr/issues - Thank you! \n");
-+ cprint (DEFAULT,-1,s, "libglyr is licensed under the terms of the GPLv3.\n");
-+ cprint (DEFAULT,-1,s, "Please refer to the COPYING file you received with glyr.\n\n");
-+ cprint (DEFAULT,-1,s, "Email bugs to <sahib at online.de> or use the bugtracker\n"
-+ "at https://github.com/sahib/glyr/issues - Thank you! \n");
-
-- exit(0);
-+ exit (0);
- }
-
-
-@@ -234,150 +238,155 @@ static void print_version(GlyrQuery *s)
- // --------------------------------------------------------- //
- ////////////////////////////////////////////////////////////////
-
--void help_short(GlyrQuery *s)
-+void help_short (GlyrQuery * s)
- {
-- cprint(DEFAULT, -1, s, "Usage: glyrc [GETTER] (options)\n\nwhere [GETTER] must be one of:\n");
-- GlyrFetcherInfo *info = glyr_info_get();
-- GlyrFetcherInfo *track = info;
-- while(info != NULL) {
-- cprint(DEFAULT, -1, NULL, " - %s\n", info->name);
-+ cprint (DEFAULT,-1,s,"Usage: glyrc [GETTER] (options)\n\nwhere [GETTER] must be one of:\n");
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ GlyrFetcherInfo * track = info;
-+ while (info != NULL)
-+ {
-+ cprint (DEFAULT,-1,NULL," - %s\n", info->name);
- info = info->next;
- }
-- glyr_info_free(track);
-+ glyr_info_free (track);
-
- #define IN " "
-- cprint(DEFAULT, -1, s, "\nGENERAL OPTIONS:\n"
-- IN"-f --from String: Providers from where to get metadata. Refer to glyrc --list for a full list\n"
-- IN"-n --number Integer: Download max. <n> items. Amount of actual downloaded items may be less.\n"
-- IN"-l --lang String: Language settings. Used by a few getters to deliever localized data. Given in ISO 639-1 codes like 'de'\n"
-- IN"-o --only-lang Only use providers that offer language specific data, this only applies for text items.\n"
-- IN"-z --fuzzyness Integer: Set threshold for level of Levenshtein algorithm.\n"
-- IN"-q --qsratio Float: How to weight quality/speed; 1.0 = full quality, 0.0 = full speed.\n"
-- IN"-x --plugmax Integer. Maximum number od download a plugin may deliever. Use to make results more vary.\n"
-- IN"-v --verbosity Integer. Set verbosity from 0 to 4. See online-README for details.\n"
-- IN"-w --write Path: Write metadata to the dir <d>, or filename <d>, special values stdout, stderr and null are supported\n"
-- IN" Certain escapes are escaped inside the filename in the form :X:, where X may be one of:\n"
-- IN" * type : The getter used in this query (e.g. cover)\n"
-- IN" * artist : Artist - as passed by -a\n"
-- IN" * album : Album - as passed by -b\n"
-- IN" * title : Title - as passed by -t\n"
-- IN" * size : Size in bytes\n"
-- IN" * format : The image format or 'txt' for textitems\n"
-- IN" * source : The source URL of this item\n"
-- IN" * prov : The Provider of this item\n"
-- IN" * cksum : a md5sum of the data\n"
-- IN" * rating : (Usually 0)\n"
-- IN" * duration : (Only for tracks) Duration in seconds\n"
-- IN" * number : An index incremented with each item (starting with 1)\n"
-- IN"\n"
-- IN" The default format is ':artist:_:album:_:title:_:type:_:number:.:format:'\n"
-- IN" Strings containing '/' are replaced with '|' automatically,\n"
-- IN" so --write ':artist:' for AC/DC will result in AC|DC\n"
-- IN"\n"
-- "\nNETWORK OPTIONS\n"
-- IN"-p --parallel Integer: Define the number of downloads that may be performed in parallel.\n"
-- IN"-u --useragent String: The useragent to use during HTTP requests\n"
-- IN"-r --redirects Integer. Define the number of redirects that are allowed.\n"
-- IN"-m --timeout Integer. Define the maximum number in seconds after which a download is cancelled.\n"
-- IN"-k --proxy String: Set the proxy to use in the form of [protocol://][user:pass@]yourproxy.domain[:port]\n"
-- "\nPROVIDER SPECIFIC OPTIONS\n"
-- IN"-d --download Download Images.\n"
-- IN"-D --skip-download Don't download images, but return the URLs to them (act like a search engine)\n"
-- IN"-a --artist String: Artist name to search for\n"
-- IN"-b --album String: Album name to search for\n"
-- IN"-t --title String: Songname to search for\n"
-- IN"-e --maxsize Integer: (images only) The maximum size a cover may have.\n"
-- IN"-i --minsize Integer: (images only) The minimum size a cover may have.\n"
-- IN"-F --formats String: A semicolon separated list of imageformats that are allowed. e.g.: \"png;jpeg\"\n"
-- IN"-8 --force-utf8 Forces utf8 encoding for text items, invalid encodings get sorted out\n"
-- "\nMISC OPTIONS\n"
-- IN"-L --list List all fetchers and source providers for each and exit.\n"
-- IN"-h --help This text you unlucky wanderer are viewing.\n"
-- IN"-V --version Print the version string.\n"
-- IN"-U --update Updates libglyr if new version is available.\n"
-- IN"-g --as-one (Textitems only) Output all results as one (useful for tracklist and albumlist).\n"
-- IN"-G --no-as-one Disables --as-one (Default)\n"
-- IN"-y --color Enables colored output for glyrc (Default)\n"
-- IN"-Y --no-color Prints no colored output\n"
-- IN"-s --musictree-path <p> <p> is a path to your music directory. Glyr might fetch things like folger.jpg from there;\n"
-- IN"-j --callback Command: Set a bash command to be executed when a item is finished downloading;\n"
-- IN" All escapes mentioned in --write are supported too, and additonally:\n"
-- IN" * path : The path were the item was written to.\n"
-- "\nDATABASE OPTIONS\n"
-- IN"-c --cache <folder> Creates or opens an existing cache at <folder>/metadata.db and lookups data from there.\n"
-- IN"cache select [Query] Selects data from the cache; you can use any other option behind this.\n"
-- IN"cache delete [Query] Instead of searching for this element, the element is deleted from the database. Needs --cache.\n"
-- IN"cache list List all items in the database (including the artist / album / title / type) - Needs --cache.\n"
-- IN"\nExamples:\n\n"
-- IN" glyrc cover --artist SomeBand --album SomeAlbum\n"
-- IN" \n"
-- IN" DB:\n\n"
-- IN" glyrc lyrics -a A -b B --cache /tmp # Write found items to cache; create it if not existant\n"
-- IN" glyrc cache list --cache /tmp # List all in the cache\n"
-- IN" glyrc cache delete cover -a Equilibrium -b Sagas --cache /tmp # Delete artist/album\n"
-- IN" glyrc cache select lyrics -a Knorkator -t 'A' -n 2 --cache /tmp # Search for two items in cache and print them\n"
-- IN"\n"
-- IN"The return code will be 0 on success, 1 on any failure. No distinction is made which error happened.\n"
-- IN"\n\n"
-- "With each item received you get a link to the original source, please refer to the individual terms of use,\n"
-- "copying and distributing of this data might be not allowed.\n"
-- "A more detailed version of this help can be found online: https://github.com/sahib/glyr/wiki/Commandline-arguments\n"
-- );
--
-- cprint(DEFAULT, -1, s, "\nAUTHOR: (C) Christopher Pahl - 2011, <sahib at online.de>\n%s\n\n", glyr_version());
-- exit(EXIT_FAILURE);
-+ cprint (DEFAULT,-1,s,"\nGENERAL OPTIONS:\n"
-+ IN"-f --from String: Providers from where to get metadata. Refer to glyrc --list for a full list\n"
-+ IN"-n --number Integer: Download max. <n> items. Amount of actual downloaded items may be less.\n"
-+ IN"-l --lang String: Language settings. Used by a few getters to deliever localized data. Given in ISO 639-1 codes like 'de'\n"
-+ IN"-o --only-lang Only use providers that offer language specific data, this only applies for text items.\n"
-+ IN"-z --fuzzyness Integer: Set threshold for level of Levenshtein algorithm.\n"
-+ IN"-q --qsratio Float: How to weight quality/speed; 1.0 = full quality, 0.0 = full speed.\n"
-+ IN"-x --plugmax Integer. Maximum number od download a plugin may deliever. Use to make results more vary.\n"
-+ IN"-v --verbosity Integer. Set verbosity from 0 to 4. See online-README for details.\n"
-+ IN"-w --write Path: Write metadata to the dir <d>, or filename <d>, special values stdout, stderr and null are supported\n"
-+ IN" Certain escapes are escaped inside the filename in the form :X:, where X may be one of:\n"
-+ IN" * type : The getter used in this query (e.g. cover)\n"
-+ IN" * artist : Artist - as passed by -a\n"
-+ IN" * album : Album - as passed by -b\n"
-+ IN" * title : Title - as passed by -t\n"
-+ IN" * size : Size in bytes\n"
-+ IN" * format : The image format or 'txt' for textitems\n"
-+ IN" * source : The source URL of this item\n"
-+ IN" * prov : The Provider of this item\n"
-+ IN" * cksum : a md5sum of the data\n"
-+ IN" * rating : (Usually 0)\n"
-+ IN" * duration : (Only for tracks) Duration in seconds\n"
-+ IN" * number : An index incremented with each item (starting with 1)\n"
-+ IN"\n"
-+ IN" The default format is ':artist:_:album:_:title:_:type:_:number:.:format:'\n"
-+ IN" Strings containing '/' are replaced with '|' automatically,\n"
-+ IN" so --write ':artist:' for AC/DC will result in AC|DC\n"
-+ IN"\n"
-+ "\nNETWORK OPTIONS\n"
-+ IN"-p --parallel Integer: Define the number of downloads that may be performed in parallel.\n"
-+ IN"-u --useragent String: The useragent to use during HTTP requests\n"
-+ IN"-r --redirects Integer. Define the number of redirects that are allowed.\n"
-+ IN"-m --timeout Integer. Define the maximum number in seconds after which a download is cancelled.\n"
-+ IN"-k --proxy String: Set the proxy to use in the form of [protocol://][user:pass@]yourproxy.domain[:port]\n"
-+ "\nPROVIDER SPECIFIC OPTIONS\n"
-+ IN"-d --download Download Images.\n"
-+ IN"-D --skip-download Don't download images, but return the URLs to them (act like a search engine)\n"
-+ IN"-a --artist String: Artist name to search for\n"
-+ IN"-b --album String: Album name to search for\n"
-+ IN"-t --title String: Songname to search for\n"
-+ IN"-e --maxsize Integer: (images only) The maximum size a cover may have.\n"
-+ IN"-i --minsize Integer: (images only) The minimum size a cover may have.\n"
-+ IN"-F --formats String: A semicolon separated list of imageformats that are allowed. e.g.: \"png;jpeg\"\n"
-+ IN"-8 --force-utf8 Forces utf8 encoding for text items, invalid encodings get sorted out\n"
-+ "\nMISC OPTIONS\n"
-+ IN"-L --list List all fetchers and source providers for each and exit.\n"
-+ IN"-h --help This text you unlucky wanderer are viewing.\n"
-+ IN"-V --version Print the version string.\n"
-+ IN"-U --update Updates libglyr if new version is available.\n"
-+ IN"-g --as-one (Textitems only) Output all results as one (useful for tracklist and albumlist).\n"
-+ IN"-G --no-as-one Disables --as-one (Default)\n"
-+ IN"-y --color Enables colored output for glyrc (Default)\n"
-+ IN"-Y --no-color Prints no colored output\n"
-+ IN"-s --musictree-path <p> <p> is a path to your music directory. Glyr might fetch things like folger.jpg from there;\n"
-+ IN"-j --callback Command: Set a bash command to be executed when a item is finished downloading;\n"
-+ IN" All escapes mentioned in --write are supported too, and additonally:\n"
-+ IN" * path : The path were the item was written to.\n"
-+ "\nDATABASE OPTIONS\n"
-+ IN"-c --cache <folder> Creates or opens an existing cache at <folder>/metadata.db and lookups data from there.\n"
-+ IN"cache select [Query] Selects data from the cache; you can use any other option behind this.\n"
-+ IN"cache delete [Query] Instead of searching for this element, the element is deleted from the database. Needs --cache.\n"
-+ IN"cache list List all items in the database (including the artist / album / title / type) - Needs --cache.\n"
-+ IN"\nExamples:\n\n"
-+ IN" glyrc cover --artist SomeBand --album SomeAlbum\n"
-+ IN" \n"
-+ IN" DB:\n\n"
-+ IN" glyrc lyrics -a A -b B --cache /tmp # Write found items to cache; create it if not existant\n"
-+ IN" glyrc cache list --cache /tmp # List all in the cache\n"
-+ IN" glyrc cache delete cover -a Equilibrium -b Sagas --cache /tmp # Delete artist/album\n"
-+ IN" glyrc cache select lyrics -a Knorkator -t 'A' -n 2 --cache /tmp # Search for two items in cache and print them\n"
-+ IN"\n"
-+ IN"The return code will be 0 on success, 1 on any failure. No distinction is made which error happened.\n"
-+ IN"\n\n"
-+ "With each item received you get a link to the original source, please refer to the individual terms of use,\n"
-+ "copying and distributing of this data might be not allowed.\n"
-+ "A more detailed version of this help can be found online: https://github.com/sahib/glyr/wiki/Commandline-arguments\n"
-+ );
-+
-+ cprint (DEFAULT,-1,s,"\nAUTHOR: (C) Christopher Pahl - 2011, <sahib at online.de>\n%s\n\n",glyr_version() );
-+ exit (EXIT_FAILURE);
- #undef IN
- }
-
- ////////////////////////////////////////////////////////////////
-
--static void visualize_from_options(void)
-+static void visualize_from_options (void)
- {
-- cprint(WHITE, -1, NULL, "# First line is the name of the fetcher you can use,\n"
-- "# Second is the providername with the shortkey in []\n"
-- "# Some unimportant information follows intented by '-'\n\n");
--
-- GlyrFetcherInfo *info = glyr_info_get();
-- if(info != NULL) {
-- for(GlyrFetcherInfo *elem0 = info; elem0; elem0 = elem0->next) {
-- cvprint(BLUE, " %s => %d\n", elem0->name, elem0->type);
-- for(GlyrSourceInfo *elem1 = elem0->head; elem1; elem1 = elem1->next) {
-- cvprint(CYAN, " # %s [%c]\n", elem1->name, elem1->key);
-- cvprint(YELLOW, " - Quality: %d\n", elem1->quality);
-- cvprint(YELLOW, " - Speed: %d\n", elem1->speed);
-- cvprint(YELLOW, " - Type: %s\n", glyr_get_type_to_string(elem1->type));
-+ cprint (WHITE,-1,NULL,"# First line is the name of the fetcher you can use,\n"
-+ "# Second is the providername with the shortkey in []\n"
-+ "# Some unimportant information follows intented by '-'\n\n");
-+
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ if (info != NULL)
-+ {
-+ for (GlyrFetcherInfo * elem0 = info; elem0; elem0 = elem0->next)
-+ {
-+ cvprint (BLUE," %s => %d\n",elem0->name,elem0->type);
-+ for (GlyrSourceInfo * elem1 = elem0->head; elem1; elem1 = elem1->next)
-+ {
-+ cvprint (CYAN," # %s [%c]\n",elem1->name,elem1->key);
-+ cvprint (YELLOW," - Quality: %d\n",elem1->quality);
-+ cvprint (YELLOW," - Speed: %d\n",elem1->speed);
-+ cvprint (YELLOW," - Type: %s\n",glyr_get_type_to_string (elem1->type) );
- }
-
-- cvprint(GREEN, " + Requires: (%s%s%s)\n",
-- elem0->reqs & GLYR_REQUIRES_ARTIST ? "Artist " : "",
-- elem0->reqs & GLYR_REQUIRES_ALBUM ? "Album " : "",
-- elem0->reqs & GLYR_REQUIRES_TITLE ? "Title" : ""
-- );
-- cvprint(MAGENTA, " + Optional: (%s%s%s)\n",
-- elem0->reqs & GLYR_OPTIONAL_ARTIST ? "Artist " : "",
-- elem0->reqs & GLYR_OPTIONAL_ALBUM ? "Album " : "",
-- elem0->reqs & GLYR_OPTIONAL_TITLE ? "Title" : ""
-- );
--
-- cvprint(BLUE, "\n///////////////////////////////\n\n");
-+ cvprint (GREEN," + Requires: (%s%s%s)\n",
-+ elem0->reqs & GLYR_REQUIRES_ARTIST ? "Artist " : "",
-+ elem0->reqs & GLYR_REQUIRES_ALBUM ? "Album " : "",
-+ elem0->reqs & GLYR_REQUIRES_TITLE ? "Title" : ""
-+ );
-+ cvprint (MAGENTA," + Optional: (%s%s%s)\n",
-+ elem0->reqs & GLYR_OPTIONAL_ARTIST ? "Artist " : "",
-+ elem0->reqs & GLYR_OPTIONAL_ALBUM ? "Album " : "",
-+ elem0->reqs & GLYR_OPTIONAL_TITLE ? "Title" : ""
-+ );
-+
-+ cvprint (BLUE,"\n///////////////////////////////\n\n");
- }
-
-- cvprint(WHITE, "\nFollowing providers work with all types:\n");
-- cvprint(WHITE, " # local [l] (A local SQLite DB cache; see --cache)\n");
-- cvprint(WHITE, " # musictree [t] (Gets items from your music directory (folder.jpg etc) --musictree-path)\n");
-- cvprint(WHITE, "\nThe string 'all' in --from enables all providers.\n");
-- cvprint(WHITE, "You can disable certain providers from this by prepending a '-':\n");
-- cvprint(WHITE, " \"all;-lastfm\"\n");
-- cvprint(DEFAULT, "\n///////////////////////////////\n");
-+ cvprint (WHITE,"\nFollowing providers work with all types:\n");
-+ cvprint (WHITE," # local [l] (A local SQLite DB cache; see --cache)\n");
-+ cvprint (WHITE," # musictree [t] (Gets items from your music directory (folder.jpg etc) --musictree-path)\n");
-+ cvprint (WHITE,"\nThe string 'all' in --from enables all providers.\n");
-+ cvprint (WHITE,"You can disable certain providers from this by prepending a '-':\n");
-+ cvprint (WHITE," \"all;-lastfm\"\n");
-+ cvprint (DEFAULT,"\n///////////////////////////////\n");
- }
-- glyr_info_free(info);
-+ glyr_info_free (info);
- }
-
- ////////////////////////////////////////////////////////////////
-
--static void parse_commandline_general(int argc, char *const *argv, GlyrQuery *glyrs, callback_data_t *CBData, GlyrDatabase **db)
-+static void parse_commandline_general (int argc, char * const * argv, GlyrQuery * glyrs, callback_data_t * CBData, GlyrDatabase ** db)
- {
-- static struct option long_options[] = {
-+ static struct option long_options[] =
-+ {
- {"from", required_argument, 0, 'f'},
- {"write", required_argument, 0, 'w'},
- {"parallel", required_argument, 0, 'p'},
-@@ -410,134 +419,143 @@ static void parse_commandline_general(int argc, char *const *argv, GlyrQuery *gl
- {"lang", required_argument, 0, 'l'},
- {"fuzzyness", required_argument, 0, 'z'},
- {"callback", required_argument, 0, 'j'},
-- {"musictree-path", required_argument, 0, 's'},
-+ {"musictree-path",required_argument, 0, 's'},
- {"normalization", required_argument, 0, 'N'},
- {0, 0, 0, '0'}
- };
-
- opterr = 0;
-- while(TRUE) {
-+ while (TRUE)
-+ {
- gint c;
- gint option_index = 0;
-- if((c = getopt_long(argc, argv, "N:f:W:w:p:r:m:x:u:v:q:c::F:hVodDLa:b:t:i:e:s:n:l:z:j:k:8gGyY", long_options, &option_index)) == -1) {
-+ if ( (c = getopt_long (argc, argv, "N:f:W:w:p:r:m:x:u:v:q:c::F:hVodDLa:b:t:i:e:s:n:l:z:j:k:8gGyY",long_options, &option_index) ) == -1)
-+ {
- break;
- }
-
-- switch(c) {
-- case 'w': {
-- char *dirname = g_path_get_dirname(optarg);
-- gsize opt_len = strlen(optarg);
-- if(g_ascii_strncasecmp(optarg, "stdout", opt_len) == 0 ||
-- g_ascii_strncasecmp(optarg, "stderr", opt_len) == 0 ||
-- g_ascii_strncasecmp(optarg, "null", opt_len) == 0 ||
-- g_file_test(dirname, G_FILE_TEST_IS_DIR | G_FILE_TEST_EXISTS) == TRUE) {
-+ switch (c)
-+ {
-+ case 'w':
-+ {
-+ char * dirname = g_path_get_dirname (optarg);
-+ gsize opt_len = strlen (optarg);
-+ if (g_ascii_strncasecmp (optarg,"stdout",opt_len) == 0 ||
-+ g_ascii_strncasecmp (optarg,"stderr",opt_len) == 0 ||
-+ g_ascii_strncasecmp (optarg,"null", opt_len) == 0 ||
-+ g_file_test (dirname,G_FILE_TEST_IS_DIR | G_FILE_TEST_EXISTS) == TRUE)
-+ {
- CBData->output_path = optarg;
-- g_free(dirname);
-- } else {
-- g_free(dirname);
-- cprint(DEFAULT, -1, NULL, "'%s' does not seem to be an valid directory!\n", optarg);
-- exit(-1);
-+ g_free (dirname);
-+ }
-+ else
-+ {
-+ g_free (dirname);
-+ cprint (DEFAULT,-1,NULL,"'%s' does not seem to be an valid directory!\n",optarg);
-+ exit (-1);
- }
- break;
- }
- case 'f':
-- glyr_opt_from(glyrs, optarg);
-+ glyr_opt_from (glyrs,optarg);
- break;
- case 'v':
-- glyr_opt_verbosity(glyrs, atoi(optarg));
-+ glyr_opt_verbosity (glyrs,atoi (optarg) );
- break;
- case 'p':
-- glyr_opt_parallel(glyrs, atoi(optarg));
-+ glyr_opt_parallel (glyrs,atoi (optarg) );
- break;
- case 'r':
-- glyr_opt_redirects(glyrs, atoi(optarg));
-+ glyr_opt_redirects (glyrs,atoi (optarg) );
- break;
- case 'm':
-- glyr_opt_timeout(glyrs, atoi(optarg));
-+ glyr_opt_timeout (glyrs,atoi (optarg) );
- break;
- case 'u':
-- glyr_opt_useragent(glyrs, optarg);
-+ glyr_opt_useragent (glyrs,optarg);
- break;
- case 'x':
-- glyr_opt_plugmax(glyrs, atoi(optarg));
-+ glyr_opt_plugmax (glyrs,atoi (optarg) );
- break;
- case 'V':
-- print_version(glyrs);
-+ print_version (glyrs);
- break;
- case 'h':
-- help_short(glyrs);
-+ help_short (glyrs);
- break;
- case 'a':
-- glyr_opt_artist(glyrs, optarg);
-+ glyr_opt_artist (glyrs,optarg);
- break;
- case 'b':
-- glyr_opt_album(glyrs, optarg);
-+ glyr_opt_album (glyrs,optarg);
- break;
- case 't':
-- glyr_opt_title(glyrs, optarg);
-+ glyr_opt_title (glyrs,optarg);
- break;
- case 'i':
-- glyr_opt_img_minsize(glyrs, atoi(optarg));
-+ glyr_opt_img_minsize (glyrs,atoi (optarg) );
- break;
- case 'e':
-- glyr_opt_img_maxsize(glyrs, atoi(optarg));
-+ glyr_opt_img_maxsize (glyrs,atoi (optarg) );
- break;
- case 'n':
-- glyr_opt_number(glyrs, atoi(optarg));
-+ glyr_opt_number (glyrs,atoi (optarg) );
- break;
- case 'o':
-- glyr_opt_lang_aware_only(glyrs, true);
-+ glyr_opt_lang_aware_only (glyrs,true);
- break;
- case 'd':
-- glyr_opt_download(glyrs, true);
-+ glyr_opt_download (glyrs,true);
- break;
- case 'D':
-- glyr_opt_download(glyrs, false);
-+ glyr_opt_download (glyrs,false);
- break;
-- case 'c': {
-- char *path = g_strdup(optarg);
-+ case 'c':
-+ {
-+ char * path = g_strdup(optarg);
- if(path == NULL) {
- path = create_cache_directory();
- }
-
-- GlyrDatabase *new_db = glyr_db_init(path);
-- if(db == NULL) {
-- cprint(DEFAULT, -1, NULL, "Unable to open or create a database at specified path.\n");
-- exit(EXIT_FAILURE);
-+ GlyrDatabase * new_db = glyr_db_init (path);
-+ if (db == NULL)
-+ {
-+ cprint (DEFAULT,-1,NULL,"Unable to open or create a database at specified path.\n");
-+ exit (EXIT_FAILURE);
- }
- *db = new_db;
-- glyr_opt_db_autowrite(glyrs, TRUE);
-- glyr_opt_lookup_db(glyrs, new_db);
-+ glyr_opt_db_autowrite (glyrs,TRUE);
-+ glyr_opt_lookup_db (glyrs,new_db);
- g_free(path);
- }
- break;
- case 'l':
-- glyr_opt_lang(glyrs, optarg);
-+ glyr_opt_lang (glyrs,optarg);
- break;
- case 'L':
- visualize_from_options();
-- exit(0);
-+ exit (0);
- break;
- case 'z':
-- glyr_opt_fuzzyness(glyrs, atoi(optarg));
-+ glyr_opt_fuzzyness (glyrs,atoi (optarg) );
- break;
- case 'j':
- CBData->exec_on_call = optarg;
- break;
- case 'k':
-- glyr_opt_proxy(glyrs, optarg);
-+ glyr_opt_proxy (glyrs,optarg);
- break;
- case 'q':
-- glyr_opt_qsratio(glyrs, atof(optarg));
-+ glyr_opt_qsratio (glyrs,atof (optarg) );
- break;
- case 'F':
-- glyr_opt_allowed_formats(glyrs, optarg);
-+ glyr_opt_allowed_formats (glyrs,optarg);
- break;
- case '8':
-- glyr_opt_force_utf8(glyrs, true);
-+ glyr_opt_force_utf8 (glyrs,true);
- break;
- case 's':
-- glyr_opt_musictree_path(glyrs, optarg);
-+ glyr_opt_musictree_path (glyrs,optarg);
- break;
- case 'g':
- CBData->as_one = true;
-@@ -546,36 +564,38 @@ static void parse_commandline_general(int argc, char *const *argv, GlyrQuery *gl
- CBData->as_one = false;
- break;
- case 'y':
-- enable_color(true);
-+ enable_color (true);
- break;
- case 'Y':
-- enable_color(false);
-- break;
-- case 'N': {
-- GLYR_NORMALIZATION norm = 0;
-- if(g_ascii_strcasecmp(optarg, "aggressive") == 0) {
-- norm = GLYR_NORMALIZE_AGGRESSIVE;
-- } else if(g_ascii_strcasecmp(optarg, "moderate") == 0) {
-- norm = GLYR_NORMALIZE_MODERATE;
-- } else if(g_ascii_strcasecmp(optarg, "none") == 0) {
-- norm = GLYR_NORMALIZE_NONE;
-- } else {
-- cprint(RED, -1, NULL, "No valid normalization level: '%s'\n", optarg);
-- exit(-1);
-- }
-+ enable_color (false);
-+ break;
-+ case 'N':
-+ {
-+ GLYR_NORMALIZATION norm = 0;
-+ if (g_ascii_strcasecmp (optarg, "aggressive") == 0)
-+ norm = GLYR_NORMALIZE_AGGRESSIVE;
-+ else if (g_ascii_strcasecmp (optarg, "moderate") == 0)
-+ norm = GLYR_NORMALIZE_MODERATE;
-+ else if (g_ascii_strcasecmp (optarg, "none") == 0)
-+ norm = GLYR_NORMALIZE_NONE;
-+ else
-+ {
-+ cprint (RED,-1,NULL,"No valid normalization level: '%s'\n", optarg);
-+ exit(-1);
-+ }
-
-- norm |= GLYR_NORMALIZE_ALL;
-+ norm |= GLYR_NORMALIZE_ALL;
-
-- glyr_opt_normalize(glyrs, norm);
-- }
-- break;
-+ glyr_opt_normalize(glyrs, norm);
-+ }
-+ break;
- case '?':
-- cprint(RED, -1, NULL, "Option \"%s\" is not known\n", argv[optind - 1]);
-- exit(-1);
-+ cprint (RED,-1,NULL,"Option \"%s\" is not known\n",argv[optind-1]);
-+ exit (-1);
- break;
- default:
-- cprint(RED, -1, NULL, "Unknown Error while parsing commandline arguments.\n");
-- exit(-1);
-+ cprint (RED,-1,NULL,"Unknown Error while parsing commandline arguments.\n");
-+ exit (-1);
- } // end switch()
- } // end while()
- }
-@@ -584,67 +604,79 @@ static void parse_commandline_general(int argc, char *const *argv, GlyrQuery *gl
- // --------------------------------------------------------- //
- ////////////////////////////////////////////////////////////////
-
--static GLYR_ERROR callback(GlyrMemCache *c, GlyrQuery *s)
-+static GLYR_ERROR callback (GlyrMemCache * c, GlyrQuery * s)
- {
-- callback_data_t *CBQueryData = s->callback.user_pointer;
-- g_assert(CBQueryData);
-+ callback_data_t * CBQueryData = s->callback.user_pointer;
-+ g_assert (CBQueryData);
-
-- char *write_to_path = NULL;
-+ char * write_to_path = NULL;
-
- increment_item_counter();
-
- /* write out 'live' */
-- if(CBQueryData->output_path != NULL) {
-- gsize write_len = strlen(CBQueryData->output_path);
-- if(g_ascii_strncasecmp(CBQueryData->output_path, "stdout", write_len) == 0 ||
-- g_ascii_strncasecmp(CBQueryData->output_path, "stderr", write_len) == 0 ||
-- g_ascii_strncasecmp(CBQueryData->output_path, "null", write_len) == 0) {
-- glyr_cache_write(c, CBQueryData->output_path);
-- } else {
-- if(g_file_test(CBQueryData->output_path, G_FILE_TEST_IS_DIR) == TRUE) {
-- char *filename = escape_colon_expr(":artist:_:album:_:title:_:type:_:number:.:format:", s, c);
-- char *directory = escape_colon_expr(CBQueryData->output_path, s, c);
-- write_to_path = g_strdup_printf("%s%s%s", directory,
-- g_str_has_suffix(directory, G_DIR_SEPARATOR_S) ? "" : G_DIR_SEPARATOR_S,
-- filename);
--
-- g_free(filename);
-- g_free(directory);
-- } else {
-- write_to_path = escape_colon_expr(CBQueryData->output_path, s, c);
-+ if (CBQueryData->output_path != NULL)
-+ {
-+ gsize write_len = strlen (CBQueryData->output_path);
-+ if (g_ascii_strncasecmp (CBQueryData->output_path,"stdout",write_len) == 0 ||
-+ g_ascii_strncasecmp (CBQueryData->output_path,"stderr",write_len) == 0 ||
-+ g_ascii_strncasecmp (CBQueryData->output_path,"null", write_len) == 0)
-+ {
-+ glyr_cache_write (c,CBQueryData->output_path);
-+ }
-+ else
-+ {
-+ if (g_file_test (CBQueryData->output_path,G_FILE_TEST_IS_DIR) == TRUE)
-+ {
-+ char * filename = escape_colon_expr (":artist:_:album:_:title:_:type:_:number:.:format:",s,c);
-+ char * directory = escape_colon_expr (CBQueryData->output_path,s,c);
-+ write_to_path = g_strdup_printf ("%s%s%s",directory,
-+ g_str_has_suffix (directory,G_DIR_SEPARATOR_S) ? "" : G_DIR_SEPARATOR_S,
-+ filename);
-+
-+ g_free (filename);
-+ g_free (directory);
-+ }
-+ else
-+ {
-+ write_to_path = escape_colon_expr (CBQueryData->output_path,s,c);
- }
-
-- if(glyr_cache_write(c, write_to_path) == -1) {
-- cprint(RED, 1, s, "Error: Writing data to <%s> failed.\n", write_to_path);
-+ if (glyr_cache_write (c,write_to_path) == -1)
-+ {
-+ cprint (RED,1,s,"Error: Writing data to <%s> failed.\n",write_to_path);
- }
-
-- set_write_path(write_to_path);
-+ set_write_path (write_to_path);
-
- /* call a program if any specified */
-- if(CBQueryData->exec_on_call != NULL) {
-- char *command = escape_colon_expr(CBQueryData->exec_on_call, s, c);
-+ if (CBQueryData->exec_on_call != NULL)
-+ {
-+ char * command = escape_colon_expr (CBQueryData->exec_on_call,s,c);
-
- /* Call that command */
-- int exitVal = system(command);
-- if(exitVal != EXIT_SUCCESS) {
-- cprint(YELLOW, 3, s, "Warning: cmd returned a value != EXIT_SUCCESS\n");
-+ int exitVal = system (command);
-+ if (exitVal != EXIT_SUCCESS)
-+ {
-+ cprint (YELLOW,3,s,"Warning: cmd returned a value != EXIT_SUCCESS\n");
- }
-- g_free(command);
-+ g_free (command);
- }
- }
- }
-
- /* Text Represantation of this item */
-- cprint(BLUE, 1, s, "\n///// ITEM #%d /////\n", get_item_counter());
-- if(write_to_path != NULL) {
-- cprint(DEFAULT, 1, s, "WRITE to '%s'\n", write_to_path);
-+ cprint (BLUE,1,s,"\n///// ITEM #%d /////\n",get_item_counter() );
-+ if (write_to_path != NULL)
-+ {
-+ cprint (DEFAULT,1,s,"WRITE to '%s'\n",write_to_path);
- //g_free(write_to_path);
- }
-
-- if(s->verbosity > 0) {
-- glyr_cache_print(c);
-+ if (s->verbosity > 0)
-+ {
-+ glyr_cache_print (c);
- }
-- cprint(BLUE, 1, s, "\n////////////////////\n");
-+ cprint (BLUE,1,s,"\n////////////////////\n");
-
- return GLYRE_OK;
- }
-@@ -653,25 +685,29 @@ static GLYR_ERROR callback(GlyrMemCache *c, GlyrQuery *s)
- // --------------------------------------------------------- //
- ////////////////////////////////////////////////////////////////
-
--GLYR_GET_TYPE get_type_from_string(const char *string)
-+GLYR_GET_TYPE get_type_from_string (const char * string)
- {
- GLYR_GET_TYPE result = GLYR_GET_UNKNOWN;
-- if(g_ascii_strncasecmp(string, "none", 4) == 0) {
-+ if (g_ascii_strncasecmp (string,"none",4) == 0)
- return GLYR_GET_ANY;
-- }
-
-- GlyrFetcherInfo *info = glyr_info_get();
-- if(info != NULL) {
-- for(GlyrFetcherInfo *elem = info; elem; elem = elem->next) {
-- if(g_ascii_strncasecmp(elem->name, string, strlen(elem->name)) == 0) {
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ if (info != NULL)
-+ {
-+ for (GlyrFetcherInfo * elem = info; elem; elem = elem->next)
-+ {
-+ if (g_ascii_strncasecmp (elem->name,string,strlen (elem->name) ) == 0)
-+ {
- result = elem->type;
- break;
- }
- }
-- } else {
-- cprint(DEFAULT, -1, NULL, "Warning: Can't get type information. Probably a bug.\n");
- }
-- glyr_info_free(info);
-+ else
-+ {
-+ cprint (DEFAULT,-1,NULL,"Warning: Can't get type information. Probably a bug.\n");
-+ }
-+ glyr_info_free (info);
- return result;
- }
-
-@@ -679,71 +715,75 @@ GLYR_GET_TYPE get_type_from_string(const char *string)
- // --------------------------------------------------------- //
- ////////////////////////////////////////////////////////////////
-
--static gint db_foreach_callback(GlyrQuery *q, GlyrMemCache *c, void *p)
-+static gint db_foreach_callback (GlyrQuery * q, GlyrMemCache * c, void * p)
- {
-- puts("\n////////////////////////////////////\n");
-- cprint(DEFAULT, -1, NULL, "%s :: %s :: %s :: %s\n", q->artist, q->album, q->title, glyr_get_type_to_string(q->type));
-- glyr_cache_print(c);
-+ puts ("\n////////////////////////////////////\n");
-+ cprint (DEFAULT,-1,NULL,"%s :: %s :: %s :: %s\n",q->artist,q->album,q->title,glyr_get_type_to_string (q->type) );
-+ glyr_cache_print (c);
-
-- int *i = p;
-+ int * i = p;
- *i += 1;
- return 0;
- }
-
- //////////////////////////////////////
-
--static void do_iterate_over_db(GlyrDatabase *db)
-+static void do_iterate_over_db (GlyrDatabase * db)
- {
- gint db_item_counter = 0;
-- glyr_db_foreach(db, db_foreach_callback, &db_item_counter);
-- cprint(DEFAULT, -1, NULL, "\n-----------------------------------\n");
-- cprint(DEFAULT, -1, NULL, "=> In total %d items in database.", db_item_counter);
-- cprint(DEFAULT, -1, NULL, "\n-----------------------------------\n");
-- cprint(DEFAULT, -1, NULL, "\n");
-+ glyr_db_foreach (db,db_foreach_callback,&db_item_counter);
-+ cprint (DEFAULT,-1,NULL,"\n-----------------------------------\n");
-+ cprint (DEFAULT,-1,NULL,"=> In total %d items in database.",db_item_counter);
-+ cprint (DEFAULT,-1,NULL,"\n-----------------------------------\n");
-+ cprint (DEFAULT,-1,NULL,"\n");
- }
-
- //////////////////////////////////////
-
--static int do_cache_interface(const char *operation, GlyrQuery *q, GlyrDatabase *db, callback_data_t *cbdata)
-+static int do_cache_interface (const char * operation, GlyrQuery * q, GlyrDatabase * db, callback_data_t * cbdata)
- {
- const char list_op[] = "list";
- const char slct_op[] = "select";
- const char dele_op[] = "delete";
-
-- g_assert(q);
-+ g_assert (q);
-
-- if(db == NULL) {
-- cvprint(RED, "No database specified. Use --cache.\n");
-+ if (db == NULL)
-+ {
-+ cvprint (RED,"No database specified. Use --cache.\n");
- return EXIT_FAILURE;
- }
-
- ////////////////////////////////
-
-- if(g_ascii_strncasecmp(operation, list_op, sizeof(list_op) - 1) == 0) {
-- do_iterate_over_db(db);
-+ if (g_ascii_strncasecmp (operation,list_op,sizeof (list_op) - 1) == 0)
-+ {
-+ do_iterate_over_db (db);
- return EXIT_SUCCESS;
- }
-
- ////////////////////////////////
-
-- if(g_ascii_strncasecmp(operation, dele_op, sizeof(dele_op) - 1) == 0) {
-- int killed_items = glyr_db_delete(db, q);
-- cvprint(BLUE, "Deleted %d items from the db.", killed_items);
-+ if (g_ascii_strncasecmp (operation,dele_op,sizeof (dele_op) - 1) == 0)
-+ {
-+ int killed_items = glyr_db_delete (db,q);
-+ cvprint (BLUE,"Deleted %d items from the db.",killed_items);
- return killed_items > 0;
- }
-
- ////////////////////////////////
-
-- if(g_ascii_strncasecmp(operation, slct_op, sizeof(slct_op) - 1) == 0) {
-- GlyrMemCache *list = glyr_db_lookup(db, q);
-- GlyrMemCache *iter = list;
-+ if (g_ascii_strncasecmp (operation,slct_op,sizeof (slct_op) - 1) == 0)
-+ {
-+ GlyrMemCache * list = glyr_db_lookup (db,q);
-+ GlyrMemCache * iter = list;
-
- if(iter == NULL) {
- return EXIT_FAILURE;
- }
-
- q->callback.user_pointer = cbdata;
-- while(iter != NULL) {
-+ while (iter != NULL) {
- callback(iter, q);
- iter = iter->next;
- }
-@@ -757,31 +797,36 @@ static int do_cache_interface(const char *operation, GlyrQuery *q, GlyrDatabase
-
- //////////////////////////////////////
-
--static bool parse_type_argument(const char *argvi, GlyrQuery *qp)
-+static bool parse_type_argument (const char * argvi, GlyrQuery * qp)
- {
- bool retv = false;
-
-- g_assert(qp);
--
-- if(argvi != NULL) {
-- GLYR_GET_TYPE type = get_type_from_string(argvi);
-- if(type == GLYR_GET_UNKNOWN) {
-- cvprint(RED, "Error: \"%s\" is not a know getter.\n", argvi);
-- cvprint(DEFAULT, "Currently available are:\n");
-- GlyrFetcherInfo *info = glyr_info_get();
-- GlyrFetcherInfo *iter = info;
-- while(iter != NULL) {
-- cvprint(BLUE, " * %s\n", iter->name);
-+ g_assert (qp);
-+
-+ if (argvi != NULL)
-+ {
-+ GLYR_GET_TYPE type = get_type_from_string (argvi);
-+ if (type == GLYR_GET_UNKNOWN)
-+ {
-+ cvprint (RED,"Error: \"%s\" is not a know getter.\n",argvi);
-+ cvprint (DEFAULT,"Currently available are:\n");
-+ GlyrFetcherInfo * info = glyr_info_get();
-+ GlyrFetcherInfo * iter = info;
-+ while (iter != NULL)
-+ {
-+ cvprint (BLUE," * %s\n",iter->name);
- iter = iter->next;
- }
-- glyr_info_free(info);
-+ glyr_info_free (info);
-
-- suggest_other_getter(qp, argvi);
-- cvprint(DEFAULT, "\nSee `glyrc -L` for a detailed list\n");
-+ suggest_other_getter (qp,argvi);
-+ cvprint (DEFAULT,"\nSee `glyrc -L` for a detailed list\n");
- retv = false;
-
-- } else {
-- glyr_opt_type(qp, type);
-+ }
-+ else
-+ {
-+ glyr_opt_type (qp,type);
- retv = true;
- }
- }
-@@ -791,21 +836,21 @@ static bool parse_type_argument(const char *argvi, GlyrQuery *qp)
-
- //////////////////////////////////////
-
--static GlyrMemCache *concatenate_list(GlyrMemCache *list)
-+static GlyrMemCache * concatenate_list (GlyrMemCache * list)
- {
-- if(list == NULL) {
-+ if (list == NULL)
- return NULL;
-- }
-
-- GlyrMemCache *iter = list;
-- GlyrMemCache *retv = glyr_cache_copy(list);
-- gchar *concat_data = g_strdup("");
-+ GlyrMemCache * iter = list;
-+ GlyrMemCache * retv = glyr_cache_copy (list);
-+ gchar * concat_data = g_strdup ("");
-
- retv->duration = 0;
-
-- while(iter != NULL) {
-- gchar *tmp = g_strdup_printf("%s%s\n", concat_data, iter->data);
-- g_free(concat_data);
-+ while (iter != NULL)
-+ {
-+ gchar * tmp = g_strdup_printf ("%s%s\n",concat_data,iter->data);
-+ g_free (concat_data);
- concat_data = tmp;
- retv->duration += iter->duration;
- iter = iter->next;
-@@ -814,30 +859,30 @@ static GlyrMemCache *concatenate_list(GlyrMemCache *list)
- retv->next = NULL;
- retv->prev = NULL;
-
-- glyr_cache_set_data(retv, concat_data, -1);
-- glyr_free_list(list);
-+ glyr_cache_set_data (retv,concat_data,-1);
-+ glyr_free_list (list);
- return retv;
- }
-
- //////////////////////////////////////
-
--static void global_cleanup(void)
-+static void global_cleanup (void)
- {
-- set_write_path(NULL);
-+ set_write_path (NULL);
- }
-
- //////////////////////////////////////
-
--int main(int argc, char *argv[])
-+int main (int argc, char * argv[])
- {
-- /* Set the loghandler (used by cprint(DEFAULT, ) */
-- g_log_set_handler(LOG_DOMAIN ,
-- G_LOG_LEVEL_MASK |
-- G_LOG_FLAG_FATAL |
-- G_LOG_FLAG_RECURSION,
-- log_func, NULL);
--
-- atexit(global_cleanup);
-+ /* Set the loghandler (used by cprint(DEFAULT,)) */
-+ g_log_set_handler (LOG_DOMAIN ,
-+ G_LOG_LEVEL_MASK |
-+ G_LOG_FLAG_FATAL |
-+ G_LOG_FLAG_RECURSION,
-+ log_func, NULL);
-+
-+ atexit (global_cleanup);
- init_signals();
-
- /* Assume failure, as always in life */
-@@ -848,87 +893,112 @@ int main(int argc, char *argv[])
- * Both functions are not threadsafe!
- * */
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
-- if(argc >= 2 && argv[1][0] != '-' && strcmp(argv[1], "cache") != 0) {
-+ if (argc >= 2 && argv[1][0] != '-' && strcmp (argv[1],"cache") != 0)
-+ {
- callback_data_t CBQueryData = INIT_CALLBACK_DATA;
-- GlyrDatabase *db = NULL;
-+ GlyrDatabase * db = NULL;
- GlyrQuery my_query;
-
-- glyr_query_init(&my_query);
-- glyr_opt_verbosity(&my_query, 2);
-+ glyr_query_init (&my_query);
-+ glyr_opt_verbosity (&my_query,2);
-
-- init_cancel_handler(&my_query);
-+ init_cancel_handler (&my_query);
-
-- if(parse_type_argument(argv[1], &my_query)) {
-+ if (parse_type_argument (argv[1],&my_query) )
-+ {
- int length = -1;
- GLYR_ERROR get_error = GLYRE_OK;
-
-- parse_commandline_general(argc - 1, argv + 1, &my_query, &CBQueryData, &db);
-- SET_IF_NULL(CBQueryData.output_path, ".");
-+ parse_commandline_general (argc-1, argv+1, &my_query,&CBQueryData,&db);
-+ SET_IF_NULL (CBQueryData.output_path,".");
-
-- if(CBQueryData.as_one == false || glyr_type_is_image(my_query.type)) {
-- glyr_opt_dlcallback(&my_query, callback, &CBQueryData);
-+ if (CBQueryData.as_one == false || glyr_type_is_image (my_query.type) )
-+ {
-+ glyr_opt_dlcallback (&my_query, callback, &CBQueryData);
- }
-
- /* Doing the 'hard' work here. */
-- GlyrMemCache *my_list = glyr_get(&my_query, &get_error, &length);
-+ GlyrMemCache * my_list = glyr_get (&my_query, &get_error, &length);
-
-- if(my_list != NULL) {
-+ if (my_list != NULL)
-+ {
- exit_code = EXIT_SUCCESS;
-
-- if(CBQueryData.as_one && glyr_type_is_image(my_query.type) == false) {
-- GlyrMemCache *concat = concatenate_list(my_list);
-- glyr_opt_dlcallback(&my_query, callback, &CBQueryData);
-- callback(concat, &my_query);
-+ if (CBQueryData.as_one && glyr_type_is_image (my_query.type) == false)
-+ {
-+ GlyrMemCache * concat = concatenate_list (my_list);
-+ glyr_opt_dlcallback (&my_query, callback, &CBQueryData);
-+ callback (concat,&my_query);
-
-- glyr_cache_free(concat);
-- } else {
-+ glyr_cache_free (concat);
-+ }
-+ else
-+ {
- /* Free all downloaded buffers */
-- glyr_free_list(my_list);
-- cprint(YELLOW, 2, &my_query, "# => %d item%s in total.\n", length, length == 1 ? "" : "s");
-+ glyr_free_list (my_list);
-+ cprint (YELLOW,2,&my_query,"# => %d item%s in total.\n",length,length == 1 ? "" : "s");
- }
-- } else if(get_error == GLYRE_NO_PROVIDER) {
-- cvprint(RED, "Error `--from %s` does not contain any valid provider.\n", my_query.from);
-- cvprint(RED, " See `glyrc -L` for a list.\n");
-- suggest_other_provider(&my_query, my_query.from);
-- } else if(get_error != GLYRE_OK) {
-- cprint(RED, 1, &my_query, "Error: %s\n", glyr_strerror(get_error));
-+ }
-+ else if (get_error == GLYRE_NO_PROVIDER)
-+ {
-+ cvprint (RED,"Error `--from %s` does not contain any valid provider.\n",my_query.from);
-+ cvprint (RED," See `glyrc -L` for a list.\n");
-+ suggest_other_provider (&my_query,my_query.from);
-+ }
-+ else if (get_error != GLYRE_OK)
-+ {
-+ cprint (RED,1,&my_query,"Error: %s\n",glyr_strerror (get_error) );
- }
- }
-
-- glyr_db_destroy(db);
-- glyr_query_destroy(&my_query);
-- } else if(argc >= 2 && strcmp(argv[1], "cache") == 0) {
-- if(argc >= 3) {
-+ glyr_db_destroy (db);
-+ glyr_query_destroy ( &my_query);
-+ }
-+ else if (argc >= 2 && strcmp (argv[1],"cache") == 0)
-+ {
-+ if (argc >= 3)
-+ {
- GlyrQuery db_query;
-- GlyrDatabase *db = NULL;
-+ GlyrDatabase * db = NULL;
- callback_data_t CBQueryData = INIT_CALLBACK_DATA;
-- SET_IF_NULL(CBQueryData.output_path, ".");
-+ SET_IF_NULL (CBQueryData.output_path,".");
-
-- glyr_query_init(&db_query);
-- glyr_opt_verbosity(&db_query, 2);
-+ glyr_query_init (&db_query);
-+ glyr_opt_verbosity (&db_query,2);
-
-- if(argc >= 4 && strcmp("list", argv[2]) != 0) {
-- parse_type_argument(argv[3], &db_query);
-+ if (argc >= 4 && strcmp("list", argv[2]) != 0)
-+ {
-+ parse_type_argument (argv[3],&db_query);
- }
-
-- parse_commandline_general(argc - 2, argv + 2, &db_query, &CBQueryData, &db);
-- do_cache_interface(argv[2], &db_query, db, &CBQueryData);
-- } else {
-- cvprint(RED, "Error: 'cache': needs another argument:\n");
-- cvprint(RED, " * select [opts]\n");
-- cvprint(RED, " * delete [opts]\n");
-- cvprint(RED, " * list\n");
-+ parse_commandline_general (argc-2, argv+2,&db_query,&CBQueryData,&db);
-+ do_cache_interface (argv[2],&db_query,db, &CBQueryData);
-+ }
-+ else
-+ {
-+ cvprint (RED,"Error: 'cache': needs another argument:\n");
-+ cvprint (RED," * select [opts]\n");
-+ cvprint (RED," * delete [opts]\n");
-+ cvprint (RED," * list\n");
- }
-- } else if(argc >= 2 && (!strcmp(argv[1], "-U") || !strcmp(argv[1], "--update"))) {
-+ }
-+ else if (argc >= 2 && (!strcmp (argv[1],"-U") || !strcmp (argv[1],"--update") ) )
-+ {
- update();
-- } else if(argc >= 2 && (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
-- print_version(NULL);
-- } else if(argc >= 2 && (!strcmp(argv[1], "-L") || !strcmp(argv[1], "--list"))) {
-+ }
-+ else if (argc >= 2 && (!strcmp (argv[1],"-V") || !strcmp (argv[1],"--version") ) )
-+ {
-+ print_version (NULL);
-+ }
-+ else if (argc >= 2 && (!strcmp (argv[1],"-L") || !strcmp (argv[1],"--list") ) )
-+ {
- visualize_from_options();
-- } else {
-- help_short(NULL);
-+ }
-+ else
-+ {
-+ help_short (NULL);
- }
-
- return exit_code;
-diff --git a/src/glyrc/update.c b/src/glyrc/update.c
-index 2651638..e8f2bb7 100644
---- a/src/glyrc/update.c
-+++ b/src/glyrc/update.c
-@@ -30,23 +30,26 @@
-
- /////////////////////////////////
-
--static gboolean check_version(gboolean *errord)
-+static gboolean check_version (gboolean * errord)
- {
- gboolean result = FALSE;
- GlyrQuery q;
-- glyr_query_init(&q);
-- glyr_opt_verbosity(&q, 3);
-+ glyr_query_init (&q);
-+ glyr_opt_verbosity (&q,3);
-
-- GlyrMemCache *version_page = glyr_download(GLYR_VERSION_URL, &q);
-- if(version_page != NULL && version_page->data != NULL) {
-- glong version = strtol(version_page->data, NULL, 10);
-+ GlyrMemCache * version_page = glyr_download (GLYR_VERSION_URL,&q);
-+ if (version_page != NULL && version_page->data != NULL)
-+ {
-+ glong version = strtol (version_page->data,NULL,10);
- glong current = GLYR_VERSION_MAJOR_INT * 100 + GLYR_VERSION_MINOR_INT * 10 + GLYR_VERSION_MICRO_INT;
- result = (version > current);
-- } else {
-+ }
-+ else
-+ {
- *errord = TRUE;
- }
-
-- glyr_query_destroy(&q);
-+ glyr_query_destroy (&q);
- return result;
- }
-
-@@ -78,18 +81,24 @@ static gboolean check_version(gboolean *errord)
- /********************************************************************/
-
-
--void update(void)
-+void update (void)
- {
- gboolean error = FALSE;
-- if(check_version(&error)) {
-- g_printerr("Updating:\n");
-- if(system(UPDATE_SCRIPT) == -1) {
-- g_printerr("Warning: the script returned a bad exitstatus.\n");
-+ if (check_version (&error) )
-+ {
-+ g_printerr ("Updating:\n");
-+ if (system (UPDATE_SCRIPT) == -1)
-+ {
-+ g_printerr ("Warning: the script returned a bad exitstatus.\n");
- }
-- } else if(error) {
-- g_printerr("Error while updating.\n");
-- } else {
-- g_printerr("No updates found.\n");
-+ }
-+ else if (error)
-+ {
-+ g_printerr ("Error while updating.\n");
-+ }
-+ else
-+ {
-+ g_printerr ("No updates found.\n");
- }
- }
-
-diff --git a/src/utils/clean_db.c b/src/utils/clean_db.c
-index 5e6a260..45485d2 100644
---- a/src/utils/clean_db.c
-+++ b/src/utils/clean_db.c
-@@ -6,47 +6,56 @@
-
- static bool do_delete = false;
-
--static int foreach_callback(GlyrQuery *q, GlyrMemCache *item, void *userptr)
-+static int foreach_callback (GlyrQuery *q, GlyrMemCache *item, void *userptr)
- {
-- GlyrDatabase *db = (GlyrDatabase *) userptr;
-+ GlyrDatabase * db = (GlyrDatabase*) userptr;
-
-- g_assert(item);
-- g_assert(db);
-+ g_assert (item);
-+ g_assert (db);
-
-- if(item->rating == -1) {
-- g_printerr("----------------\n");
-- glyr_cache_print(item);
-+ if (item->rating == -1)
-+ {
-+ g_printerr ("----------------\n");
-+ glyr_cache_print (item);
-
-- if(do_delete) {
-- glyr_db_delete(db, q);
-+ if (do_delete)
-+ {
-+ glyr_db_delete (db,q);
- }
- }
-
- return 0;
- }
-
--int main(int argc, char const *argv[])
-+int main (int argc, char const *argv[])
- {
-
- glyr_init();
-- atexit(glyr_cleanup);
-+ atexit (glyr_cleanup);
-
-- if(argc > 1) {
-+ if (argc > 1)
-+ {
-
-- GlyrDatabase *db = glyr_db_init(argv[1]);
-- if(db != NULL) {
-+ GlyrDatabase * db = glyr_db_init (argv[1]);
-+ if (db != NULL)
-+ {
-
-- if(argv[2] != NULL && strcmp(argv[2], "delete") == 0) {
-+ if (argv[2] != NULL && strcmp (argv[2],"delete") == 0)
-+ {
- do_delete = true;
- }
-
-- glyr_db_foreach(db, foreach_callback, db);
-- } else {
-- g_message("Could not open DB at %s", argv[1]);
-+ glyr_db_foreach (db,foreach_callback,db);
- }
-- } else {
-+ else
-+ {
-+ g_message ("Could not open DB at %s",argv[1]);
-+ }
-+ }
-+ else
-+ {
-
-- g_message("Usage: %s /path/to/db/directory [delete]", argv[0]);
-+ g_message ("Usage: %s /path/to/db/directory [delete]",argv[0]);
- }
- return EXIT_SUCCESS;
- }
-diff --git a/src/utils/guess_lang.c b/src/utils/guess_lang.c
-index 06dabf2..2fe72a5 100644
---- a/src/utils/guess_lang.c
-+++ b/src/utils/guess_lang.c
-@@ -23,73 +23,82 @@
- #include <glib.h>
- #include <string.h>
-
--const gchar *map_language[][2] = {
-- {"en_US", "us"},
-- {"en_CA", "ca"},
-- {"en_UK", "uk"}
-+const gchar * map_language[][2] =
-+{
-+ {"en_US","us"},
-+ {"en_CA","ca"},
-+ {"en_UK","uk"}
- };
-
--#define END_STRING(STR, HAR) {gchar * term = strchr(STR, HAR); if(term) *term = 0;}
-+#define END_STRING(STR,CHAR) {gchar * term = strchr(STR,CHAR); if(term) *term = 0;}
-
- /**
- * @brief Guesses the users language (in ISO639-1 codes like 'de') by the system locale
- *
- * @return a newly allocated language code. Free.
- */
--gchar *guess_lang(void)
-+gchar * guess_lang (void)
- {
- /* Default to 'en' in any case */
-- gchar *result_lang = g_strdup("en");
-+ gchar * result_lang = g_strdup ("en");
-
--#if GLIB_CHECK_VERSION(2, 8, )
-+#if GLIB_CHECK_VERSION(2,28,0)
- gboolean break_out = FALSE;
-
- /* Please never ever free this */
-- const gchar *const *languages = g_get_language_names();
-+ const gchar * const * languages = g_get_language_names();
-
-- for(gint i = 0; languages[i] && break_out == FALSE; i++) {
-- gchar **variants = g_get_locale_variants(languages[i]);
-- for(gint j = 0; variants[j] && !break_out; j++) {
-+ for (gint i = 0; languages[i] && break_out == FALSE; i++)
-+ {
-+ gchar ** variants = g_get_locale_variants (languages[i]);
-+ for (gint j = 0; variants[j] && !break_out; j++)
-+ {
- /* Look up if we need to map a language */
-- gchar *to_investigate = variants[j];
-- gint map_size = (sizeof(map_language) / (2 * sizeof(char *)));
-- for(gint map = 0; map < map_size; map++) {
-- const gchar *to_map = map_language[map][0];
-- gsize map_len = strlen(to_map);
-- if(g_ascii_strncasecmp(to_map, to_investigate, map_len) == 0) {
-- to_investigate = (gchar *) map_language[map][1];
-- g_print("Mapping language to %s\n", to_investigate);
-+ gchar * to_investigate = variants[j];
-+ gint map_size = (sizeof (map_language) / (2 * sizeof (char*) ) );
-+ for (gint map = 0; map < map_size; map++)
-+ {
-+ const gchar * to_map = map_language[map][0];
-+ gsize map_len = strlen (to_map);
-+ if (g_ascii_strncasecmp (to_map,to_investigate,map_len) == 0)
-+ {
-+ to_investigate = (gchar*) map_language[map][1];
-+ g_print ("Mapping language to %s\n",to_investigate);
- break;
- }
- }
-
- gboolean allowed_lang = TRUE;
-
-- if(allowed_lang &&
-- g_ascii_strncasecmp("en", to_investigate, 2) != 0 &&
-- g_ascii_strncasecmp("C", to_investigate, 1) != 0 &&
-- !strchr(to_investigate, '@') && !strchr(to_investigate, '.')) {
-- g_free(result_lang);
-- result_lang = g_strdup(to_investigate);
-+ if (allowed_lang &&
-+ g_ascii_strncasecmp ("en",to_investigate,2) != 0 &&
-+ g_ascii_strncasecmp ("C", to_investigate,1) != 0 &&
-+ !strchr (to_investigate,'@') && !strchr (to_investigate,'.') )
-+ {
-+ g_free (result_lang);
-+ result_lang = g_strdup (to_investigate);
- break_out = TRUE;
- }
- }
-- g_strfreev(variants);
-+ g_strfreev (variants);
- }
-
--#elif GLIB_CHECK_VERSION(2, 6, )
-+#elif GLIB_CHECK_VERSION(2,26,0)
-
- /* Fallback to simpler version of the above,
- * g_get_locale_variants is not there in this version
- */
-- const gchar *const *possible_locales = g_get_language_names();
-- if(possible_locales != NULL) {
-+ const gchar * const * possible_locales = g_get_language_names();
-+ if (possible_locales != NULL)
-+ {
- /* might be a bit weird */
-- for(gint i = 0; possible_locales[i]; i++) {
-- if(g_ascii_strncasecmp("en", possible_locales[i], 2) != 0 &&
-- g_ascii_strncasecmp("C", possible_locales[i], 1) != 0) {
-- g_free(result_lang);
-- result_lang = g_strdup(possible_locales[i]);
-+ for (gint i = 0; possible_locales[i]; i++)
-+ {
-+ if (g_ascii_strncasecmp ("en",possible_locales[i],2) != 0 &&
-+ g_ascii_strncasecmp ("C", possible_locales[i],1) != 0)
-+ {
-+ g_free (result_lang);
-+ result_lang = g_strdup (possible_locales[i]);
- break;
- }
- }
-@@ -99,13 +108,13 @@ gchar *guess_lang(void)
- * Fallback to "en" always.
- * Gaaah... shame on you if this happens to you ;-)
- */
-- puts("GLib version 2.28 is needed to execute this properly.");
-+ puts ("GLib version 2.28 is needed to execute this properly.");
- #endif
-
- /* Properly terminate string */
-- END_STRING(result_lang, '_');
-- END_STRING(result_lang, '@');
-- END_STRING(result_lang, '.');
-+ END_STRING (result_lang,'_');
-+ END_STRING (result_lang,'@');
-+ END_STRING (result_lang,'.');
-
- /* We don't need it anymore */
- #undef END_STRING
-@@ -113,12 +122,13 @@ gchar *guess_lang(void)
- return result_lang;
- }
-
--int main(int argc, const char *argv[])
-+int main (int argc, const char *argv[])
- {
-- gchar *lang = guess_lang();
-- if(lang != NULL) {
-- puts(lang);
-- g_free(lang);
-+ gchar * lang = guess_lang();
-+ if (lang != NULL)
-+ {
-+ puts (lang);
-+ g_free (lang);
- }
- return 0;
- }
-diff --git a/src/utils/ping_url.c b/src/utils/ping_url.c
-index 088deff..52f6e3c 100644
---- a/src/utils/ping_url.c
-+++ b/src/utils/ping_url.c
-@@ -28,58 +28,68 @@
-
- /* Simple testprogram to check the content-type header of any website given on the cmd. */
-
--struct header_data {
-- gchar *type;
-- gchar *format;
-- gchar *extra;
-+struct header_data
-+{
-+ gchar * type;
-+ gchar * format;
-+ gchar * extra;
- };
-
- /* Parse header file. Get Contenttype from it and save it in the header_data struct */
--gsize header_cb(void *ptr, gsize size, gsize nmemb, void *userdata)
-+gsize header_cb (void *ptr, gsize size, gsize nmemb, void *userdata)
- {
- gsize bytes = size * nmemb;
-- if(ptr != NULL && userdata != NULL) {
-+ if (ptr != NULL && userdata != NULL)
-+ {
- /* Transform safely into string */
- gchar nulbuf[bytes + 1];
-- memcpy(nulbuf, ptr, bytes);
-+ memcpy (nulbuf,ptr,bytes);
- nulbuf[bytes] = '\0';
-
- /* We're only interested in the content type */
-- gchar *cttp = "Content-Type: ";
-- gsize ctt_len = strlen(cttp);
-- if(ctt_len < bytes && g_ascii_strncasecmp(cttp, nulbuf, ctt_len) == 0) {
-- gchar **content_type = g_strsplit_set(nulbuf + ctt_len, " /;", 0);
-- if(content_type != NULL) {
-+ gchar * cttp = "Content-Type: ";
-+ gsize ctt_len = strlen (cttp);
-+ if (ctt_len < bytes && g_ascii_strncasecmp (cttp,nulbuf,ctt_len) == 0)
-+ {
-+ gchar ** content_type = g_strsplit_set (nulbuf + ctt_len," /;",0);
-+ if (content_type != NULL)
-+ {
- gsize set_at = 0;
-- gchar **elem = content_type;
-- struct header_data *info = userdata;
-+ gchar ** elem = content_type;
-+ struct header_data * info = userdata;
-
- /* Set fields.. */
-- while(elem[0] != NULL) {
-- if(elem[0][0] != '\0') {
-- switch(set_at) {
-+ while (elem[0] != NULL)
-+ {
-+ if (elem[0][0] != '\0')
-+ {
-+ switch (set_at)
-+ {
- case 0:
-- g_free(info->type);
-- info->type = g_strdup(elem[0]);
-+ g_free (info->type);
-+ info->type = g_strdup (elem[0]);
- break;
- case 1:
-- g_free(info->format);
-- if(g_ascii_strncasecmp(elem[0], "octet-stream", 12) == 0) {
-- info->format = g_strdup("jpeg");
-- } else {
-- info->format = g_strdup(elem[0]);
-+ g_free (info->format);
-+ if (g_ascii_strncasecmp (elem[0],"octet-stream",12) == 0)
-+ {
-+ info->format = g_strdup ("jpeg");
-+ }
-+ else
-+ {
-+ info->format = g_strdup (elem[0]);
- }
- break;
- case 2:
-- g_free(info->extra);
-- info->extra = g_strdup(elem[0]);
-+ g_free (info->extra);
-+ info->extra = g_strdup (elem[0]);
- break;
- }
- set_at++;
- }
- elem++;
- }
-- g_strfreev(content_type);
-+ g_strfreev (content_type);
- }
- }
- }
-@@ -87,18 +97,21 @@ gsize header_cb(void *ptr, gsize size, gsize nmemb, void *userdata)
- }
-
- /* just prevent writing header to stdout */
--gsize empty_cb(void *p, gsize s, gsize n, void *u)
-+gsize empty_cb (void * p, gsize s, gsize n, void * u)
- {
-- return s * n;
-+ return s*n;
- };
-
-
--void chomp_breakline(gchar *string)
-+void chomp_breakline (gchar * string)
- {
-- if(string != NULL) {
-- gsize len = strlen(string);
-- while(--len != 0) {
-- if(string[len] == '\n') {
-+ if (string != NULL)
-+ {
-+ gsize len = strlen (string);
-+ while (--len != 0)
-+ {
-+ if (string[len] == '\n')
-+ {
- string[len] = '\0';
- break;
- }
-@@ -106,61 +119,69 @@ void chomp_breakline(gchar *string)
- }
- }
-
--static struct header_data *url_is_gettable(gchar *url)
-+static struct header_data * url_is_gettable (gchar * url)
- {
-- struct header_data *info = NULL;
-- if(url != NULL) {
-- CURL *eh = curl_easy_init();
-+ struct header_data * info = NULL;
-+ if (url != NULL)
-+ {
-+ CURL * eh = curl_easy_init();
- CURLcode rc = CURLE_OK;
-
-- info = g_malloc0(sizeof(struct header_data));
-+ info = g_malloc0 (sizeof (struct header_data) );
-
-- curl_easy_setopt(eh, CURLOPT_TIMEOUT, 3);
-- curl_easy_setopt(eh, CURLOPT_NOSIGNAL, 1L);
-- curl_easy_setopt(eh, CURLOPT_USERAGENT, GLYR_DEFAULT_USERAGENT"/linkvalidator");
-- curl_easy_setopt(eh, CURLOPT_URL, url);
-- curl_easy_setopt(eh, CURLOPT_FOLLOWLOCATION, TRUE);
-- curl_easy_setopt(eh, CURLOPT_HEADER, TRUE);
-- curl_easy_setopt(eh, CURLOPT_NOBODY, TRUE);
-- curl_easy_setopt(eh, CURLOPT_HEADERFUNCTION, header_cb);
-- curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, empty_cb);
-- curl_easy_setopt(eh, CURLOPT_WRITEHEADER, info);
-+ curl_easy_setopt (eh, CURLOPT_TIMEOUT, 3);
-+ curl_easy_setopt (eh, CURLOPT_NOSIGNAL, 1L);
-+ curl_easy_setopt (eh, CURLOPT_USERAGENT, GLYR_DEFAULT_USERAGENT"/linkvalidator");
-+ curl_easy_setopt (eh, CURLOPT_URL,url);
-+ curl_easy_setopt (eh, CURLOPT_FOLLOWLOCATION, TRUE);
-+ curl_easy_setopt (eh, CURLOPT_HEADER,TRUE);
-+ curl_easy_setopt (eh, CURLOPT_NOBODY,TRUE);
-+ curl_easy_setopt (eh, CURLOPT_HEADERFUNCTION, header_cb);
-+ curl_easy_setopt (eh, CURLOPT_WRITEFUNCTION, empty_cb);
-+ curl_easy_setopt (eh, CURLOPT_WRITEHEADER, info);
-
-- curl_easy_setopt(eh, CURLOPT_VERBOSE, TRUE);
-+ curl_easy_setopt (eh, CURLOPT_VERBOSE,TRUE);
-
-- rc = curl_easy_perform(eh);
-- curl_easy_cleanup(eh);
-+ rc = curl_easy_perform (eh);
-+ curl_easy_cleanup (eh);
-
-- if(rc != CURLE_OK) {
-- g_printerr("glyr: ping: E: %s [%d]\n", curl_easy_strerror(rc), rc);
-- g_free(info);
-+ if (rc != CURLE_OK)
-+ {
-+ g_printerr ("glyr: ping: E: %s [%d]\n",curl_easy_strerror (rc),rc);
-+ g_free (info);
- info = NULL;
-
-- } else {
-- chomp_breakline(info->type);
-- chomp_breakline(info->format);
-- chomp_breakline(info->extra);
-+ }
-+ else
-+ {
-+ chomp_breakline (info->type);
-+ chomp_breakline (info->format);
-+ chomp_breakline (info->extra);
- }
- }
- return info;
- }
-
--int main(int argc, char *argv[])
-+int main (int argc, char * argv[])
- {
-- curl_global_init(CURL_GLOBAL_ALL);
-- if(argc > 1) {
-- struct header_data *info;
-- if((info = url_is_gettable(argv[1])) != NULL) {
-- g_print("Type : %s\n", info->type);
-- g_print("Format: %s\n", info->format);
-- g_print("Extra : %s\n", info->extra);
--
-- g_free(info->type);
-- g_free(info->format);
-- g_free(info->extra);
-- g_free(info);
-- } else {
-- g_print("Unexists.\n");
-+ curl_global_init (CURL_GLOBAL_ALL);
-+ if (argc > 1)
-+ {
-+ struct header_data * info;
-+ if ( (info = url_is_gettable (argv[1]) ) != NULL)
-+ {
-+ g_print ("Type : %s\n",info->type);
-+ g_print ("Format: %s\n",info->format);
-+ g_print ("Extra : %s\n",info->extra);
-+
-+ g_free (info->type);
-+ g_free (info->format);
-+ g_free (info->extra);
-+ g_free (info);
-+ }
-+ else
-+ {
-+ g_print ("Unexists.\n");
- }
- }
- curl_global_cleanup();
--
glyr packaging
More information about the pkg-multimedia-commits
mailing list