implement removeext, use it in dsload instead of splitpath

This commit is contained in:
Bradley Bell 2004-12-20 07:12:25 +00:00
parent d5c207f482
commit 5d94af253e
4 changed files with 29 additions and 5 deletions

View file

@ -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,

View 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

View 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) {

View 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)
{