[Mplayer-cvslog] CVS: main/libmpcodecs ad_realaud.c,1.23,1.24

Alex Beregszaszi alex at mplayerhq.hu
Mon May 12 17:51:14 CEST 2003


Update of /cvsroot/mplayer/main/libmpcodecs
In directory mail:/var/tmp.root/cvs-serv1326

Modified Files:
	ad_realaud.c 
Log Message:
use dynamic path[] allocation and possible better wraSetDLLAccessPath mechanism :)

Index: ad_realaud.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ad_realaud.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- ad_realaud.c	11 May 2003 17:58:02 -0000	1.23
+++ ad_realaud.c	12 May 2003 15:50:40 -0000	1.24
@@ -211,8 +211,10 @@
   unsigned int result;
   int len=0;
   void* prop;
-  char path[4096];
+  char *path;
 
+  path = malloc(strlen(REALCODEC_PATH)+strlen(sh->codec->dll)+2);
+  if (!path) return 0;
   sprintf(path, REALCODEC_PATH "/%s", sh->codec->dll);
 
     /* first try to load linux dlls, if failed and we're supporting win32 dlls,
@@ -226,6 +228,7 @@
     {
 	mp_msg(MSGT_DECVIDEO, MSGL_ERR, MSGTR_MissingDLLcodec, sh->codec->dll);
 	mp_msg(MSGT_DECVIDEO, MSGL_HINT, "Read the RealAudio section of the DOCS!\n");
+	free(path);
 	return 0;
     }
 
@@ -234,7 +237,9 @@
 #else
   if(raSetDLLAccessPath){
 #endif
+      int i;
       // used by 'SIPR'
+      path = realloc(path, strlen(REALCODEC_PATH) + 12);
       sprintf(path, "DT_Codecs=" REALCODEC_PATH);
       if(path[strlen(path)-1]!='/'){
         path[strlen(path)+1]=0;
@@ -243,7 +248,11 @@
       path[strlen(path)+1]=0;
 #ifdef USE_WIN32DLL
     if (dll_type == 1)
+    {
+      for (i=0; i < strlen(path); i++)
+        if (path[i] == '/') path[i] = '\\';
       wraSetDLLAccessPath(path);
+    }
     else
 #endif
       raSetDLLAccessPath(path);
@@ -266,6 +275,7 @@
       return 0;
     }
 //    printf("opencodec ok (result: %x)\n", result);
+  free(path); /* after this it isn't used anymore */
 
   sh->samplerate=sh->wf->nSamplesPerSec;
   sh->samplesize=sh->wf->wBitsPerSample/8;



More information about the MPlayer-cvslog mailing list