summaryrefslogtreecommitdiff
path: root/alpine/alpine.c
diff options
context:
space:
mode:
Diffstat (limited to 'alpine/alpine.c')
-rw-r--r--alpine/alpine.c45
1 files changed, 27 insertions, 18 deletions
diff --git a/alpine/alpine.c b/alpine/alpine.c
index c2b7b372..6daed0ff 100644
--- a/alpine/alpine.c
+++ b/alpine/alpine.c
@@ -1,10 +1,6 @@
-#if !defined(lint) && !defined(DOS)
-static char rcsid[] = "$Id: alpine.c 1266 2009-07-14 18:39:12Z hubert@u.washington.edu $";
-#endif
-
/*
* ========================================================================
- * Copyright 2013-2021 Eduardo Chappa
+ * Copyright 2013-2022 Eduardo Chappa
* Copyright 2006-2008 University of Washington
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -64,7 +60,6 @@ static char rcsid[] = "$Id: alpine.c 1266 2009-07-14 18:39:12Z hubert@u.washingt
#include "after.h"
#include "smime.h"
#include "newmail.h"
-#include "xoauth2conf.h"
#ifndef _WINDOWS
#include "../pico/osdep/raw.h" /* for STD*_FD */
#endif
@@ -334,6 +329,7 @@ main(int argc, char **argv)
mail_parameters(NULL, SET_FREESTREAMSPAREP, (void *) sp_free_callback);
mail_parameters(NULL, SET_FREEELTSPAREP, (void *) free_pine_elt);
mail_parameters(NULL, SET_FREEBODYSPAREP, (void *) free_body_sparep);
+ mail_parameters(NULL, SET_ERASEPASSWORD, (void *) pine_delete_pwd);
mail_parameters(NULL, SET_OA2CLIENTGETACCESSCODE, (void *) oauth2_get_access_code);
mail_parameters(NULL, SET_OA2CLIENTINFO, (void *) oauth2_get_client_info);
mail_parameters(NULL, SET_OA2DEVICEINFO, (void *) oauth2_set_device_info);
@@ -662,6 +658,7 @@ main(int argc, char **argv)
}
}
+#ifdef DF_ENCRYPTION_RANGE
if(ps_global->VAR_ENCRYPTION_RANGE
&& ps_global->VAR_ENCRYPTION_RANGE[0]){
char *min_s, *max_s, *s;
@@ -693,6 +690,9 @@ main(int argc, char **argv)
min_v = pith_ssl_encryption_version(min_s);
max_v = pith_ssl_encryption_version(max_s);
+ if(min_s != NULL) fs_give((void **) &min_s);
+ if(max_s != NULL) fs_give((void **) &max_s);
+
if(min_v < 0 || max_v < 0){
snprintf(tmp_20k_buf, SIZEOF_20KBUF,
_("Bad encryption range: \"%s\": resetting to default"),
@@ -724,7 +724,7 @@ main(int argc, char **argv)
mail_parameters(NULL, SET_ENCRYPTION_RANGE_MAX, (void *) &max_v);
}
}
-
+#endif /* DF_ENCRYPTION_RANGE */
/*
* setup alternative authentication driver preference for IMAP opens
@@ -1098,7 +1098,7 @@ main(int argc, char **argv)
args.data.mail.attachlist)
&& pine_state->next_screen))
free_attachment_list(&args.data.mail.attachlist);
- goodnight_gracey(pine_state, 0);
+ goodnight_gracey(pine_state, 0);
}
else {
q_status_message(SM_ORDER | SM_DING, 3, 4,
@@ -3234,12 +3234,24 @@ quit_screen(struct pine *pine_state)
if(F_ON(F_CHECK_MAIL_ONQUIT,ps_global)
&& pine_state->mail_stream != NULL
- && new_mail(1, VeryBadTime, NM_STATUS_MSG | NM_DEFER_SORT) > 0
- && (quit = want_to(_("Quit even though new mail just arrived"), 'y', 0,
- NO_HELP, WT_NORM | WT_DING)) != 'y'){
- refresh_sort(pine_state->mail_stream, pine_state->msgmap, SRT_VRB);
- pine_state->next_screen = pine_state->prev_screen;
- return;
+ && new_mail(1, VeryBadTime, NM_STATUS_MSG | NM_DEFER_SORT) > 0){
+ char *prompt = NULL;
+ if(sp_mail_since_cmd(pine_state->mail_stream) == 1)
+ prompt = cpystr(_("Quit even though 1 new mail just arrived"));
+ else if(sp_mail_since_cmd(pine_state->mail_stream) > 1){
+ snprintf(tmp_20k_buf, SIZEOF_20KBUF, _("Quit even though %lu new messages just arrived"), sp_mail_since_cmd(pine_state->mail_stream));
+ tmp_20k_buf[SIZEOF_20KBUF-1] = '\0';
+ prompt = cpystr(tmp_20k_buf);
+ }
+ else prompt = cpystr(_("Quit even though new mail just arrived"));
+ quit = want_to(prompt, 'y', 0, NO_HELP, WT_NORM | WT_DING);
+ if(prompt)
+ fs_give((void **) &prompt);
+ if(quit != 'y'){
+ refresh_sort(pine_state->mail_stream, pine_state->msgmap, SRT_VRB);
+ pine_state->next_screen = pine_state->prev_screen;
+ return;
+ }
}
if(quit != 'y'
@@ -3653,10 +3665,7 @@ prune_folders_ok(void)
void
free_alpine_module_globals(void)
-{
-#ifdef LOCAL_PASSWD_CACHE
- free_passfile_cache();
-#endif
+{
free_message_queue();
free_titlebar_globals();
}