diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-29 12:56:46 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-29 12:56:46 +0000 |
commit | ed56b47de7f4a39c426fef692f424d82e565714a (patch) | |
tree | d715877541188789ffca02a85def77a7a01cbea9 /channels/iax2-parser.c | |
parent | eb2476308635e0c068a4ab2f27e9adbbf935c2ef (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-x | channels/iax2-parser.c | 7 |
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); |