aboutsummaryrefslogtreecommitdiffstats
path: root/main/app.c
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-01 01:30:37 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-01 01:30:37 +0000
commit50fe8fd5ecdd11cfedfd2ac57459f2a18d84aee3 (patch)
tree99aebf0c221138d2a0e289daf5c3a45463439e3a /main/app.c
parentaf55d60c2d4db57136933aa2668674832af68875 (diff)
Asterisk, when parking can drop rights a caller when a parking timeout occurs. Also, when doing built-in attended transfers, sometimes incorrectly passes rights from the transferrer to the transferee. This patch tries to fixes the parking issue and lays some groundwork for later fixing the transfer issue.
(closes issue #11520) Reported by: pliew Tested by: otherwiseguy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105477 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/app.c')
-rw-r--r--main/app.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/main/app.c b/main/app.c
index 99eaec3f6..6e09059e5 100644
--- a/main/app.c
+++ b/main/app.c
@@ -1670,6 +1670,17 @@ int ast_app_parse_options64(const struct ast_app_option *options, struct ast_fla
return res;
}
+void ast_app_options2str64(const struct ast_app_option *options, struct ast_flags64 *flags, char *buf, size_t len)
+{
+ unsigned int i, found = 0;
+ for (i = 32; i < 128 && found < len; i++) {
+ if (ast_test_flag64(flags, options[i].flag)) {
+ buf[found++] = i;
+ }
+ }
+ buf[found] = '\0';
+}
+
int ast_get_encoded_char(const char *stream, char *result, size_t *consumed)
{
int i;