aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/misdn/ie.c2
-rw-r--r--channels/misdn/isdn_lib.c15
-rw-r--r--main/Makefile2
-rw-r--r--main/pbx.c2
-rw-r--r--pbx/pbx_config.c3
-rw-r--r--utils/frame.c2
6 files changed, 16 insertions, 10 deletions
diff --git a/channels/misdn/ie.c b/channels/misdn/ie.c
index dc9802845..cd88db92c 100644
--- a/channels/misdn/ie.c
+++ b/channels/misdn/ie.c
@@ -248,7 +248,7 @@ static void dec_ie_bearer(unsigned char *p, Q931_info_t *qi, int *coding, int *c
if (p[0] <= octet)
goto done;
- if (!p[octet++] & 0x80)
+ if (~p[octet++] & 0x80)
goto l2;
/* Wheee. V.110 speed information */
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index d85a4e4ac..88fde346f 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -1932,9 +1932,7 @@ handle_event_nt(void *dat, void *arg)
case CC_SETUP|INDICATION:
{
struct misdn_bchannel* bc=misdn_lib_get_free_bc(stack->port, 0, 1, 0);
- if (!bc)
- ERR_NO_CHANNEL:
- {
+ if (!bc) {
msg_t *dmsg;
cb_log(4, stack->port, "Patch from MEIDANIS:Sending RELEASE_COMPLETE %x (No free Chan for you..)\n", hh->dinfo);
dmsg = create_l3msg(CC_RELEASE_COMPLETE | REQUEST,MT_RELEASE_COMPLETE, hh->dinfo,sizeof(RELEASE_COMPLETE_t), 1);
@@ -2131,8 +2129,15 @@ handle_event_nt(void *dat, void *arg)
if (bc->channel<=0 || bc->channel==0xff)
bc->channel=0;
- if (find_free_chan_in_stack(stack,bc, bc->channel,0)<0)
- goto ERR_NO_CHANNEL;
+ if (find_free_chan_in_stack(stack,bc, bc->channel,0)<0) {
+ msg_t *dmsg;
+ cb_log(4, stack->port, "Patch from MEIDANIS:Sending RELEASE_COMPLETE %x (No free Chan for you..)\n", hh->dinfo);
+ dmsg = create_l3msg(CC_RELEASE_COMPLETE | REQUEST,MT_RELEASE_COMPLETE, hh->dinfo,sizeof(RELEASE_COMPLETE_t), 1);
+ pthread_mutex_lock(&stack->nstlock);
+ stack->nst.manager_l3(&stack->nst, dmsg);
+ free_msg(msg);
+ return 0;
+ }
break;
case EVENT_RELEASE:
case EVENT_RELEASE_COMPLETE:
diff --git a/main/Makefile b/main/Makefile
index 17aa6e173..53c83a0ab 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -110,7 +110,7 @@ editline/libedit.a: CHECK_SUBDIR
$(MAKE) -C editline libedit.a
db1-ast/libdb1.a: CHECK_SUBDIR
- CFLAGS="$(subst $(ASTTOPDIR),../../,$(_ASTCFLAGS) $(ASTCFLAGS))" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
+ _ASTCFLAGS="$(_ASTCFLAGS)" ASTCFLAGS="$(ASTCFLAGS) -Wno-strict-aliasing" $(MAKE) -C db1-ast libdb1.a
ast_expr2.c ast_expr2.h:
bison -o $@ -d --name-prefix=ast_yy ast_expr2.y
diff --git a/main/pbx.c b/main/pbx.c
index a85105d64..ed1084886 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -1345,7 +1345,7 @@ int pbx_exec(struct ast_channel *c, /*!< Channel */
"the pipe. Did you forget to convert your dialplan? (%s(%s))\n",
app->name, (char *) data);
}
- res = app->execute(c, S_OR(data, ""));
+ res = app->execute(c, S_OR((char *) data, ""));
if (app->module && u)
__ast_module_user_remove(app->module, u);
/* restore channel values */
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index 093d77129..7f07549a6 100644
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -1441,7 +1441,7 @@ static int pbx_load_config(const char *config_file)
goto process_extension;
}
} else if (!strcasecmp(v->name, "exten")) {
- int ipri = -2;
+ int ipri;
char *plus, *firstp;
char *pri, *appl, *data, *cidmatch;
@@ -1453,6 +1453,7 @@ static int pbx_load_config(const char *config_file)
pbx_substitute_variables_helper(NULL, ext, realext, sizeof(realext) - 1);
ast_copy_string(lastextension, realext, sizeof(lastextension));
process_extension:
+ ipri = -2;
if ((cidmatch = strchr(realext, '/'))) {
*cidmatch++ = '\0';
ast_shrink_phone_number(cidmatch);
diff --git a/utils/frame.c b/utils/frame.c
index abc3a3000..2900cb065 100644
--- a/utils/frame.c
+++ b/utils/frame.c
@@ -744,7 +744,7 @@ void checknoargs( int argcount, char *args[])
void parseargs( int argcount, char *args[], int fileswitch)
{
char *filename;
- int tempint;
+ int tempint = 0;
if ((fileswitch & 1) != 0) /* If getting infile */
in = NULL;