aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-02-25 18:29:39 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-02-25 18:29:39 +0000
commit1e9b166574c8da323fb2868876730dc5674b9a84 (patch)
treed07c9be92ecad40209a227b48b955131594f737c
parent46c66a2a3ee71b149cb9bd31349744a5bf532424 (diff)
downloadmpd-1e9b166574c8da323fb2868876730dc5674b9a84.tar.gz
mpd-1e9b166574c8da323fb2868876730dc5674b9a84.tar.xz
mpd-1e9b166574c8da323fb2868876730dc5674b9a84.zip
some cleanups for utf8 in playerSeek and using strncpy for copying filenames
git-svn-id: https://svn.musicpd.org/mpd/trunk@54 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r--src/player.c10
-rw-r--r--src/player.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/src/player.c b/src/player.c
index 081219e2d..5cb209334 100644
--- a/src/player.c
+++ b/src/player.c
@@ -165,7 +165,7 @@ int playerPlay(FILE * fp, char * utf8file) {
return 0;
}
- strcpy(pc->file,rmp2amp(utf8ToFsCharset(utf8file)));
+ strncpy(pc->file,rmp2amp(utf8ToFsCharset(utf8file)),MAXPATHLEN);
pc->play = 1;
if(player_pid==0 && playerInit()<0) {
@@ -295,7 +295,7 @@ int queueSong(char * utf8file) {
PlayerControl * pc = &(getPlayerData()->playerControl);
if(pc->queueState==PLAYER_QUEUE_BLANK) {
- strcpy(pc->file,rmp2amp(utf8ToFsCharset(utf8file)));
+ strncpy(pc->file,rmp2amp(utf8ToFsCharset(utf8file)),MAXPATHLEN);
if(0);
#ifdef HAVE_MAD
@@ -352,8 +352,9 @@ void playerQueueUnlock() {
}
}
-int playerSeek(FILE * fp, char * file, float time) {
+int playerSeek(FILE * fp, char * utf8file, float time) {
PlayerControl * pc = &(getPlayerData()->playerControl);
+ char * file;
if(pc->state==PLAYER_STATE_STOP) {
myfprintf(fp,"%s player not currently playing\n",
@@ -361,7 +362,8 @@ int playerSeek(FILE * fp, char * file, float time) {
return -1;
}
- if(strcmp(pc->file,rmp2amp(file))!=0) strcpy(pc->file,rmp2amp(file));
+ file = rmp2amp(utf8ToFsCharset(utf8file));
+ if(strcmp(pc->file,file)!=0) strncpy(pc->file,file,MAXPATHLEN);
/*if(playerStop(fp)<0) return -1;
if(playerPlay(stderr,file)<0) return -1;*/
/*}*/
diff --git a/src/player.h b/src/player.h
index 0b0578b68..43c136e3a 100644
--- a/src/player.h
+++ b/src/player.h
@@ -113,7 +113,7 @@ void playerQueueLock();
void playerQueueUnlock();
-int playerSeek(FILE * fp, char * file, float time);
+int playerSeek(FILE * fp, char * utf8file, float time);
void setPlayerCrossFade(float crossFadeInSeconds);