Skip to content

Commit

Permalink
Don't use array size in function arguments
Browse files Browse the repository at this point in the history
The declaration of argv_to_string() mismatched its definition. The
definition had the array size, the declaration had not. Remove array sizes
from all functions declared in argv.h.

Array sizes in function arguments don't ensure the code correctness but can
give a wrong impression that the compiler would check the array size.
  • Loading branch information
proski authored and koutcher committed Aug 31, 2023
1 parent 46df851 commit 2406676
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
6 changes: 3 additions & 3 deletions include/tig/argv.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@

bool argv_to_string(const char *argv[], char *buf, size_t buflen, const char *sep);
char *argv_to_string_alloc(const char *argv[], const char *sep);
bool argv_to_string_quoted(const char *argv[SIZEOF_ARG], char *buf, size_t buflen, const char *sep);
bool argv_from_string_no_quotes(const char *argv[SIZEOF_ARG], int *argc, char *cmd);
bool argv_from_string(const char *argv[SIZEOF_ARG], int *argc, char *cmd);
bool argv_to_string_quoted(const char *argv[], char *buf, size_t buflen, const char *sep);
bool argv_from_string_no_quotes(const char *argv[], int *argc, char *cmd);
bool argv_from_string(const char *argv[], int *argc, char *cmd);
void argv_free(const char *argv[]);
size_t argv_size(const char **argv);
bool argv_append(const char ***argv, const char *arg);
Expand Down
10 changes: 5 additions & 5 deletions src/argv.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ argv_to_string_alloc(const char *argv[], const char *sep)
}

bool
argv_to_string_quoted(const char *argv[SIZEOF_ARG], char *buf, size_t buflen, const char *sep)
argv_to_string_quoted(const char *argv[], char *buf, size_t buflen, const char *sep)
{
return concat_argv(argv, buf, buflen, sep, true);
}

bool
argv_to_string(const char *argv[SIZEOF_ARG], char *buf, size_t buflen, const char *sep)
argv_to_string(const char *argv[], char *buf, size_t buflen, const char *sep)
{
return concat_argv(argv, buf, buflen, sep, false);
}
Expand Down Expand Up @@ -144,7 +144,7 @@ parse_arg(char **cmd, bool remove_quotes)
}

static bool
split_argv_string(const char *argv[SIZEOF_ARG], int *argc, char *cmd, bool remove_quotes)
split_argv_string(const char *argv[], int *argc, char *cmd, bool remove_quotes)
{
while (*cmd && *argc < SIZEOF_ARG) {
char *arg = parse_arg(&cmd, remove_quotes);
Expand All @@ -161,13 +161,13 @@ split_argv_string(const char *argv[SIZEOF_ARG], int *argc, char *cmd, bool remov
}

bool
argv_from_string_no_quotes(const char *argv[SIZEOF_ARG], int *argc, char *cmd)
argv_from_string_no_quotes(const char *argv[], int *argc, char *cmd)
{
return split_argv_string(argv, argc, cmd, true);
}

bool
argv_from_string(const char *argv[SIZEOF_ARG], int *argc, char *cmd)
argv_from_string(const char *argv[], int *argc, char *cmd)
{
return split_argv_string(argv, argc, cmd, false);
}
Expand Down

0 comments on commit 2406676

Please sign in to comment.