From dbff3945fd637a62876ae247b1c8a335dc0eba54 Mon Sep 17 00:00:00 2001 From: atlka Date: Tue, 16 Oct 2001 10:14:04 +0000 Subject: read font files from the same dir as font.desc or as specified in font.desc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2223 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/font_load.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'libvo') diff --git a/libvo/font_load.c b/libvo/font_load.c index c19c432537..05f5250c34 100644 --- a/libvo/font_load.c +++ b/libvo/font_load.c @@ -45,6 +45,7 @@ unsigned char sor[1024]; unsigned char sor2[1024]; font_desc_t *desc; FILE *f; +char *dn; struct stat fstate; char section[64]; int i,j; @@ -57,9 +58,19 @@ memset(desc,0,sizeof(font_desc_t)); f=fopen(fname,"rt");if(!f){ printf("font: can't open file: %s\n",fname); return NULL;} -desc->fpath=get_path("font/"); +i = strlen (fname) - 9; +if ((dn = malloc(i+1))!=NULL){ + strncpy (dn, fname, i); + dn[i]='\0'; +} + +desc->fpath = dn; // search in the same dir as fonts.desc + +// desc->fpath=get_path("font/"); +// if (stat(desc->fpath, &fstate)!=0) desc->fpath=DATADIR"/font"; + + -if (stat(desc->fpath, &fstate)!=0) desc->fpath=DATADIR"/font"; // set up some defaults, and erase table desc->charspace=2; @@ -120,6 +131,8 @@ while(fgets(sor,1020,f)){ if(strcmp(section,"[fpath]")==0){ if(pdb==1){ + if (desc->fpath) + free (desc->fpath); // release previously allocated memory desc->fpath=strdup(p[0]); continue; } -- cgit v1.2.3