storedPlaylist: correctly expand path when writing
Otherwise we'd be writing to whatever directory that mpd is running in.
This commit is contained in:
		 Eric Wong
					Eric Wong
				
			
				
					committed by
					
						 Max Kellermann
						Max Kellermann
					
				
			
			
				
	
			
			
			 Max Kellermann
						Max Kellermann
					
				
			
						parent
						
							5c81b716e2
						
					
				
				
					commit
					35494158c8
				
			| @@ -59,22 +59,23 @@ static ListNode *nodeOfStoredPlaylist(List *list, int idx) | ||||
| } | ||||
|  | ||||
| static enum playlist_result | ||||
| writeStoredPlaylistToPath(List *list, const char *fspath) | ||||
| writeStoredPlaylistToPath(List *list, const char *utf8path) | ||||
| { | ||||
| 	ListNode *node; | ||||
| 	FILE *file; | ||||
| 	char *s; | ||||
| 	char path_max_tmp[MPD_PATH_MAX]; | ||||
|  | ||||
| 	assert(fspath != NULL); | ||||
| 	assert(utf8path != NULL); | ||||
|  | ||||
| 	while (!(file = fopen(fspath, "w")) && errno == EINTR); | ||||
| 	utf8_to_fs_playlist_path(path_max_tmp, utf8path); | ||||
|  | ||||
| 	while (!(file = fopen(path_max_tmp, "w")) && errno == EINTR); | ||||
| 	if (file == NULL) | ||||
| 		return PLAYLIST_RESULT_ERRNO; | ||||
|  | ||||
| 	node = list->firstNode; | ||||
| 	while (node != NULL) { | ||||
| 		char path_max_tmp[MPD_PATH_MAX]; | ||||
|  | ||||
| 		s = utf8_to_fs_charset(path_max_tmp, (char *)node->data); | ||||
| 		if (playlist_saveAbsolutePaths && !isValidRemoteUtf8Url(s)) | ||||
| 			s = rmp2amp_r(path_max_tmp, s); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user