Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-updates-src > by-pkgid > 397764f175378802720d3d96747d68ed > files > 6

libmikmod-3.2.0-0.beta2.7.1mdv2010.1.src.rpm

--- libmikmod-3.1.11/drivers/drv_raw.c.rawwriter_path	2004-01-21 18:43:52.000000000 +0100
+++ libmikmod-3.1.11/drivers/drv_raw.c	2005-11-29 04:13:31.000000000 +0100
@@ -42,9 +42,13 @@
 #include <sys/stat.h>
 #endif
 
+#include <stdlib.h>
+#include <string.h>
+
 #include "mikmod_internals.h"
 
 #define BUFFERSIZE 32768
+#define	TMPDIR getenv("TMPDIR")
 #define FILENAME "music.raw"
 
 #ifndef O_BINARY
@@ -76,14 +80,20 @@ static BOOL RAW_IsThere(void)
 
 static BOOL RAW_Init(void)
 {
+	if (!filename) {
+		filename=TMPDIR;
+		strcat(filename,"/");
+		strcat(filename,FILENAME);
+    }
+
 #if defined unix || (defined __APPLE__ && defined __MACH__)
-	if(!MD_Access(filename?filename:FILENAME)) {
+	if(!MD_Access(filename)) {
 		_mm_errno=MMERR_OPENING_FILE;
 		return 1;
 	}
 #endif
 
-	if((rawout=open(filename?filename:FILENAME,O_RDWR|O_TRUNC|O_CREAT|O_BINARY
+	if((rawout=open(filename,O_RDWR|O_TRUNC|O_CREAT|O_BINARY
 #if !defined(macintosh) && !defined(__MWERKS__)
 	                ,S_IREAD|S_IWRITE
 #endif
@@ -94,13 +104,13 @@ static BOOL RAW_Init(void)
 	md_mode|=DMODE_SOFT_MUSIC|DMODE_SOFT_SNDFX;
 
 	if (!(audiobuffer=(SBYTE*)_mm_malloc(BUFFERSIZE))) {
-		close(rawout);unlink(filename?filename:FILENAME);
+		close(rawout);unlink(filename);
 		rawout=-1;
 		return 1;
 	}
 
 	if ((VC_Init())) {
-		close(rawout);unlink(filename?filename:FILENAME);
+		close(rawout);unlink(filename);
 		rawout=-1;
 		return 1;
 	}
@@ -125,7 +135,7 @@ static void RAW_Update(void)
 static BOOL RAW_Reset(void)
 {
 	close(rawout);
-	if((rawout=open(filename?filename:FILENAME,O_RDWR|O_TRUNC|O_CREAT|O_BINARY
+	if((rawout=open(filename,O_RDWR|O_TRUNC|O_CREAT|O_BINARY
 #if !defined(macintosh) && !defined(__MWERKS__)
 	                ,S_IREAD|S_IWRITE
 #endif