aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2005-02-20 15:24:02 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2005-02-20 15:24:02 +0000
commit5920b5d2e8ead646a8cbb66847a4586b4db16ad6 (patch)
treea8a3d44beae002b12e8062d1f15bb5f8a5068c2d /libgfortran
parentac59a959363d95d4bcb62231d545319166471fc3 (diff)
downloadgcc-5920b5d2e8ead646a8cbb66847a4586b4db16ad6.zip
gcc-5920b5d2e8ead646a8cbb66847a4586b4db16ad6.tar.gz
gcc-5920b5d2e8ead646a8cbb66847a4586b4db16ad6.tar.bz2
re PR libfortran/20085 (iargc returns wrong count for number of program arguments)
PR 20085 * intrinsic/args.c (iargc): Off by 1. From-SVN: r95302
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/intrinsics/args.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 22de501..4aa4077 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-20 Steven G. Kargl <kargls@comcast.net>
+
+ PR 20085
+ * intrinsic/args.c (iargc): Off by 1.
+
2005-02-19 Steven G. Kargl <kargls@comcast.net>
* intrinsic/date_and_time.c: Fix conformance problems.
diff --git a/libgfortran/intrinsics/args.c b/libgfortran/intrinsics/args.c
index e1032d4..72f1b98 100644
--- a/libgfortran/intrinsics/args.c
+++ b/libgfortran/intrinsics/args.c
@@ -1,6 +1,6 @@
/* Implementation of the GETARG and IARGC g77, and
corresponding F2003, intrinsics.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
Contributed by Bud Davis and Janne Blomqvist.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -78,7 +78,9 @@ getarg_i8 (GFC_INTEGER_8 *pos, char *val, gfc_charlen_type val_len)
}
-/* Return the number of commandline arguments. */
+/* Return the number of commandline arguments. The g77 info page
+ states that iargc does not include the specification of the
+ program name itself. */
extern GFC_INTEGER_4 iargc (void);
export_proto(iargc);
@@ -91,7 +93,7 @@ iargc (void)
get_args (&argc, &argv);
- return argc;
+ return (argc - 1);
}