Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[asterisk-users] Passing literals with commas to subroutine [SOLVED]


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users
View previous topic :: View next topic  
Author Message
EWieling at nyigc.com
Guest





PostPosted: Thu Dec 11, 2014 10:51 am    Post subject: [asterisk-users] Passing literals with commas to subroutine Reply with quote

The easiest way is to escape the commas is with a \ (backslash).

-----Original Message-----
From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of A J Stiles
Sent: Thursday, December 11, 2014 7:41 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] Passing literals with commas to subroutine [SOLVED]

On Tuesday 09 Dec 2014, Daniel Gonzalez wrote:
Quote:
Hi,

Let's say I do:

Set(data=xxx,yyy)
Gosub(my-sub,s,1(${data}))

My subroutine will only receive "xxx" for ARG1. How can I pass a literal
with a comma to a single argument in a subroutine?

(The point is: when calling the subroutine I do not know if the variable
has a comma or not.)

O.K. I've managed to set myself up a temporary Asterisk box, so I was able to
do some testing without risking bringing down a production server Smile And I
have managed to put together a solution, if you can call it that.

If you put speech marks around the argument, like so:
Gosub(my-sub,s,1("${data}"))
then what actually comes through in ${ARG1} is
"xxx,yyy"
(complete with the speech marks). But at least that comma is protected. So
then within my-sub, you just need to evaluate ${ARG1:1:-1}, ${ARG2:1:-1} &c.
to strip off the first and last characters (skip one, show all but one).


It's a bit ugly -- but so is a lot of stuff written in the Dialplan. Just
because a language is Turing-complete, doesn't mean any code written in it is
going to be pretty. But you might be able to mitigate some of the ugliness
with comments (introduced with a semicolon in Dialplan, because the comment
mark is a valid "digit").

--
AJS

Note: Originating address only accepts e-mail from list! If replying off-
list, change address to asterisk1list at earthshod dot co dot uk .

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

VoiceMeUp - Corporate & Wholesale VoIP Services