summaryrefslogtreecommitdiffstats
path: root/subreader.c
diff options
context:
space:
mode:
authorlaaz <laaz@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-01 21:06:36 +0000
committerlaaz <laaz@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-01 21:06:36 +0000
commit127d4034bb41dc84fd1491f19b4e114e57a53991 (patch)
treed4c1abd0d3c85e2da016b32d7f19d29e3bf7f799 /subreader.c
parentfdbfb285735079c18d4592f1f751559ae6d24582 (diff)
downloadmpv-127d4034bb41dc84fd1491f19b4e114e57a53991.tar.bz2
mpv-127d4034bb41dc84fd1491f19b4e114e57a53991.tar.xz
Gabucino (CGA user)'s request (finds default.subs well)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@935 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'subreader.c')
-rw-r--r--subreader.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/subreader.c b/subreader.c
index d345f2ab6a..3f31fe4c49 100644
--- a/subreader.c
+++ b/subreader.c
@@ -418,6 +418,7 @@ char * sub_filename(char* path, char * fname )
{
char * sub_name1;
char * sub_name2;
+ char * aviptr1, * aviptr2, * tmp;
int i,j;
FILE * f;
int pos=0;
@@ -433,22 +434,30 @@ char * sub_filename(char* path, char * fname )
".txt",
".TXT"};
+
if ( fname == NULL ) return NULL;
sub_name1=strrchr(fname,'.');
if (!sub_name1) return NULL;
pos=sub_name1-fname;
- sub_name1=malloc(strlen(path)+strlen(fname)+8);
- strcpy(sub_name1,path);
- sub_name2=sub_name1+strlen(path);
- strncpy(sub_name2,fname,pos);
+ sub_name1=malloc(strlen(fname)+8);
+ strcpy(sub_name1,fname);
+
+ sub_name2=malloc (strlen(path) + strlen(fname) + 8);
+ if (tmp=strrchr(fname,'/'))
+ sprintf (sub_name2, "%s%s", path, tmp+1);
+ else
+ sprintf (sub_name2, "%s%s", path, fname);
+
+ aviptr1=strrchr(sub_name1,'.');
+ aviptr2=strrchr(sub_name2,'.');
for(j=0;j<=1;j++){
char* sub_name=j?sub_name1:sub_name2;
for ( i=0;i<(sizeof(sub_exts)/sizeof(char*));i++ ) {
- strcpy(sub_name2+pos,sub_exts[i]);
-// printf("trying: '%s'\n",sub_name);
+ strcpy(j?aviptr1:aviptr2,sub_exts[i]);
+ printf("trying: '%s'\n",sub_name);
if((f=fopen( sub_name,"rt" ))) {
fclose( f );
printf( "SUB: Detected sub file: %s\n",sub_name );