Allow transfer to work without a tech (bug #4199)
authorMark Spencer <markster@digium.com>
Sun, 8 May 2005 16:35:54 +0000 (16:35 +0000)
committerMark Spencer <markster@digium.com>
Sun, 8 May 2005 16:35:54 +0000 (16:35 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5599 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_transfer.c

index f362895..517a2c4 100755 (executable)
@@ -49,18 +49,21 @@ static int transfer_exec(struct ast_channel *chan, void *data)
        int len;
        struct localuser *u;
        char *slash;
+       char *dest = data;
        if (!data || !strlen(data)) {
                ast_log(LOG_WARNING, "Transfer requires an argument ([Tech/]destination)\n");
                res = 1;
        }
        if ((slash = strchr((char *)data, '/')) && (len = (slash - (char *)data))) {
+               dest = slash + 1;
                /* Allow execution only if the Tech/destination agrees with the type of the channel */
                if (strncasecmp(chan->type, (char *)data, len))
                        return 0;
        }
        LOCAL_USER_ADD(u);
        if (!res) {
-               res = ast_transfer(chan, data + strlen(chan->type) + 1);
+               res = ast_transfer(chan, dest);
+
        }
        if (!res) {
                /* Look for a "busy" place */