Post your final solution (e.g. some patch in .diff) and what advantages it gives you so others would benefit too :)
2014-04-30 15:22 GMT+04:00 Saurabh Pandey <sam.it.develo...@gmail.com>: > Thanks a lot Rene. perfect solution. > Also I used another gw function to retrieve last item, so that's okay. > Thanks again for your help. > > > On Wed, Apr 30, 2014 at 4:33 PM, Rene Kluwen <rene.klu...@chimit.nl>wrote: > >> Try: >> >> >> >> octstr_format(" >> http://someurl.com/somescript.php?mobile=%%p&dlr=%%d&msgid=%s", >> octstr_get_cstr(msgid)); >> >> >> >> This will replace %%p with %p, %%d with %d and %s with the msgid. >> >> >> >> Also: I don’t think gw_extract_last() doesn’t exist in the gw library. >> >> >> >> == Rene >> >> >> >> >> >> *From:* Saurabh Pandey [mailto:sam.it.develo...@gmail.com] >> *Sent:* dinsdag 29 april 2014 16:55 >> *To:* Rene Kluwen >> *Cc:* users@kannel.org >> *Subject:* Re: SMS ID and DLR-URL concatenation issue >> >> >> >> Rene my dlr-url contains other parameters also like %d for dlr etc. Also >> C is supposed to replace %d with passed integer value right? So I want this >> >> "http://someurl.com/somescript.php?mobile=%p&dlr=%d&msgid=<i want my id >> here>" >> >> Now, based on your suggestion I did this: >> >> octstr_format(" >> http://someurl.com/somescript.php?mobile=%p&dlr=%d&msgid=%s", >> octstr_get_cstr(msgid)); >> >> compiled just fine, but when got DLR, it panicked: >> >> 2014-04-29 11:44:39 [29025] [12] PANIC: octstr_format format string >> syntax error. >> >> What can I do in this situation? Please help. I appreciate your support. >> >> >> >> On Tue, Apr 29, 2014 at 7:57 PM, Saurabh Pandey < >> sam.it.develo...@gmail.com> wrote: >> >> Thanks for the valuable guidance Rene. I'll give it a shot and afterwards >> will look into that memory leak issue. >> >> One quick question, above this code the dlr_url is separated by splitting >> it and picking the first part. Here is the code : >> >> parts = octstr_split(msg->sms.dlr_url, octstr_imm("vmsgid=")); >> msgid = gwlist_extract_first(parts); >> >> However, now according to my scenario, I need to extract the last item in >> the list. I tried this: >> >> parts = octstr_split(msg->sms.dlr_url, octstr_imm("vmsgid=")); >> msgid = gwlist_extract_last(parts); >> >> But it throws error: undefined reference to `gwlist_extract_last' >> >> Would you happen to know how can I do that, it s a very simple task. >> Sorry if the question is too stupid :( I'm no C programmer. >> >> >> >> >> >> On Tue, Apr 29, 2014 at 7:23 PM, Rene Kluwen <rene.klu...@chimit.nl> >> wrote: >> >> I didn’t see the end of your email. >> >> >> >> Use: >> >> >> >> msg->sms.dlr_url = octstr_format(http://someurl.com/myscript.php?msgid=%s”, >> octstr_get_cstr(msgid)); >> >> >> >> Btw, in the code that you gave below, there’s a memory leak. >> >> >> >> == Rene >> >> >> >> *From:* Rene Kluwen [mailto:rene.klu...@chimit.nl] >> *Sent:* dinsdag 29 april 2014 15:51 >> *To:* 'Saurabh Pandey'; 'users@kannel.org' >> *Subject:* RE: SMS ID and DLR-URL concatenation issue >> >> >> >> Use octstr_format(http://someurl.com/myscript.php?msgid=%s”, msgid); >> >> >> >> This is if msgid is a string. If it is an integer use %d instead of %s. >> >> >> >> == Rene >> >> >> >> *From:* users [mailto:users-boun...@kannel.org <users-boun...@kannel.org>] >> *On Behalf Of *Saurabh Pandey >> *Sent:* dinsdag 29 april 2014 13:41 >> *To:* users@kannel.org >> *Subject:* SMS ID and DLR-URL concatenation issue >> >> >> >> Hi everyone, >> >> this should be very simple for an expert C programmer to fix. I am trying >> to edit source of Opensmppbox.c to suit my requirements, but I am very poor >> in C. What I had was: >> >> msg->sms.dlr_url = octstr_create("http://someurl.com/myscript.php"); >> >> and it was working fine. In my dlr-table this URL was inserted as dlr-url >> and was fired when I received DLR. Now what I need is: >> >> msg->sms.dlr_url = octstr_create("http://someurl.com/myscript.php >> *?msgid=*"+*msgid*); >> >> where msgid is fetched above like this: >> >> msgid = generate_smppid(msg,box->version); >> msgid = octstr_duplicate(msgid); >> >> *Issue: *How do I append msgid to my dlr url and pass it. I used >> strcpy/strcat but it gives me incompatible pointer type errors. >> >> Please help me here. Thanks a lot in advance. >> >> -Sam >> >> >> >> >> > >