diff options
author | wm4 <wm4@nowhere> | 2013-01-13 16:13:13 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-01-13 17:32:39 +0100 |
commit | 20c9dfa61692d9ed741a91177d3fa185d73c02dd (patch) | |
tree | 8931b8f4036bbcc4941c8d372546b08dbd75e53b /demux/mf.c | |
parent | cbdee50f29e2d1c44453f7b5ed5d67296f7a16dc (diff) | |
download | mpv-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/mf.c')
-rw-r--r-- | demux/mf.c | 11 |
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 ); |