mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 11:42:27 +00:00
minor cleanups (bug #4158)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
28
frame.c
28
frame.c
@@ -259,6 +259,11 @@ void ast_frfree(struct ast_frame *fr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'isolates' a frame by duplicating non-malloc'ed components
|
||||||
|
* (header, src, data).
|
||||||
|
* On return all components are malloc'ed
|
||||||
|
*/
|
||||||
struct ast_frame *ast_frisolate(struct ast_frame *fr)
|
struct ast_frame *ast_frisolate(struct ast_frame *fr)
|
||||||
{
|
{
|
||||||
struct ast_frame *out;
|
struct ast_frame *out;
|
||||||
@@ -271,11 +276,11 @@ struct ast_frame *ast_frisolate(struct ast_frame *fr)
|
|||||||
}
|
}
|
||||||
out->frametype = fr->frametype;
|
out->frametype = fr->frametype;
|
||||||
out->subclass = fr->subclass;
|
out->subclass = fr->subclass;
|
||||||
out->datalen = 0;
|
out->datalen = fr->datalen;
|
||||||
out->samples = fr->samples;
|
out->samples = fr->samples;
|
||||||
out->offset = 0;
|
out->offset = fr->offset;
|
||||||
out->src = NULL;
|
out->src = NULL;
|
||||||
out->data = NULL;
|
out->data = fr->data;
|
||||||
} else {
|
} else {
|
||||||
out = fr;
|
out = fr;
|
||||||
}
|
}
|
||||||
@@ -308,6 +313,10 @@ struct ast_frame *ast_frdup(struct ast_frame *f)
|
|||||||
/* Start with standard stuff */
|
/* Start with standard stuff */
|
||||||
len = sizeof(struct ast_frame) + AST_FRIENDLY_OFFSET + f->datalen;
|
len = sizeof(struct ast_frame) + AST_FRIENDLY_OFFSET + f->datalen;
|
||||||
/* If we have a source, add space for it */
|
/* If we have a source, add space for it */
|
||||||
|
/*
|
||||||
|
* XXX Watch out here - if we receive a src which is not terminated
|
||||||
|
* properly, we can be easily attacked. Should limit the size we deal with.
|
||||||
|
*/
|
||||||
if (f->src)
|
if (f->src)
|
||||||
srclen = strlen(f->src);
|
srclen = strlen(f->src);
|
||||||
if (srclen > 0)
|
if (srclen > 0)
|
||||||
@@ -338,6 +347,13 @@ struct ast_frame *ast_frdup(struct ast_frame *f)
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/*
|
||||||
|
* XXX
|
||||||
|
* This function is badly broken - it does not handle correctly
|
||||||
|
* partial reads on either header or body.
|
||||||
|
* However is it never used anywhere so we leave it commented out
|
||||||
|
*/
|
||||||
struct ast_frame *ast_fr_fdread(int fd)
|
struct ast_frame *ast_fr_fdread(int fd)
|
||||||
{
|
{
|
||||||
char buf[65536];
|
char buf[65536];
|
||||||
@@ -386,6 +402,11 @@ struct ast_frame *ast_fr_fdread(int fd)
|
|||||||
/* Some convenient routines for sending frames to/from stream or datagram
|
/* Some convenient routines for sending frames to/from stream or datagram
|
||||||
sockets, pipes, etc (maybe even files) */
|
sockets, pipes, etc (maybe even files) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX this function is also partly broken because it does not handle
|
||||||
|
* partial writes. We comment it out too, and also the unique
|
||||||
|
* client it has, ast_fr_fdhangup()
|
||||||
|
*/
|
||||||
int ast_fr_fdwrite(int fd, struct ast_frame *frame)
|
int ast_fr_fdwrite(int fd, struct ast_frame *frame)
|
||||||
{
|
{
|
||||||
/* Write the frame exactly */
|
/* Write the frame exactly */
|
||||||
@@ -409,6 +430,7 @@ int ast_fr_fdhangup(int fd)
|
|||||||
return ast_fr_fdwrite(fd, &hangup);
|
return ast_fr_fdwrite(fd, &hangup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* unused functions */
|
||||||
void ast_swapcopy_samples(void *dst, const void *src, int samples)
|
void ast_swapcopy_samples(void *dst, const void *src, int samples)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
Reference in New Issue
Block a user