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. From-SVN: r232089
This commit is contained in:
parent
acf93f1edc
commit
66f49f07d8
|
@ -1,3 +1,8 @@
|
||||||
|
2016-01-05 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* libiberty.h (dupargv): Change arg to char * const *.
|
||||||
|
(writeargv, countargv): Likewise.
|
||||||
|
|
||||||
2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
|
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
|
||||||
|
|
|
@ -80,7 +80,7 @@ extern void freeargv (char **);
|
||||||
/* Duplicate an argument vector. Allocates memory using malloc. Use
|
/* Duplicate an argument vector. Allocates memory using malloc. Use
|
||||||
freeargv to free the vector. */
|
freeargv to free the vector. */
|
||||||
|
|
||||||
extern char **dupargv (char **) ATTRIBUTE_MALLOC;
|
extern char **dupargv (char * const *) ATTRIBUTE_MALLOC;
|
||||||
|
|
||||||
/* Expand "@file" arguments in argv. */
|
/* Expand "@file" arguments in argv. */
|
||||||
|
|
||||||
|
@ -88,11 +88,11 @@ extern void expandargv (int *, char ***);
|
||||||
|
|
||||||
/* Write argv to an @-file, inserting necessary quoting. */
|
/* Write argv to an @-file, inserting necessary quoting. */
|
||||||
|
|
||||||
extern int writeargv (char **, FILE *);
|
extern int writeargv (char * const *, FILE *);
|
||||||
|
|
||||||
/* Return the number of elements in argv. */
|
/* Return the number of elements in argv. */
|
||||||
|
|
||||||
extern int countargv (char**);
|
extern int countargv (char * const *);
|
||||||
|
|
||||||
/* Return the last component of a path name. Note that we can't use a
|
/* Return the last component of a path name. Note that we can't use a
|
||||||
prototype here because the parameter is declared inconsistently
|
prototype here because the parameter is declared inconsistently
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
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>
|
2016-01-05 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
|
* argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
|
||||||
|
|
|
@ -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},
|
Duplicate an argument vector. Simply scans through @var{vector},
|
||||||
duplicating each argument until the terminating @code{NULL} is found.
|
duplicating each argument until the terminating @code{NULL} is found.
|
||||||
|
@ -62,7 +62,7 @@ argument vector.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char **
|
char **
|
||||||
dupargv (char **argv)
|
dupargv (char * const *argv)
|
||||||
{
|
{
|
||||||
int argc;
|
int argc;
|
||||||
char **copy;
|
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
|
Write each member of ARGV, handling all necessary quoting, to the file
|
||||||
named by FILE, separated by whitespace. Return 0 on success, non-zero
|
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
|
int
|
||||||
writeargv (char **argv, FILE *f)
|
writeargv (char * const *argv, FILE *f)
|
||||||
{
|
{
|
||||||
int status = 0;
|
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}.
|
Return the number of elements in @var{argv}.
|
||||||
Returns zero if @var{argv} is NULL.
|
Returns zero if @var{argv} is NULL.
|
||||||
|
@ -473,7 +473,7 @@ Returns zero if @var{argv} is NULL.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
countargv (char **argv)
|
countargv (char * const *argv)
|
||||||
{
|
{
|
||||||
int argc;
|
int argc;
|
||||||
|
|
||||||
|
|
|
@ -176,7 +176,7 @@ Concatenate zero or more of strings and return the result in freshly
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@c argv.c:470
|
@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}.
|
Return the number of elements in @var{argv}.
|
||||||
Returns zero if @var{argv} is NULL.
|
Returns zero if @var{argv} is NULL.
|
||||||
|
@ -213,7 +213,7 @@ make it easy to compose the values of multiple blocks.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@c argv.c:52
|
@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},
|
Duplicate an argument vector. Simply scans through @var{vector},
|
||||||
duplicating each argument until the terminating @code{NULL} is found.
|
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
|
@end deftypefn
|
||||||
|
|
||||||
@c argv.c:286
|
@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
|
Write each member of ARGV, handling all necessary quoting, to the file
|
||||||
named by FILE, separated by whitespace. Return 0 on success, non-zero
|
named by FILE, separated by whitespace. Return 0 on success, non-zero
|
||||||
|
|
Loading…
Reference in New Issue