locate: use const pointers
Pass const pointers where no writes are performed.
This commit is contained in:
parent
d47be76ce0
commit
1e6a26b6ca
|
@ -36,12 +36,12 @@
|
||||||
typedef struct _ListCommandItem {
|
typedef struct _ListCommandItem {
|
||||||
int8_t tagType;
|
int8_t tagType;
|
||||||
int numConditionals;
|
int numConditionals;
|
||||||
LocateTagItem *conditionals;
|
const LocateTagItem *conditionals;
|
||||||
} ListCommandItem;
|
} ListCommandItem;
|
||||||
|
|
||||||
typedef struct _LocateTagItemArray {
|
typedef struct _LocateTagItemArray {
|
||||||
int numItems;
|
int numItems;
|
||||||
LocateTagItem *items;
|
const LocateTagItem *items;
|
||||||
} LocateTagItemArray;
|
} LocateTagItemArray;
|
||||||
|
|
||||||
typedef struct _SearchStats {
|
typedef struct _SearchStats {
|
||||||
|
@ -87,31 +87,24 @@ searchInDirectory(struct song *song, void *_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
int searchForSongsIn(struct client *client, const char *name,
|
int searchForSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items)
|
int numItems, const LocateTagItem * items)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
|
LocateTagItem *new_items =
|
||||||
char **originalNeedles = g_new(char *, numItems);
|
g_memdup(items, sizeof(LocateTagItem) * numItems);
|
||||||
struct search_data data;
|
struct search_data data;
|
||||||
|
|
||||||
for (i = 0; i < numItems; i++) {
|
for (i = 0; i < numItems; i++)
|
||||||
originalNeedles[i] = items[i].needle;
|
new_items[i].needle = g_utf8_casefold(new_items[i].needle, -1);
|
||||||
items[i].needle = g_utf8_casefold(originalNeedles[i], -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
data.client = client;
|
data.client = client;
|
||||||
data.array.numItems = numItems;
|
data.array.numItems = numItems;
|
||||||
data.array.items = items;
|
data.array.items = new_items;
|
||||||
|
|
||||||
ret = db_walk(name, searchInDirectory, NULL, &data);
|
ret = db_walk(name, searchInDirectory, NULL, &data);
|
||||||
|
|
||||||
for (i = 0; i < numItems; i++) {
|
freeLocateTagItemArray(numItems, new_items);
|
||||||
g_free(items[i].needle);
|
|
||||||
items[i].needle = originalNeedles[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
free(originalNeedles);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -129,7 +122,7 @@ findInDirectory(struct song *song, void *_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
int findSongsIn(struct client *client, const char *name,
|
int findSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items)
|
int numItems, const LocateTagItem * items)
|
||||||
{
|
{
|
||||||
struct search_data data;
|
struct search_data data;
|
||||||
|
|
||||||
|
@ -162,7 +155,7 @@ searchStatsInDirectory(struct song *song, void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
int searchStatsForSongsIn(struct client *client, const char *name,
|
int searchStatsForSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items)
|
int numItems, const LocateTagItem * items)
|
||||||
{
|
{
|
||||||
SearchStats stats;
|
SearchStats stats;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -234,7 +227,7 @@ int printInfoForAllIn(struct client *client, const char *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
static ListCommandItem *newListCommandItem(int tagType, int numConditionals,
|
static ListCommandItem *newListCommandItem(int tagType, int numConditionals,
|
||||||
LocateTagItem * conditionals)
|
const LocateTagItem * conditionals)
|
||||||
{
|
{
|
||||||
ListCommandItem *item = g_new(ListCommandItem, 1);
|
ListCommandItem *item = g_new(ListCommandItem, 1);
|
||||||
|
|
||||||
|
@ -295,7 +288,7 @@ listUniqueTagsInDirectory(struct song *song, void *_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
int listAllUniqueTags(struct client *client, int type, int numConditionals,
|
int listAllUniqueTags(struct client *client, int type, int numConditionals,
|
||||||
LocateTagItem * conditionals)
|
const LocateTagItem *conditionals)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ListCommandItem *item = newListCommandItem(type, numConditionals,
|
ListCommandItem *item = newListCommandItem(type, numConditionals,
|
||||||
|
|
|
@ -32,18 +32,18 @@ int addAllInToStoredPlaylist(const char *name, const char *utf8file);
|
||||||
int printInfoForAllIn(struct client *client, const char *name);
|
int printInfoForAllIn(struct client *client, const char *name);
|
||||||
|
|
||||||
int searchForSongsIn(struct client *client, const char *name,
|
int searchForSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items);
|
int numItems, const LocateTagItem * items);
|
||||||
|
|
||||||
int findSongsIn(struct client *client, const char *name,
|
int findSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items);
|
int numItems, const LocateTagItem * items);
|
||||||
|
|
||||||
int searchStatsForSongsIn(struct client *client, const char *name,
|
int searchStatsForSongsIn(struct client *client, const char *name,
|
||||||
int numItems, LocateTagItem * items);
|
int numItems, const LocateTagItem * items);
|
||||||
|
|
||||||
unsigned long sumSongTimesIn(const char *name);
|
unsigned long sumSongTimesIn(const char *name);
|
||||||
|
|
||||||
int listAllUniqueTags(struct client *client, int type, int numConditiionals,
|
int listAllUniqueTags(struct client *client, int type, int numConditiionals,
|
||||||
LocateTagItem * conditionals);
|
const LocateTagItem *conditionals);
|
||||||
|
|
||||||
void printSavedMemoryFromFilenames(void);
|
void printSavedMemoryFromFilenames(void);
|
||||||
|
|
||||||
|
|
12
src/locate.c
12
src/locate.c
|
@ -127,7 +127,7 @@ void freeLocateTagItem(LocateTagItem * item)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
strstrSearchTag(struct song *song, enum tag_type type, char *str)
|
strstrSearchTag(const struct song *song, enum tag_type type, const char *str)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char *duplicate;
|
char *duplicate;
|
||||||
|
@ -177,7 +177,8 @@ strstrSearchTag(struct song *song, enum tag_type type, char *str)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
strstrSearchTags(struct song *song, int numItems, LocateTagItem *items)
|
strstrSearchTags(const struct song *song, int numItems,
|
||||||
|
const LocateTagItem *items)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -192,7 +193,8 @@ strstrSearchTags(struct song *song, int numItems, LocateTagItem *items)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
tagItemFoundAndMatches(struct song *song, enum tag_type type, char *str)
|
tagItemFoundAndMatches(const struct song *song, enum tag_type type,
|
||||||
|
const char *str)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int8_t visitedTypes[TAG_NUM_OF_ITEM_TYPES] = { 0 };
|
int8_t visitedTypes[TAG_NUM_OF_ITEM_TYPES] = { 0 };
|
||||||
|
@ -237,8 +239,8 @@ tagItemFoundAndMatches(struct song *song, enum tag_type type, char *str)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
tagItemsFoundAndMatches(struct song *song, int numItems,
|
tagItemsFoundAndMatches(const struct song *song, int numItems,
|
||||||
LocateTagItem * items)
|
const LocateTagItem * items)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,11 @@ void freeLocateTagItemArray(int count, LocateTagItem * array);
|
||||||
void freeLocateTagItem(LocateTagItem * item);
|
void freeLocateTagItem(LocateTagItem * item);
|
||||||
|
|
||||||
int
|
int
|
||||||
strstrSearchTags(struct song *song, int numItems, LocateTagItem * items);
|
strstrSearchTags(const struct song *song, int numItems,
|
||||||
|
const LocateTagItem * items);
|
||||||
|
|
||||||
int
|
int
|
||||||
tagItemsFoundAndMatches(struct song *song, int numItems,
|
tagItemsFoundAndMatches(const struct song *song, int numItems,
|
||||||
LocateTagItem * items);
|
const LocateTagItem * items);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue