summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-01-13 16:13:13 +0100
committerwm4 <wm4@nowhere>2013-01-13 17:32:39 +0100
commit20c9dfa61692d9ed741a91177d3fa185d73c02dd (patch)
tree8931b8f4036bbcc4941c8d372546b08dbd75e53b /demux
parentcbdee50f29e2d1c44453f7b5ed5d67296f7a16dc (diff)
downloadmpv-20c9dfa61692d9ed741a91177d3fa185d73c02dd.tar.bz2
mpv-20c9dfa61692d9ed741a91177d3fa185d73c02dd.tar.xz
Replace strsep() uses
This function sucks and apparently is not very portable (at least on mingw, the configure check fails). Also remove the emulation of that function from osdep/strsep*, and remove the configure check.
Diffstat (limited to 'demux')
-rw-r--r--demux/mf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/demux/mf.c b/demux/mf.c
index 6ab23b36e9..daeb6baa79 100644
--- a/demux/mf.c
+++ b/demux/mf.c
@@ -35,7 +35,6 @@
#else
#include "osdep/glob.h"
#endif
-#include "osdep/strsep.h"
#include "core/mp_msg.h"
#include "stream/stream.h"
@@ -91,9 +90,14 @@ mf_t* open_mf_pattern(char * filename)
if( strchr( filename,',') )
{
mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] filelist: %s\n",filename );
+ bstr bfilename = bstr0(filename);
- while ( ( fname=strsep( &filename,"," ) ) )
+ while (bfilename.len)
{
+ bstr bfname;
+ bstr_split_tok(bfilename, ",", &bfname, &bfilename);
+ char *fname = bstrdup0(NULL, bfname);
+
if ( !mp_path_exists( fname ) )
{
mp_msg( MSGT_STREAM,MSGL_V,"[mf] file not found: '%s'\n",fname );
@@ -101,10 +105,11 @@ mf_t* open_mf_pattern(char * filename)
else
{
mf->names=realloc( mf->names,( mf->nr_of_files + 1 ) * sizeof( char* ) );
- mf->names[mf->nr_of_files]=strdup( fname );
+ mf->names[mf->nr_of_files] = strdup(fname);
// mp_msg( MSGT_STREAM,MSGL_V,"[mf] added file %d.: %s\n",mf->nr_of_files,mf->names[mf->nr_of_files] );
mf->nr_of_files++;
}
+ talloc_free(fname);
}
mp_msg( MSGT_STREAM,MSGL_INFO,"[mf] number of files: %d\n",mf->nr_of_files );