implement removeext, use it in dsload instead of splitpath
authorBradley Bell <btb@icculus.org>
Mon, 20 Dec 2004 07:12:25 +0000 (07:12 +0000)
committerBradley Bell <btb@icculus.org>
Mon, 20 Dec 2004 07:12:25 +0000 (07:12 +0000)
ChangeLog
include/strutil.h
main/bmread.c
misc/strutil.c

index 1959934..ca1be22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-19  Bradley Bell  <btb@icculus.org>
+
+       * include/strutil.h, misc/strutil.c, main/bmread.c: implement
+       removeext, use it in ds_load instead of splitpath
+
 2004-12-19  Chris Taylor  <c.taylor@student.curtin.edu.au>
 
        * main/editor/eobject.c, main/editor/kgame.c,
index cb90721..a902528 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: strutil.h,v 1.13 2004-08-06 20:28:57 schaffner Exp $ */
+/* $Id: strutil.h,v 1.14 2004-12-20 07:12:25 btb Exp $ */
 /*
 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
@@ -40,6 +40,9 @@ void strlwr( char *s1 );
 void strrev( char *s1 );
 #endif
 
+// remove extension from filename, doesn't work with paths.
+void removeext(const char *filename, char *out);
+
 #if !defined(__MSDOS__) && !(defined(_WIN32) && !defined(_WIN32_WCE))
 void _splitpath(char *name, char *drive, char *path, char *base, char *ext);
 #endif
index a2489ea..2cde37e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: bmread.c,v 1.8 2004-10-23 21:20:19 schaffner Exp $ */
+/* $Id: bmread.c,v 1.9 2004-12-20 07:12:25 btb Exp $ */
 /*
 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
@@ -326,8 +326,8 @@ int ds_load( char * filename )      {
        }
 #endif
 
-       _splitpath(  filename, NULL, NULL, fname, NULL );
-       _makepath( rawname, NULL, NULL,fname, (digi_sample_rate==SAMPLE_RATE_22K)?".R22":".RAW" );
+       removeext(filename, fname);
+       sprintf(rawname, "%s.%s", fname, (digi_sample_rate==SAMPLE_RATE_22K) ? ".r22" : ".raw");
 
        i=piggy_find_sound( fname );
        if (i!=255)     {
index ff18ece..64a4f25 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: strutil.c,v 1.14 2004-12-17 14:17:03 btb Exp $ */
+/* $Id: strutil.c,v 1.15 2004-12-20 07:12:25 btb Exp $ */
 /*
 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
@@ -111,6 +111,22 @@ void strrev( char *s1 )
 }
 #endif
 
+
+// remove extension from filename, doesn't work with paths.
+void removeext(const char *filename, char *out)
+{
+       char *p;
+
+       if ((p = strrchr(filename, '.')))
+       {
+               strncpy(out, filename, p - filename);
+               out[p - filename] = 0;
+       }
+       else
+               strcpy(out, filename);
+}
+
+
 #if !defined(__MSDOS__) && !(defined(_WIN32) && !defined(_WIN32_WCE))
 void _splitpath(char *name, char *drive, char *path, char *base, char *ext)
 {