aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-01-03 01:30:32 -0500
committerMike Frysinger <vapier@gentoo.org>2016-01-05 15:25:13 -0500
commitb36c1ccb1feb678f7279b4a8d66c0125d4295078 (patch)
tree3739015b75cd944eecae804145791ad650581706 /libiberty
parent203217665139943a4f0d1797b9a5f913b3acf184 (diff)
downloadgdb-b36c1ccb1feb678f7279b4a8d66c0125d4295078.zip
gdb-b36c1ccb1feb678f7279b4a8d66c0125d4295078.tar.gz
gdb-b36c1ccb1feb678f7279b4a8d66c0125d4295078.tar.bz2
libiberty: {count,dup,write}argv: constify argv input slightly
Would be more useful if we could use "const char * const *", but there's a long standing bug where gcc warns about incompatible pointers when you try to pass in "char **". We can at least constify the array itself as gcc will not warn in that case.
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/argv.c12
-rw-r--r--libiberty/functions.texi6
3 files changed, 15 insertions, 9 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index ba1e0a5..77c1ecb 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,5 +1,11 @@
2016-01-05 Mike Frysinger <vapier@gentoo.org>
+ * argv.c (dupargv): Change arg to char * const *. Update comment.
+ (writeargv, countargv): Likewise.
+ * functions.texi (dupargv, writeargv, countargv): Likewise.
+
+2016-01-05 Mike Frysinger <vapier@gentoo.org>
+
* argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
2015-12-28 Patrick Palka <ppalka@gcc.gnu.org>
diff --git a/libiberty/argv.c b/libiberty/argv.c
index 5c3dd70..994dd35 100644
--- a/libiberty/argv.c
+++ b/libiberty/argv.c
@@ -49,7 +49,7 @@ Boston, MA 02110-1301, USA. */
/*
-@deftypefn Extension char** dupargv (char **@var{vector})
+@deftypefn Extension char** dupargv (char * const *@var{vector})
Duplicate an argument vector. Simply scans through @var{vector},
duplicating each argument until the terminating @code{NULL} is found.
@@ -62,7 +62,7 @@ argument vector.
*/
char **
-dupargv (char **argv)
+dupargv (char * const *argv)
{
int argc;
char **copy;
@@ -279,7 +279,7 @@ char **buildargv (const char *input)
/*
-@deftypefn Extension int writeargv (const char **@var{argv}, FILE *@var{file})
+@deftypefn Extension int writeargv (char * const *@var{argv}, FILE *@var{file})
Write each member of ARGV, handling all necessary quoting, to the file
named by FILE, separated by whitespace. Return 0 on success, non-zero
@@ -290,7 +290,7 @@ if an error occurred while writing to FILE.
*/
int
-writeargv (char **argv, FILE *f)
+writeargv (char * const *argv, FILE *f)
{
int status = 0;
@@ -463,7 +463,7 @@ expandargv (int *argcp, char ***argvp)
/*
-@deftypefn Extension int countargv (char **@var{argv})
+@deftypefn Extension int countargv (char * const *@var{argv})
Return the number of elements in @var{argv}.
Returns zero if @var{argv} is NULL.
@@ -473,7 +473,7 @@ Returns zero if @var{argv} is NULL.
*/
int
-countargv (char **argv)
+countargv (char * const *argv)
{
int argc;
diff --git a/libiberty/functions.texi b/libiberty/functions.texi
index b5f4e80..24dcc37 100644
--- a/libiberty/functions.texi
+++ b/libiberty/functions.texi
@@ -176,7 +176,7 @@ Concatenate zero or more of strings and return the result in freshly
@end deftypefn
@c argv.c:470
-@deftypefn Extension int countargv (char **@var{argv})
+@deftypefn Extension int countargv (char * const *@var{argv})
Return the number of elements in @var{argv}.
Returns zero if @var{argv} is NULL.
@@ -213,7 +213,7 @@ make it easy to compose the values of multiple blocks.
@end deftypefn
@c argv.c:52
-@deftypefn Extension char** dupargv (char **@var{vector})
+@deftypefn Extension char** dupargv (char * const *@var{vector})
Duplicate an argument vector. Simply scans through @var{vector},
duplicating each argument until the terminating @code{NULL} is found.
@@ -1915,7 +1915,7 @@ does the return value. The third argument is unused in @libib{}.
@end deftypefn
@c argv.c:286
-@deftypefn Extension int writeargv (const char **@var{argv}, FILE *@var{file})
+@deftypefn Extension int writeargv (char * const *@var{argv}, FILE *@var{file})
Write each member of ARGV, handling all necessary quoting, to the file
named by FILE, separated by whitespace. Return 0 on success, non-zero