From 6599e05a25bd2e653c2daf8abbe0e141b75bf4ac Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Tue, 9 Mar 2004 20:55:51 +0000 Subject: [PATCH] strip return characters that are in the id3 tags git-svn-id: https://svn.musicpd.org/mpd/trunk@229 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/directory.c | 2 +- src/song.c | 3 +-- src/tag.c | 13 +++++++++++++ src/utils.c | 6 ++++++ src/utils.h | 2 ++ 5 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/directory.c b/src/directory.c index 9f85f2683..b9006e72b 100644 --- a/src/directory.c +++ b/src/directory.c @@ -555,7 +555,7 @@ int readDirectoryDB() { } } else { - ERROR("unknown line in db info: %s\n", + ERROR("directory: unknown line in db info: %s\n", buffer); } } diff --git a/src/song.c b/src/song.c index ca300a07d..ed0757957 100644 --- a/src/song.c +++ b/src/song.c @@ -179,8 +179,7 @@ void readSongInfoIntoList(FILE * fp, SongList * list) { song->mtime = atoi(&(buffer[strlen(SONG_TITLE)])); } else { - ERROR("unknown line in db: %s\n",buffer); - exit(-1); + ERROR("songinfo: unknown line in db: %s\n",buffer); } } diff --git a/src/tag.c b/src/tag.c index 388c1fd9d..f7bd5d39d 100644 --- a/src/tag.c +++ b/src/tag.c @@ -22,6 +22,7 @@ #include "sig_handlers.h" #include "mp3_decode.h" #include "audiofile_decode.h" +#include "utils.h" #include #include @@ -102,24 +103,28 @@ MpdTag * id3Dup(char * utf8filename) { str = getID3Info(tag,ID3_FRAME_ARTIST); if(str) { if(!ret) ret = newMpdTag(); + stripReturnChar(str); ret->artist = str; } str = getID3Info(tag,ID3_FRAME_TITLE); if(str) { if(!ret) ret = newMpdTag(); + stripReturnChar(str); ret->title = str; } str = getID3Info(tag,ID3_FRAME_ALBUM); if(str) { if(!ret) ret = newMpdTag(); + stripReturnChar(str); ret->album = str; } str = getID3Info(tag,ID3_FRAME_TRACK); if(str) { if(!ret) ret = newMpdTag(); + stripReturnChar(str); ret->track = str; } @@ -195,21 +200,25 @@ MpdTag * oggTagDup(char * utf8file) { if(!s1 || !s2); else if(0==strcasecmp(s1,"artist")) { if(!ret->artist) { + stripReturnChar(s2); ret->artist = strdup(s2); } } else if(0==strcasecmp(s1,"title")) { if(!ret->title) { + stripReturnChar(s2); ret->title = strdup(s2); } } else if(0==strcasecmp(s1,"album")) { if(!ret->album) { + stripReturnChar(s2); ret->album = strdup(s2); } } else if(0==strcasecmp(s1,"tracknumber")) { if(!ret->track) { + stripReturnChar(s2); ret->track = strdup(s2); } } @@ -257,6 +266,7 @@ MpdTag * flacMetadataDup(char * utf8file, int * vorbisCommentFound) { dup = malloc(len+1); memcpy(dup,&(block->data.vorbis_comment.comments[offset].entry[pos]),len); dup[len] = '\0'; + stripReturnChar(dup); ret->artist = dup; } } @@ -270,6 +280,7 @@ MpdTag * flacMetadataDup(char * utf8file, int * vorbisCommentFound) { dup = malloc(len+1); memcpy(dup,&(block->data.vorbis_comment.comments[offset].entry[pos]),len); dup[len] = '\0'; + stripReturnChar(dup); ret->album = dup; } } @@ -283,6 +294,7 @@ MpdTag * flacMetadataDup(char * utf8file, int * vorbisCommentFound) { dup = malloc(len+1); memcpy(dup,&(block->data.vorbis_comment.comments[offset].entry[pos]),len); dup[len] = '\0'; + stripReturnChar(dup); ret->title = dup; } } @@ -296,6 +308,7 @@ MpdTag * flacMetadataDup(char * utf8file, int * vorbisCommentFound) { dup = malloc(len+1); memcpy(dup,&(block->data.vorbis_comment.comments[offset].entry[pos]),len); dup[len] = '\0'; + stripReturnChar(dup); ret->track = dup; } } diff --git a/src/utils.c b/src/utils.c index df0562ab3..d5f6c90c2 100644 --- a/src/utils.c +++ b/src/utils.c @@ -37,3 +37,9 @@ char * strDupToUpper(char * str) { return ret; } + +void stripReturnChar(char * string) { + if(string && (string = strstr(string,"\n"))) { + *string = '\0'; + } +} diff --git a/src/utils.h b/src/utils.h index 68bee7bba..6abef6d8a 100644 --- a/src/utils.h +++ b/src/utils.h @@ -25,4 +25,6 @@ char * myFgets(char * buffer, int bufferSize, FILE * fp); char * strDupToUpper(char * str); +void stripReturnChar(char * string); + #endif