From 33a5e60ee8f4c539d5bf3dc1d1ff1b62d5715d65 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 3 Jun 2015 18:35:35 +0000 Subject: [PATCH 1/1] LP#1152272: do not log batch invocation of srfsh in .srfsh_history When running srfsh to process a script, do not log the requests in .srfsh_history. To test ------- [1] Run the following command: echo 'request opensrf.math opensrf.system.echo "foo"' | srfsh [2] Note that the last line of ~/.srfsh_history should be 'request opensrf.math opensrf.system.echo "foo"' [3] Apply the patch, compile, and run echo 'request opensrf.math opensrf.system.echo "bar"' | srfsh [4] This time, no additional line should have been added to ~/.srfsh_history [5] Another variation to try: srfsh test.srfsh Signed-off-by: Galen Charlton Signed-off-by: Mike Rylander --- src/srfsh/srfsh.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/srfsh/srfsh.c b/src/srfsh/srfsh.c index a383492..d8132d1 100644 --- a/src/srfsh/srfsh.c +++ b/src/srfsh/srfsh.c @@ -147,9 +147,13 @@ int main( int argc, char* argv[] ) { is_from_script = 1; } } - + + // if stdin is not a tty, assume that we're running + // a script and don't want to record history + if (!isatty(fileno(stdin))) is_from_script = 1; + /* --------------------------------------------- */ - load_history(); + if (!is_from_script) load_history(); client = osrfSystemGetTransportClient(); osrfAppSessionSetIngress("srfsh"); @@ -192,7 +196,7 @@ int main( int argc, char* argv[] ) { } process_request( cmd ); - if( request && *cmd ) { + if( !is_from_script && request && *cmd ) { add_history(request); } -- 2.43.2