diff options
author | Eduardo Chappa <chappa@washington.edu> | 2019-05-04 12:41:11 -0600 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2019-05-04 12:41:11 -0600 |
commit | c024a78dbaa9b42db7f18b0fea1894c41e2b0d67 (patch) | |
tree | 441e7308e4577ac8766c44edda682704aa432262 /pith/string.c | |
parent | 19cde66486e27063a9af8cfd79c6eb7f106b9111 (diff) | |
download | alpine-c024a78dbaa9b42db7f18b0fea1894c41e2b0d67.tar.xz |
* Initial release of XOAUTH2 authentication support in Alpine for
Gmail.
Diffstat (limited to 'pith/string.c')
-rw-r--r-- | pith/string.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/pith/string.c b/pith/string.c index 11a57fc0..50833afa 100644 --- a/pith/string.c +++ b/pith/string.c @@ -2839,11 +2839,23 @@ isxpair(char *s) STRLIST_S * new_strlist(char *name) { + return new_strlist_auth(name, NULL, '\0'); +} + +STRLIST_S * +new_strlist_auth(char *name, char *authtype, char sep) +{ STRLIST_S *sp = (STRLIST_S *) fs_get(sizeof(STRLIST_S)); - memset(sp, 0, sizeof(STRLIST_S)); - if(name) - sp->name = cpystr(name); + int len = authtype ? strlen(authtype) : 0; + int offset = authtype ? 1 : 0; + memset(sp, 0, sizeof(STRLIST_S)); + if(name){ + sp->name = fs_get(strlen(name) + len + offset + 1); + sprintf(sp->name, "%s%s%s", authtype ? authtype : "", + authtype ? " " : "", name); + if(authtype != NULL) sp->name[len] = sep; + } return(sp); } |