summaryrefslogtreecommitdiff
path: root/src/snd_mem.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2011-04-24 14:07:44 +0400
committerAndrey Nazarov <skuller@skuller.net>2011-04-24 14:07:44 +0400
commitc2eca6233ef3100264a9be812cb90582d2c2775c (patch)
treebf2fce04229752497e0696a4df4f9f2efb95e45a /src/snd_mem.c
parentf65d2d82b33b25c8ac1aa00c8c8066eecf9ecd93 (diff)
Normalize sound paths.
Store full file paths in sfx slots. Check for oversize paths.
Diffstat (limited to 'src/snd_mem.c')
-rw-r--r--src/snd_mem.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/snd_mem.c b/src/snd_mem.c
index 54656f5..07b999b 100644
--- a/src/snd_mem.c
+++ b/src/snd_mem.c
@@ -303,10 +303,9 @@ S_LoadSound
==============
*/
sfxcache_t *S_LoadSound (sfx_t *s) {
- char namebuffer[MAX_QPATH];
byte *data;
sfxcache_t *sc;
- size_t len;
+ ssize_t len;
char *name;
if (s->name[0] == '*')
@@ -327,23 +326,14 @@ sfxcache_t *S_LoadSound (sfx_t *s) {
else
name = s->name;
- if (name[0] == '#')
- len = Q_strlcpy( namebuffer, name + 1, sizeof( namebuffer ) );
- else
- len = Q_concat( namebuffer, sizeof( namebuffer ), "sound/", name, NULL );
- if( len >= sizeof( namebuffer ) ) {
- s->error = Q_ERR_NAMETOOLONG;
- return NULL;
- }
-
- len = FS_LoadFile (namebuffer, (void **)&data);
+ len = FS_LoadFile (name, (void **)&data);
if (!data) {
s->error = len;
return NULL;
}
memset( &s_info, 0, sizeof( s_info ) );
- s_info.name = namebuffer;
+ s_info.name = name;
iff_data = data;
iff_end = data + len;