Update of /cvsroot/mplayerplug-in/mplayerplug-in/Source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21920/Source
Modified Files:
plugin-ui.cpp
Log Message:
Fix "Save" MMS stream from popup menu
Fix "Save" when rename does not work, copy if needed
Index: plugin-ui.cpp
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin-ui.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -C2 -d -r1.88 -r1.89
*** plugin-ui.cpp 18 Jun 2004 20:00:39 -0000 1.88
--- plugin-ui.cpp 6 Jul 2004 22:56:56 -0000 1.89
***************
*** 242,246 ****
if (0) {
! printf("Widget: %i\n", (int)w);
printf("Message: %s\n", message);
}
--- 242,246 ----
if (0) {
! printf("Widget: %i\n", (int) w);
printf("Message: %s\n", message);
}
***************
*** 1345,1350 ****
--- 1345,1356 ----
char *filename;
char newname[1024];
+ char mmsplaylist[1024];
+ FILE *playlist;
+ FILE *fin, *fout;
+ char buffer[1000];
+ int count;
Node *n, *lastplayed;
+
if (instance->mInitialized == FALSE)
return;
***************
*** 1370,1380 ****
snprintf(newname, 1024, "%s/%s",
instance->download_dir, filename);
! rename(lastplayed->fname, newname);
! snprintf(lastplayed->fname, 1024, "%s/%s",
! instance->download_dir, filename);
! lastplayed->remove = 0;
}
NPN_MemFree(filename);
}
}
pthread_mutex_unlock(&(instance->playlist_mutex));
--- 1376,1409 ----
snprintf(newname, 1024, "%s/%s",
instance->download_dir, filename);
! if (rename(lastplayed->fname, newname) == 0) {
! snprintf(lastplayed->fname, 1024, "%s/%s",
! instance->download_dir, filename);
! lastplayed->remove = 0;
! } else {
! // rename filed (probably cross partitions), copy the file
! fin = fopen(lastplayed->fname, "rb");
! fout = fopen(newname, "wb");
! if (fin != NULL && fout != NULL) {
! while (!feof(fin)) {
! count = fread(buffer, 1, 1000, fin);
! fwrite(buffer, 1, count, fout);
! }
! fclose(fout);
! fclose(fin);
! }
! }
!
}
NPN_MemFree(filename);
}
+ if (lastplayed->mmsstream) {
+ snprintf(mmsplaylist, sizeof(mmsplaylist),
+ "%s/playlist", instance->download_dir);
+ playlist = fopen(mmsplaylist, "a");
+ if (playlist != NULL) {
+ fprintf(playlist, "%s\n", instance->list->url);
+ fclose(playlist);
+ }
+ }
}
pthread_mutex_unlock(&(instance->playlist_mutex));
|