aboutsummaryrefslogtreecommitdiffstats
path: root/channels/iax2-parser.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-29 12:56:46 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-29 12:56:46 +0000
commited56b47de7f4a39c426fef692f424d82e565714a (patch)
treed715877541188789ffca02a85def77a7a01cbea9 /channels/iax2-parser.c
parenteb2476308635e0c068a4ab2f27e9adbbf935c2ef (diff)
Create reentrant ast_inet_ntoa and replace all inet_ntoa's with ast_inet_ntoa's (but #1944)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3345 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/iax2-parser.c')
-rwxr-xr-xchannels/iax2-parser.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/iax2-parser.c b/channels/iax2-parser.c
index a64fa0e11..eeb1ff1c2 100755
--- a/channels/iax2-parser.c
+++ b/channels/iax2-parser.c
@@ -16,6 +16,7 @@
#include <string.h>
#include <netinet/in.h>
#include <asterisk/frame.h>
+#include <asterisk/utils.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdlib.h>
@@ -44,9 +45,10 @@ static void (*errorf)(const char *str) = internalerror;
static void dump_addr(char *output, int maxlen, void *value, int len)
{
struct sockaddr_in sin;
+ char iabuf[80];
if (len == (int)sizeof(sin)) {
memcpy(&sin, value, len);
- snprintf(output, maxlen, "IPV4 %s:%d", inet_ntoa(sin.sin_addr), ntohs(sin.sin_port));
+ snprintf(output, maxlen, "IPV4 %s:%d", ast_inet_ntoa(iabuf, sizeof(iabuf), sin.sin_addr), ntohs(sin.sin_port));
} else {
snprintf(output, maxlen, "Invalid Address");
}
@@ -252,6 +254,7 @@ void iax_showframe(struct iax_frame *f, struct ast_iax2_full_hdr *fhi, int rx, s
char *class;
char *subclass;
char tmp[256];
+ char iabuf[80];
if (f) {
fh = f->data;
snprintf(retries, (int)sizeof(retries), "%03d", f->retries);
@@ -302,7 +305,7 @@ snprintf(tmp, (int)sizeof(tmp),
" Timestamp: %05lums SCall: %5.5d DCall: %5.5d [%s:%d]\n",
(unsigned long)ntohl(fh->ts),
ntohs(fh->scallno) & ~IAX_FLAG_FULL, ntohs(fh->dcallno) & ~IAX_FLAG_RETRANS,
- inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
+ ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr), ntohs(sin->sin_port));
outputf(tmp);
if (fh->type == AST_FRAME_IAX)
dump_ies(fh->iedata, datalen);