diff options
-rw-r--r-- | channels/misdn/ie.c | 2 | ||||
-rw-r--r-- | channels/misdn/isdn_lib.c | 15 | ||||
-rw-r--r-- | main/Makefile | 2 | ||||
-rw-r--r-- | main/pbx.c | 2 | ||||
-rw-r--r-- | pbx/pbx_config.c | 3 | ||||
-rw-r--r-- | utils/frame.c | 2 |
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; |