hz_bitstream_read_t *stream;
if ((file = FS_Open (filename, "rb", false, false)))
{
- stream = (hz_bitstream_read_t *)malloc(sizeof(hz_bitstream_read_t));
+ stream = (hz_bitstream_read_t *)Z_Malloc(sizeof(hz_bitstream_read_t));
memset(stream, 0, sizeof(*stream));
stream->file = file;
return stream;
if (stream)
{
FS_Close(stream->file);
- free(stream);
+ Z_Free(stream);
}
}
hz_bitstream_readblocks_t *hz_bitstream_read_blocks_new(void)
{
hz_bitstream_readblocks_t *blocks;
- blocks = (hz_bitstream_readblocks_t *)malloc(sizeof(hz_bitstream_readblocks_t));
+ blocks = (hz_bitstream_readblocks_t *)Z_Malloc(sizeof(hz_bitstream_readblocks_t));
if (blocks == NULL)
return NULL;
memset(blocks, 0, sizeof(hz_bitstream_readblocks_t));
for (b = blocks->blocks;b;b = n)
{
n = b->next;
- free(b);
+ Z_Free(b);
}
- free(blocks);
+ Z_Free(blocks);
}
void hz_bitstream_read_flushbits(hz_bitstream_readblocks_t *blocks)
{
if (b == NULL)
{
- b = (hz_bitstream_readblock_t *)malloc(sizeof(hz_bitstream_readblock_t));
+ b = (hz_bitstream_readblock_t *)Z_Malloc(sizeof(hz_bitstream_readblock_t));
if (b == NULL)
return HZREADERROR_MALLOCFAILED;
b->next = NULL;
// opening and closing streams
-static void StripExtension(char *in, char *out)
-{
- char *dot, *c;
- dot = NULL;
- for (c = in;*c;c++)
- {
- if (*c == ':' || *c == '\\' || *c == '/')
- dot = NULL;
- if (*c == '.')
- dot = c;
- }
- if (dot == NULL)
- {
- // nothing to remove
- strcpy(out, in);
- return;
- }
- else
- {
- memcpy(out, in, dot - in);
- out[dot - in] = 0;
- }
-}
-
// opens a stream
void *dpvsimpledecode_open(char *filename, char **errorstring)
{
s->videopixels = (unsigned int *)Z_Malloc(s->info_imagewidth * s->info_imageheight * sizeof(*s->videopixels));
if (s->videopixels != NULL)
{
- wavename = (char *)Z_Malloc(strlen(filename) + 10);
+ size_t namelen;
+
+ namelen = strlen(filename) + 10;
+ wavename = (char *)Z_Malloc(namelen);
if (wavename)
{
sfx_t* sfx;
- StripExtension(filename, wavename);
- strcat(wavename, ".wav");
+ FS_StripExtension(filename, wavename, namelen);
+ strlcat(wavename, ".wav", namelen);
sfx = S_PrecacheSound (wavename, false, false);
if (sfx != NULL)
s->sndchan = S_StartSound (-1, 0, sfx, vec3_origin, 1.0f, 0);
else
s->sndchan = -1;
- free(wavename);
+ Z_Free(wavename);
}
// all is well...
s->videoframenum = -10000;
}
else if (errorstring != NULL)
*errorstring = "unable to open file";
- free(s);
+ Z_Free(s);
}
else if (errorstring != NULL)
*errorstring = "unable to allocate memory for stream info structure";
if (s == NULL)
return;
if (s->videopixels)
- free(s->videopixels);
+ Z_Free(s->videopixels);
if (s->sndchan != -1)
S_StopChannel (s->sndchan);
if (s->framedatablocks)
hz_bitstream_read_blocks_free(s->framedatablocks);
if (s->bitstream)
hz_bitstream_read_close(s->bitstream);
- free(s);
+ Z_Free(s);
}
// utilitarian functions