locate: use const pointers
Pass const pointers where no writes are performed.
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user