Sorry about the "top post" (OUTLOOK) - Thanks for the framework. It's easier to learn from a starting point than scratch. I'm not crazy about writing 1000 lines of C to do 30 lines of PERL, but if it makes my system fly, so be it.
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Steve Edwards Sent: Thursday, October 22, 2009 2:45 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] carefulwrite: write() returned error:Brokenpipe Un-top-posting... > On Thu, 22 Oct 2009, Danny Nicholas wrote: > >> So this would actually be proper? > > [snip] > >>> my $envvars = <STDIN>; > [mailto:[email protected]] On Behalf Of Steve Edwards > > I don't "do" Perl, but if that statement reads everything buffered on > STDIN -- i.e., the AGI environment, then I would guess it would work. > > "Proper" would be to read and parse the environment "properly." You could > make the argument that since you're not going to use anything from the AGI > environment, why waste the cycles. > > I would counter that "best practice" would be to read and parse the > environment as well as setting up a SIGHUP handler, initializing syslog(), > setting a STATUS channel variable to FAILURE (and setting it to SUCCESS > upon successful completion), etc., etc., etc. On Thu, 22 Oct 2009, Danny Nicholas wrote: > For my (and any other lazy watchers) benefit, would you post how you would > do my snippet in C? I don't think it will do you much good since you don't have my AGI library, but below is an AGI from a current project that reads a bunch of stuff from a database and sets a bunch (hundreds) of variables. I'm a big fan of using an established library so all the funky details are taken care of for you and you don't get "bit" by changes like you have. If I had found a C library when I started, I would have used it. This wasn't written with "publication" in mind but it does show my "framework" for all my AGIs. Keep in mind the AGI below executes in less than a second, including the database accesses. My apologies to the list for the length :) // // Filename: lookup-dnis.c // ** SNIP ** ** SNIP ** // (end of lookup-dnis.c) -- Thanks in advance, ------------------------------------------------------------------------- Steve Edwards [email protected] Voice: +1-760-468-3867 PST Newline Fax: +1-760-731-3000 _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- 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 -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
