diff options
author | Eduardo Chappa <chappa@washington.edu> | 2015-01-25 18:52:13 -0700 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2015-01-25 18:52:13 -0700 |
commit | 4db5ba9a511564e4a3cb3d2b67bce4bb171eae4f (patch) | |
tree | 8ff91f6581acb023e7a3d989414cc925927b49b3 /pith/conf.c | |
parent | 2ea73d14866f5eb39bc6a9aab36312abd6fa525c (diff) | |
download | alpine-4db5ba9a511564e4a3cb3d2b67bce4bb171eae4f.tar.xz |
* new version 2.20.1
* Ignore message from smtp server after a successful authentication
challenge.
* Alpine would not set include and lib paths for OpenSSL if this was
installed in /usr/local/ssl.
* If the .pinerc file is a symbolic link, Alpine might not write its
contents when saving its configuration.
* The _INIT_ token does not skip over non-alpha numeric characters in
the name. Reported by Andreas Fehr.
* If SSLDIR is defined somehow, do not disable S/MIME if the
SSLCERTSDIR is not found.
* Mismatch in size of UCS and CELL caused a corruption in the
content of a pointer, which made the speller in PC-Alpine get
the content of a word incorrectly.
* Update splash screen to version 2.20 in main repository.
* Skip testing openssl compatibility version when cross-compilation is
detected. Fix contributed by Antti Seppälä.
Diffstat (limited to 'pith/conf.c')
-rw-r--r-- | pith/conf.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/pith/conf.c b/pith/conf.c index aca7ea28..e8c1ceb9 100644 --- a/pith/conf.c +++ b/pith/conf.c @@ -5938,16 +5938,21 @@ write_pinerc(struct pine *ps, EditWhich which, int flags) slpath = cpystr(slink); else{ char * basep; + int n; + basep = strrchr(filename, '/'); - if(basep == NULL){ + if(basep != NULL){ *basep = '\0'; - slpath = (char *) fs_get((strlen(filename) + strlen(slink) + 2)*sizeof(char)); - snprintf(slpath, sizeof(slpath), "%s/%s", filename, slink); + n = strlen(filename) + strlen(slink) + 2; + slpath = (char *) fs_get(n*sizeof(char)); + snprintf(slpath, n, "%s/%s", filename, slink); *basep = '/'; } else { - slpath = (char *) fs_get((strlen(ps_global->home_dir) + strlen(slink) + 2)*sizeof(char)); - snprintf(slpath, sizeof(slpath), "%s/%s", ps_global->home_dir, slink); + n = strlen(ps_global->home_dir) + strlen(slink) + 2; + slpath = (char *) fs_get(n*sizeof(char)); + snprintf(slpath, n, "%s/%s", ps_global->home_dir, slink); } + slpath[n-1] = '\0'; } file_attrib_copy(tmp, slpath); r = rename_file(tmp, slpath); |