diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-07-06 21:54:46 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-07-06 21:54:46 +0300 |
commit | 67e7305e64fea8d15879e9dc3831fc8e31cfe619 (patch) | |
tree | d8ed9ee0a2b54f3df4619af5757d938bb5247986 /builtin/credential-store.c | |
parent | da269af9207e38e820daad8aa993caa7d2fad76c (diff) | |
parent | 787cb8a48ae24ff07fa7c763909bb204bfdc84a7 (diff) |
Merge branch 'cw/strbuf-cleanup'
Move functions that are not about pure string manipulation out of
strbuf.[ch]
* cw/strbuf-cleanup:
strbuf: remove global variable
path: move related function to path
object-name: move related functions to object-name
credential-store: move related functions to credential-store file
abspath: move related functions to abspath
strbuf: clarify dependency
strbuf: clarify API boundary
Diffstat (limited to 'builtin/credential-store.c')
-rw-r--r-- | builtin/credential-store.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/builtin/credential-store.c b/builtin/credential-store.c index 0937230bce..4a492411bb 100644 --- a/builtin/credential-store.c +++ b/builtin/credential-store.c @@ -75,6 +75,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; +} + static void store_credential_file(const char *fn, struct credential *c) { struct strbuf buf = STRBUF_INIT; |