From: Galen Charlton Date: Wed, 3 Jun 2015 18:35:35 +0000 (+0000) Subject: LP#1152272: do not log batch invocation of srfsh in .srfsh_history X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=52d4cefbb97ab268918d0231cdece105b652576c;p=working%2FOpenSRF.git 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 --- 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); }