I wanted to thank you guys for you help with this and other problems I posted recently.
My project entered beta today... and I'm expecting it to be opensourced in the coming mth or so. I ended up using the suggestion of using the fpsystem() call which seemed to work well except that it does not work if you do not have a bash shell installed in your environment. I worked around this by sym linking sh to bash to make it work under busybox; however, someone may want to look to see if the fpsystem call can be shell independant. John From: zittw...@hotmail.com To: fpc-pascal@lists.freepascal.org Subject: Exec(), Linux, and /dev/null redirection Date: Tue, 16 Feb 2010 16:34:08 -0800 I'm cross developing a program in free pascal running FreeVision. When running under Linux / Busybox; I'm attempting to mount a device to scan it for a set of files. Since I'm running a TUI (Text User Interface); I cannot have the BusyBox mount command printing failure information to the screen where it corrupts the TUI. The pascal code: Exec( '/bin/mount', '/dev/'+ aline +' /media/' + aline + ' &> /dev/null'); When running: Exec( '/bin/mount', '/dev/'+ aline +' /media/' + aline ); I see "device busy" STDERR messages appear on the screen. However, when I try to redirect using the ' &> /dev/null' it appears as tho the BusyBox executable is being passed ' &> /dev/null' as a parameter and isn't taking it as the appropriate redirection command. I tried the following kludge instead: var OurPipe : Text; popen( OurPipe, '/bin/mount /dev/'+ aline +' /media/' + aline, 'R'); Try if (fpgeterrno=0) then Flush (OurPipe) ELSE MessageBox ('mount pipe error ' + IntToStr(fpgeterrno), nil, mfError or mfOKButton); Finally PClose( OurPipe ); END; however, I'm getting an Accessviolation. unsure if I'm even going down the right path. Any other suggestions?
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal