On 2011-11-15 16:21, Dejan Muhamedagic wrote: > Hi, > > On Mon, Nov 14, 2011 at 09:53:12PM +0100, Florian Haas wrote: >> Dejan, Lars, and other shell gurus in attendance, >> >> maybe I'm totally off my rocker, and one of you guys can set me >> straight. But to me this part of the ocf_run function seems a bit fishy: >> >> output=`"$@" 2>&1` >> rc=$? >> output=`echo $output` > >> Am I gravely mistaken, or would any funny control characters produced by >> the wrapped command line totally mess up the content of "output" here as >> it is mangled by the backticks? > > I think you're not :) The last line was most probably put there > to convert CR to spaces.
>> $ output=`sipsak -v -s sip:somenotexistantextens...@ekiga.net 2>&1` >> $ echo $output >> Content-Length: 0(1.5.3-notls >> (i386/linux))tag=c64e1f832a41ec1c1f4e5673ac5b80f6.8ff585.127.155.32 > > Seems like part of the output goes to stdout and another part to > stderr. The two are interspersed in an unpredictable manner. Unlikely. If I do $ output=`sipsak -v -s sip:somenotexistantextens...@ekiga.net 2>&1` $ xxd <<< $output ...then the output is in the hexdump in exactly the right order. It's just delimited by CR (0x0d), not LF (0x0a). Which is mighty odd for a utility running on any *nix platform, but still shouldn't be transformed to something thus garbled, simply by being stuffed into a variable. For now, I guess we'll wimp out and simply remove "-v" from the sipsak invocation so it just doesn't produce any output, in which case ocf_run falls back to logging just the command and its exit code. Cheers, Florian -- Need help with High Availability? http://www.hastexo.com/now _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/