summaryrefslogtreecommitdiff
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2006-04-12 00:15:57 +0000
committerLuigi Rizzo <rizzo@icir.org>2006-04-12 00:15:57 +0000
commit86e8094c3cdad8df7dc4f562b33e47173e387d7c (patch)
treeaf15c15ce8064478e32d2338498868663dd5ae15 /channels/chan_sip.c
parent3579d11dc1052323fa8f45f0c19cf9de35fafac9 (diff)
localize some variables, remove useless parentheses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index eaaa6f576..fbb6b70d9 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3927,29 +3927,29 @@ static int copy_all_header(struct sip_request *req, struct sip_request *orig, ch
Received: RFC 3261, rport RFC 3581 */
static int copy_via_headers(struct sip_pvt *p, struct sip_request *req, struct sip_request *orig, char *field)
{
- char tmp[256], *end;
- int start = 0;
int copied = 0;
- char iabuf[INET_ADDRSTRLEN];
+ int start = 0;
for (;;) {
+ char new[256];
const char *oh = __get_header(orig, field, &start);
if (ast_strlen_zero(oh))
break;
- /* XXX reindent next block */
if (!copied) { /* Only check for empty rport in topmost via header */
+ char iabuf[INET_ADDRSTRLEN];
char *rport;
- char new[256];
/* Find ;rport; (empty request) */
rport = strstr(oh, ";rport");
if (rport && *(rport+6) == '=')
rport = NULL; /* We already have a parameter to rport */
- if (rport && (ast_test_flag(&p->flags[0], SIP_NAT) == SIP_NAT_ALWAYS)) {
+ if (rport && ast_test_flag(&p->flags[0], SIP_NAT) == SIP_NAT_ALWAYS) {
/* We need to add received port - rport */
+ char tmp[256], *end;
+
ast_copy_string(tmp, oh, sizeof(tmp));
rport = strstr(tmp, ";rport");
@@ -3966,16 +3966,17 @@ static int copy_via_headers(struct sip_pvt *p, struct sip_request *req, struct s
/* Whoo hoo! Now we can indicate port address translation too! Just
another RFC (RFC3581). I'll leave the original comments in for
posterity. */
- snprintf(new, sizeof(new), "%s;received=%s;rport=%d", tmp, ast_inet_ntoa(iabuf, sizeof(iabuf), p->recv.sin_addr), ntohs(p->recv.sin_port));
+ snprintf(new, sizeof(new), "%s;received=%s;rport=%d",
+ tmp, ast_inet_ntoa(iabuf, sizeof(iabuf), p->recv.sin_addr),
+ ntohs(p->recv.sin_port));
} else {
/* We should *always* add a received to the topmost via */
- snprintf(new, sizeof(new), "%s;received=%s", oh, ast_inet_ntoa(iabuf, sizeof(iabuf), p->recv.sin_addr));
+ snprintf(new, sizeof(new), "%s;received=%s",
+ oh, ast_inet_ntoa(iabuf, sizeof(iabuf), p->recv.sin_addr));
}
- add_header(req, field, new);
- } else {
- /* Add the following via headers untouched */
- add_header(req, field, oh);
- }
+ oh = new; /* the header to copy */
+ } /* else add the following via headers untouched */
+ add_header(req, field, oh);
copied++;
}
if (!copied) {