Calvin Wan <calvinwan@xxxxxxxxxx> writes: > is_rfc3986_unreserved() and is_rfc3986_reserved_or_unreserved() are only > called from builtin/credential-store.c and they are only relevant to that > file so move those functions and make them static. > > Signed-off-by: Calvin Wan <calvinwan@xxxxxxxxxx> > --- > builtin/credential-store.c | 19 +++++++++++++++++++ > strbuf.c | 19 ------------------- > strbuf.h | 3 --- > 3 files changed, 19 insertions(+), 22 deletions(-) > > diff --git a/builtin/credential-store.c b/builtin/credential-store.c > index 8977604eb9..4776118331 100644 > --- a/builtin/credential-store.c > +++ b/builtin/credential-store.c > @@ -73,6 +73,25 @@ static void rewrite_credential_file(const char *fn, struct credential *c, > die_errno("unable to write credential store"); > } > > +static int is_rfc3986_unreserved(char ch) > +{ > + return isalnum(ch) || > + ch == '-' || ch == '_' || ch == '.' || ch == '~'; > +} > + > +static int is_rfc3986_reserved_or_unreserved(char ch) > +{ > + if (is_rfc3986_unreserved(ch)) > + return 1; > + switch (ch) { > + case '!': case '*': case '\'': case '(': case ')': case ';': > + case ':': case '@': case '&': case '=': case '+': case '$': > + case ',': case '/': case '?': case '#': case '[': case ']': > + return 1; > + } > + return 0; > +} Both the moved ones being static means we even lose the declarations in the header file. Very nice.