aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/execute_command_line.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2017-10-10 16:49:32 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2017-10-10 16:49:32 +0000
commit3934b625ee2f522edf455191d1eaaa42e265a1d9 (patch)
tree6d2aba7bdb402ff9984c97114d2053a2282a468b /libgfortran/intrinsics/execute_command_line.c
parent53befce7f2b35e69ad78b945fc06403c753480a5 (diff)
downloadgcc-3934b625ee2f522edf455191d1eaaa42e265a1d9.zip
gcc-3934b625ee2f522edf455191d1eaaa42e265a1d9.tar.gz
gcc-3934b625ee2f522edf455191d1eaaa42e265a1d9.tar.bz2
re PR libfortran/82233 (execute_command_line causes program to stop when command fails (or does not exist))
2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/82233 * intrinsics/execute_command_line.c (execute_command_line): No call to runtime_error if cmdstat is present. 2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/82233 * gfortran.dg/execute_command_line_3.f90: New test. From-SVN: r253593
Diffstat (limited to 'libgfortran/intrinsics/execute_command_line.c')
-rw-r--r--libgfortran/intrinsics/execute_command_line.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/libgfortran/intrinsics/execute_command_line.c b/libgfortran/intrinsics/execute_command_line.c
index 339d1bb..31ab36d 100644
--- a/libgfortran/intrinsics/execute_command_line.c
+++ b/libgfortran/intrinsics/execute_command_line.c
@@ -125,15 +125,9 @@ execute_command_line (const char *command, bool wait, int *exitstat,
free (cmd);
/* Now copy back to the Fortran string if needed. */
- if (cmdstat && *cmdstat > EXEC_NOERROR)
- {
- if (cmdmsg)
- fstrcpy (cmdmsg, cmdmsg_len, cmdmsg_values[*cmdstat],
+ if (cmdstat && *cmdstat > EXEC_NOERROR && cmdmsg)
+ fstrcpy (cmdmsg, cmdmsg_len, cmdmsg_values[*cmdstat],
strlen (cmdmsg_values[*cmdstat]));
- else
- runtime_error ("Failure in EXECUTE_COMMAND_LINE: %s",
- cmdmsg_values[*cmdstat]);
- }
}