Updating link to change in openSUSE:Factory/alpine revision 38.0
OBS-URL: https://build.opensuse.org/package/show/server:mail/alpine?expand=0&rev=0df79cc66d158318ac0ab6fbb1c8a0df
This commit is contained in:
parent
88dc714163
commit
7bdde85c8b
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fecc9ca5df03e0f368edec65cd61444325157b5635b5c92380cedf9c4ce8fbf6
|
|
||||||
size 4403188
|
|
3
alpine-2.20.tar.xz
Normal file
3
alpine-2.20.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ed639b6e5bb97e6b0645c85262ca6a784316195d461ce8d8411999bf80449227
|
||||||
|
size 4841816
|
@ -3,11 +3,11 @@
|
|||||||
pith/send.c | 1 +
|
pith/send.c | 1 +
|
||||||
2 files changed, 13 insertions(+), 2 deletions(-)
|
2 files changed, 13 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
Index: alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/osdep/unix/dummy.c
|
--- alpine-2.20.orig/imap/src/osdep/unix/dummy.c
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/dummy.c
|
+++ alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||||
@@ -736,6 +736,17 @@ long dummy_copy (MAILSTREAM *stream,char
|
@@ -734,6 +734,17 @@ long dummy_copy (MAILSTREAM *stream,char
|
||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
|
|
||||||
/* Dummy append message string
|
/* Dummy append message string
|
||||||
* Accepts: mail stream
|
* Accepts: mail stream
|
||||||
@@ -755,8 +766,7 @@ long dummy_append (MAILSTREAM *stream,ch
|
@@ -753,8 +764,7 @@ long dummy_append (MAILSTREAM *stream,ch
|
||||||
/* append to INBOX? */
|
/* append to INBOX? */
|
||||||
if (!compare_cstring (mailbox,"INBOX")) {
|
if (!compare_cstring (mailbox,"INBOX")) {
|
||||||
/* yes, if no empty proto try creating */
|
/* yes, if no empty proto try creating */
|
||||||
@ -35,12 +35,12 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
}
|
}
|
||||||
else if (dummy_file (tmp,mailbox) && ((fd = open (tmp,O_RDONLY,NIL)) < 0)) {
|
else if (dummy_file (tmp,mailbox) && ((fd = open (tmp,O_RDONLY,NIL)) < 0)) {
|
||||||
if ((e = errno) == ENOENT) /* failed, was it no such file? */
|
if ((e = errno) == ENOENT) /* failed, was it no such file? */
|
||||||
Index: alpine-2.11/pith/send.c
|
Index: alpine-2.20/pith/send.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/send.c
|
--- alpine-2.20.orig/pith/send.c
|
||||||
+++ alpine-2.11/pith/send.c
|
+++ alpine-2.20/pith/send.c
|
||||||
@@ -1570,6 +1570,7 @@ set_priority_header(METAENV *header, cha
|
@@ -4159,6 +4159,7 @@ set_parameter(PARAMETER **param, char *p
|
||||||
pf->textbuf = cpystr(value);
|
pm->value = cpystr(new_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+ return 0;
|
+ return 0;
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
--- alpine-2.11/pith/send.c 2013-08-15 06:36:22.000000000 +0200
|
|
||||||
+++ alpine-2.19.4/pith/send.c 2013-12-27 20:23:54.000000000 +0100
|
|
||||||
@@ -4419,6 +4423,17 @@
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
+char *
|
|
||||||
+ToLower(char *s, char *t)
|
|
||||||
+{
|
|
||||||
+ int i;
|
|
||||||
+
|
|
||||||
+ for(i = 0; s != NULL && s[i] != '\0'; i++)
|
|
||||||
+ t[i] = s[i] + ((s[i] >= 'A' && s[i] <= 'Z') ? ('a' - 'A') : 0);
|
|
||||||
+ t[i] = '\0';
|
|
||||||
+
|
|
||||||
+ return t;
|
|
||||||
+}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pine_write_body_header - another c-client clone. This time
|
|
||||||
@@ -4441,11 +4456,11 @@
|
|
||||||
|
|
||||||
if((so = so_get(CharStar, NULL, WRITE_ACCESS)) != NULL){
|
|
||||||
if(!(so_puts(so, "Content-Type: ")
|
|
||||||
- && so_puts(so, body_types[body->type])
|
|
||||||
+ && so_puts(so, ToLower(body_types[body->type], tmp))
|
|
||||||
&& so_puts(so, "/")
|
|
||||||
- && so_puts(so, body->subtype
|
|
||||||
- ? body->subtype
|
|
||||||
- : rfc822_default_subtype (body->type))))
|
|
||||||
+ && so_puts(so, ToLower(body->subtype
|
|
||||||
+ ? body->subtype
|
|
||||||
+ : rfc822_default_subtype (body->type),tmp))))
|
|
||||||
return(pwbh_finish(0, so));
|
|
||||||
|
|
||||||
if(body->parameter){
|
|
@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
pith/string.c | 14 ++++++++++++++
|
|
||||||
1 file changed, 14 insertions(+)
|
|
||||||
|
|
||||||
Index: alpine-2.11/pith/string.c
|
|
||||||
===================================================================
|
|
||||||
--- alpine-2.11.orig/pith/string.c
|
|
||||||
+++ alpine-2.11/pith/string.c
|
|
||||||
@@ -770,6 +770,7 @@ month_abbrev_locale(int month_num)
|
|
||||||
return("xxx");
|
|
||||||
else{
|
|
||||||
static char buf[20];
|
|
||||||
+ char *utf8buf;
|
|
||||||
struct tm tm;
|
|
||||||
|
|
||||||
memset(&tm, 0, sizeof(tm));
|
|
||||||
@@ -811,6 +812,12 @@ month_abbrev_locale(int month_num)
|
|
||||||
|
|
||||||
buf[0] = ' ';
|
|
||||||
}
|
|
||||||
+ utf8buf = convert_to_utf8(buf, NULL, 0);
|
|
||||||
+ if (utf8buf != NULL) {
|
|
||||||
+ strncpy(buf, utf8buf, sizeof(buf));
|
|
||||||
+ buf[sizeof(buf)-1] = '\0';
|
|
||||||
+ fs_give((void **)&utf8buf);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return(buf);
|
|
||||||
}
|
|
||||||
@@ -842,12 +849,19 @@ month_name_locale(int month_num)
|
|
||||||
return("");
|
|
||||||
else{
|
|
||||||
static char buf[20];
|
|
||||||
+ char *utf8buf;
|
|
||||||
struct tm tm;
|
|
||||||
|
|
||||||
memset(&tm, 0, sizeof(tm));
|
|
||||||
tm.tm_year = 107;
|
|
||||||
tm.tm_mon = month_num-1;
|
|
||||||
our_strftime(buf, sizeof(buf), "%B", &tm);
|
|
||||||
+ utf8buf = convert_to_utf8(buf, NULL, 0);
|
|
||||||
+ if (utf8buf != NULL) {
|
|
||||||
+ strncpy(buf, utf8buf, sizeof(buf));
|
|
||||||
+ buf[sizeof(buf)-1] = '\0';
|
|
||||||
+ fs_give((void **)&utf8buf);
|
|
||||||
+ }
|
|
||||||
return(buf);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +1,51 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 25 16:59:29 UTC 2015 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Update to new upstream release 2.20
|
||||||
|
* Upgrade UW-IMAP to Panda IMAP from github.com/jonabbey/panda-imap
|
||||||
|
* S/MIME: Add screen to manage certificates.
|
||||||
|
* S/MIME: Signatures are validated using the user's certificates
|
||||||
|
instead of the ones included in the message. Behavior can be
|
||||||
|
disabled by disabling the option "Validate Using Certificate
|
||||||
|
Store Only" which is enabled by default.
|
||||||
|
* S/MIME: add the sender certificate to the list of certificates
|
||||||
|
in encrypted messages to make it possible for the sender to
|
||||||
|
decrypt the message they sent.
|
||||||
|
* S/MIME: Forwarding a message will include the signed part as part
|
||||||
|
of the text and not as a multipart message, just as the reply
|
||||||
|
command does.
|
||||||
|
* Add support to selective expunge through a subcommand of the
|
||||||
|
select-apply commands.
|
||||||
|
* Pico: New subcommand of the search command, allows to reverse the
|
||||||
|
direction of search.
|
||||||
|
* Add /tls1, /tls1_1, /tls1_2 and /dtls1 to the definition of a
|
||||||
|
server to use different ways to connect using ssl, for example
|
||||||
|
{server.com/tls1} will attempt to connect to server.com at the
|
||||||
|
ssl imap port (port 993) and establish a connection using TLSv1.
|
||||||
|
These flags can be used in conjunction with the /ssl flag, the
|
||||||
|
ssl flag is redundant. Conversely, however, the /ssl flag does
|
||||||
|
not imply any of these flags; the /ssl flag means SSLv3 or, if
|
||||||
|
not available, SSLv2 in the SSL port.
|
||||||
|
* Alpine does not attempt to automatically reopen a collection that
|
||||||
|
was not opened due to cancellation by the user. Instead, the user
|
||||||
|
must try to open it explicitly.
|
||||||
|
* Experimental: Write the content-type of a message in lowercase,
|
||||||
|
as some non-compliant servers do not understand uppercase
|
||||||
|
content-type.
|
||||||
|
* Opening a folder updates recent count in maildrops (this
|
||||||
|
already works for other types of folders)
|
||||||
|
* Pico: Justification works without need of a predefined quote
|
||||||
|
string. This allows justification of blocks of text that are
|
||||||
|
indented with spaces.
|
||||||
|
* Decode the name of attachment names, so they can be written as
|
||||||
|
part of the description of the part.
|
||||||
|
* Replace tabs by spaces in From and Subject fields to control for
|
||||||
|
size in screen of these fields. Change only in index screen
|
||||||
|
display.
|
||||||
|
- Drop alpine-month_name-utf8.patch (solved differently upstream),
|
||||||
|
drop alpine-mime-type-workaround.patch (merged upstream)
|
||||||
|
- Add lint.diff to workaround new source code problems
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 3 11:54:13 UTC 2014 - jengelh@inai.de
|
Mon Mar 3 11:54:13 UTC 2014 - jengelh@inai.de
|
||||||
|
|
||||||
|
18
alpine.spec
18
alpine.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package alpine
|
# spec file for package alpine
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -22,11 +22,13 @@ Name: alpine
|
|||||||
Summary: Mail User Agent
|
Summary: Mail User Agent
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Productivity/Networking/Email/Clients
|
Group: Productivity/Networking/Email/Clients
|
||||||
Version: 2.11
|
Version: 2.20
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://patches.freeiz.com/alpine/
|
Url: http://patches.freeiz.com/alpine/
|
||||||
|
|
||||||
Source: http://patches.freeiz.com/alpine/release/src/%name-%version.tar.xz
|
# direct download does not work for openSUSE:Factory
|
||||||
|
# Source: http://patches.freeiz.com/alpine/release/src/%name-%version.tar.xz
|
||||||
|
Source: %name-%version.tar.xz
|
||||||
Source1: %name.png
|
Source1: %name.png
|
||||||
Source2: %name.desktop
|
Source2: %name.desktop
|
||||||
Patch1: pine-nonvoid-function.patch
|
Patch1: pine-nonvoid-function.patch
|
||||||
@ -34,12 +36,11 @@ Patch2: make-use-of-strncat-safer.diff
|
|||||||
Patch3: operation-may-be-undefined-warning.diff
|
Patch3: operation-may-be-undefined-warning.diff
|
||||||
Patch4: fix-implicit.patch
|
Patch4: fix-implicit.patch
|
||||||
Patch5: alpine-gcc44.diff
|
Patch5: alpine-gcc44.diff
|
||||||
Patch7: alpine-month_name-utf8.patch
|
|
||||||
Patch10: pico-fix-spurious-undef-warnings.diff
|
Patch10: pico-fix-spurious-undef-warnings.diff
|
||||||
Patch20: pine-expression-warnings.diff
|
Patch20: pine-expression-warnings.diff
|
||||||
Patch40: pico-stripwhitespace.diff
|
Patch40: pico-stripwhitespace.diff
|
||||||
Patch60: signal-and-panic-improvements.diff
|
Patch60: signal-and-panic-improvements.diff
|
||||||
Patch61: alpine-mime-type-workaround.patch
|
Patch61: lint.diff
|
||||||
#
|
#
|
||||||
# Eduardo Chappa's patches.
|
# Eduardo Chappa's patches.
|
||||||
# http://patches.freeiz.com/alpine/
|
# http://patches.freeiz.com/alpine/
|
||||||
@ -64,8 +65,8 @@ BuildRequires: openssl-devel
|
|||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
# pgp4pine requires pine:
|
# pgp4pine requires pine: (6.20 is what alpine writes to ~/.pinerc)
|
||||||
Provides: pine
|
Provides: pine = 6.20
|
||||||
Obsoletes: pine4
|
Obsoletes: pine4
|
||||||
Provides: pine4
|
Provides: pine4
|
||||||
|
|
||||||
@ -134,7 +135,6 @@ fi
|
|||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch7 -p1
|
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
@ -275,7 +275,7 @@ fi
|
|||||||
%doc %{_mandir}/man1/rpload.*
|
%doc %{_mandir}/man1/rpload.*
|
||||||
%doc %{_mandir}/man1/mailutil.*
|
%doc %{_mandir}/man1/mailutil.*
|
||||||
%doc README NOTICE LICENSE
|
%doc README NOTICE LICENSE
|
||||||
%doc doc/mailcap.unx doc/mime.types doc/tech-notes.txt doc/tech-notes/*.html
|
%doc doc/mailcap.unx doc/mime.types doc/tech-notes/tech-notes.txt doc/tech-notes/*.html
|
||||||
%{_bindir}/*pine
|
%{_bindir}/*pine
|
||||||
%{_bindir}/alpinef
|
%{_bindir}/alpinef
|
||||||
%{_bindir}/rp*
|
%{_bindir}/rp*
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
pico/search.c | 6 -
|
pico/search.c | 6 -
|
||||||
7 files changed, 214 insertions(+), 8 deletions(-)
|
7 files changed, 214 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/pico/basic.c
|
Index: alpine-2.20/pico/basic.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/basic.c
|
--- alpine-2.20.orig/pico/basic.c
|
||||||
+++ alpine-2.11/pico/basic.c
|
+++ alpine-2.20/pico/basic.c
|
||||||
@@ -344,6 +344,189 @@ gotobop(int f, int n)
|
@@ -342,6 +342,189 @@ gotobop(int f, int n)
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,10 +202,10 @@ Index: alpine-2.11/pico/basic.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* go forword to the end of the current paragraph
|
* go forword to the end of the current paragraph
|
||||||
Index: alpine-2.11/pico/composer.c
|
Index: alpine-2.20/pico/composer.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/composer.c
|
--- alpine-2.20.orig/pico/composer.c
|
||||||
+++ alpine-2.11/pico/composer.c
|
+++ alpine-2.20/pico/composer.c
|
||||||
@@ -2015,7 +2015,7 @@ LineEdit(int allowedit, UCS *lastch)
|
@@ -2015,7 +2015,7 @@ LineEdit(int allowedit, UCS *lastch)
|
||||||
tbufp = &strng[ods.p_len];
|
tbufp = &strng[ods.p_len];
|
||||||
|
|
||||||
@ -229,10 +229,10 @@ Index: alpine-2.11/pico/composer.c
|
|||||||
case (CTRL|KEY_LEFT): /* word skip left */
|
case (CTRL|KEY_LEFT): /* word skip left */
|
||||||
if(ods.p_ind > 0) /* Scoot one char left if possible */
|
if(ods.p_ind > 0) /* Scoot one char left if possible */
|
||||||
ods.p_ind--;
|
ods.p_ind--;
|
||||||
Index: alpine-2.11/pico/display.c
|
Index: alpine-2.20/pico/display.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/display.c
|
--- alpine-2.20.orig/pico/display.c
|
||||||
+++ alpine-2.11/pico/display.c
|
+++ alpine-2.20/pico/display.c
|
||||||
@@ -1751,6 +1751,11 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
@@ -1751,6 +1751,11 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
||||||
b = &buf[ucs4_strlen(buf)];
|
b = &buf[ucs4_strlen(buf)];
|
||||||
continue;
|
continue;
|
||||||
@ -254,10 +254,10 @@ Index: alpine-2.11/pico/display.c
|
|||||||
/* look for match in extra_v */
|
/* look for match in extra_v */
|
||||||
for(i = 0; i < 12; i++)
|
for(i = 0; i < 12; i++)
|
||||||
if(c && c == extra_v[i]){
|
if(c && c == extra_v[i]){
|
||||||
Index: alpine-2.11/pico/ebind.h
|
Index: alpine-2.20/pico/ebind.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/ebind.h
|
--- alpine-2.20.orig/pico/ebind.h
|
||||||
+++ alpine-2.11/pico/ebind.h
|
+++ alpine-2.20/pico/ebind.h
|
||||||
@@ -61,7 +61,7 @@ KEYTAB keytab[NBINDS] = {
|
@@ -61,7 +61,7 @@ KEYTAB keytab[NBINDS] = {
|
||||||
#ifdef MOUSE
|
#ifdef MOUSE
|
||||||
{KEY_MOUSE, mousepress},
|
{KEY_MOUSE, mousepress},
|
||||||
@ -287,10 +287,10 @@ Index: alpine-2.11/pico/ebind.h
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
{CTRL|'A', gotobol},
|
{CTRL|'A', gotobol},
|
||||||
Index: alpine-2.11/pico/efunc.h
|
Index: alpine-2.20/pico/efunc.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/efunc.h
|
--- alpine-2.20.orig/pico/efunc.h
|
||||||
+++ alpine-2.11/pico/efunc.h
|
+++ alpine-2.20/pico/efunc.h
|
||||||
@@ -54,6 +54,9 @@ extern int forwline(int, int);
|
@@ -54,6 +54,9 @@ extern int forwline(int, int);
|
||||||
extern int backline(int, int);
|
extern int backline(int, int);
|
||||||
extern int gotobop(int, int);
|
extern int gotobop(int, int);
|
||||||
@ -301,10 +301,10 @@ Index: alpine-2.11/pico/efunc.h
|
|||||||
extern int forwpage(int, int);
|
extern int forwpage(int, int);
|
||||||
extern int backpage(int, int);
|
extern int backpage(int, int);
|
||||||
extern int scrollupline(int, int);
|
extern int scrollupline(int, int);
|
||||||
Index: alpine-2.11/pico/main.c
|
Index: alpine-2.20/pico/main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/main.c
|
--- alpine-2.20.orig/pico/main.c
|
||||||
+++ alpine-2.11/pico/main.c
|
+++ alpine-2.20/pico/main.c
|
||||||
@@ -416,6 +416,12 @@ main(int argc, char *argv[])
|
@@ -416,6 +416,12 @@ main(int argc, char *argv[])
|
||||||
emlwrite(_("You may possibly have new mail."), NULL);
|
emlwrite(_("You may possibly have new mail."), NULL);
|
||||||
}
|
}
|
||||||
@ -318,21 +318,21 @@ Index: alpine-2.11/pico/main.c
|
|||||||
if(km_popped)
|
if(km_popped)
|
||||||
switch(c){
|
switch(c){
|
||||||
case NODATA:
|
case NODATA:
|
||||||
Index: alpine-2.11/pico/search.c
|
Index: alpine-2.20/pico/search.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/search.c
|
--- alpine-2.20.orig/pico/search.c
|
||||||
+++ alpine-2.11/pico/search.c
|
+++ alpine-2.20/pico/search.c
|
||||||
@@ -278,7 +278,7 @@ forwsearch(int f, int n)
|
@@ -291,7 +291,7 @@ forwsearch(int f, int n)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(status + curwp->w_doto >= llength(curwp->w_dotp) ||
|
if(status + curwp->w_doto >= llength(curwp->w_dotp) ||
|
||||||
- !eq(defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
- !eq(defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
||||||
+ !eq((unsigned char)defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
+ !eq((unsigned char) defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
||||||
break; /* do nothing! */
|
break;
|
||||||
status++;
|
status++;
|
||||||
}
|
}
|
||||||
@@ -931,7 +931,7 @@ forscan(int *wrapt, /* boolean indicatin
|
@@ -1096,7 +1096,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||||
c = lgetc(curline, curoff++).c; /* get the char */
|
c = lgetc(curline, curoff++).c; /* get the char */
|
||||||
|
|
||||||
/* test it against first char in pattern */
|
/* test it against first char in pattern */
|
||||||
- if (eq(c, patrn[0]) != FALSE) { /* if we find it..*/
|
- if (eq(c, patrn[0]) != FALSE) { /* if we find it..*/
|
||||||
@ -340,7 +340,7 @@ Index: alpine-2.11/pico/search.c
|
|||||||
/* setup match pointers */
|
/* setup match pointers */
|
||||||
matchline = curline;
|
matchline = curline;
|
||||||
matchoff = curoff;
|
matchoff = curoff;
|
||||||
@@ -952,7 +952,7 @@ forscan(int *wrapt, /* boolean indicatin
|
@@ -1117,7 +1117,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
|
|
||||||
/* and test it against the pattern */
|
/* and test it against the pattern */
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
pith/text.c | 9 ++
|
pith/text.c | 9 ++
|
||||||
10 files changed, 308 insertions(+)
|
10 files changed, 308 insertions(+)
|
||||||
|
|
||||||
Index: alpine-2.11/alpine/confscroll.c
|
Index: alpine-2.20/alpine/confscroll.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/confscroll.c
|
--- alpine-2.20.orig/alpine/confscroll.c
|
||||||
+++ alpine-2.11/alpine/confscroll.c
|
+++ alpine-2.20/alpine/confscroll.c
|
||||||
@@ -5183,6 +5183,9 @@ fix_side_effects(struct pine *ps, struct
|
@@ -5196,6 +5196,9 @@ fix_side_effects(struct pine *ps, struct
|
||||||
|
|
||||||
clear_index_cache(ps->mail_stream, 0);
|
clear_index_cache(ps->mail_stream, 0);
|
||||||
}
|
}
|
||||||
@ -25,10 +25,10 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
else if(var == &ps->vars[V_INIT_CMD_LIST]){
|
else if(var == &ps->vars[V_INIT_CMD_LIST]){
|
||||||
if(!revert)
|
if(!revert)
|
||||||
q_status_message(SM_ASYNC, 0, 3,
|
q_status_message(SM_ASYNC, 0, 3,
|
||||||
Index: alpine-2.11/pith/conf.c
|
Index: alpine-2.20/pith/conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.c
|
--- alpine-2.20.orig/pith/conf.c
|
||||||
+++ alpine-2.11/pith/conf.c
|
+++ alpine-2.20/pith/conf.c
|
||||||
@@ -228,6 +228,8 @@ CONF_TXT_T cf_text_deadlets[] = "Specif
|
@@ -228,6 +228,8 @@ CONF_TXT_T cf_text_deadlets[] = "Specif
|
||||||
|
|
||||||
CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap.";
|
CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap.";
|
||||||
@ -38,7 +38,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
CONF_TXT_T cf_text_replystr[] = "Specifies the string to insert when replying to a message.";
|
CONF_TXT_T cf_text_replystr[] = "Specifies the string to insert when replying to a message.";
|
||||||
|
|
||||||
CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message.";
|
CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message.";
|
||||||
@@ -560,6 +562,8 @@ static struct variable variables[] = {
|
@@ -562,6 +564,8 @@ static struct variable variables[] = {
|
||||||
NULL, cf_text_speller},
|
NULL, cf_text_speller},
|
||||||
{"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
NULL, cf_text_fillcol},
|
NULL, cf_text_fillcol},
|
||||||
@ -47,7 +47,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
{"reply-indent-string", 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
|
{"reply-indent-string", 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||||
NULL, cf_text_replystr},
|
NULL, cf_text_replystr},
|
||||||
{"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
@@ -817,6 +821,8 @@ static struct variable variables[] = {
|
@@ -821,6 +825,8 @@ static struct variable variables[] = {
|
||||||
{"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
{"signature-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"signature-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
{"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
@ -56,7 +56,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
{"prompt-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"prompt-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
{"prompt-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"prompt-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
{"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
{"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||||
@@ -1985,6 +1991,8 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -1990,6 +1996,8 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
set_current_val(&vars[V_FORM_FOLDER], TRUE, TRUE);
|
set_current_val(&vars[V_FORM_FOLDER], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_EDITOR], TRUE, TRUE);
|
set_current_val(&vars[V_EDITOR], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_SPELLER], TRUE, TRUE);
|
set_current_val(&vars[V_SPELLER], TRUE, TRUE);
|
||||||
@ -65,7 +65,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
|
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_BROWSER], TRUE, TRUE);
|
set_current_val(&vars[V_BROWSER], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE);
|
set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE);
|
||||||
@@ -6483,6 +6491,7 @@ set_current_color_vals(struct pine *ps)
|
@@ -6549,6 +6557,7 @@ set_current_color_vals(struct pine *ps)
|
||||||
set_color_val(&vars[V_IND_OP_FORE_COLOR], 0);
|
set_color_val(&vars[V_IND_OP_FORE_COLOR], 0);
|
||||||
set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0);
|
set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0);
|
||||||
set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0);
|
set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0);
|
||||||
@ -73,7 +73,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
|
|
||||||
set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE);
|
set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE);
|
||||||
set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE);
|
set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE);
|
||||||
@@ -7664,6 +7673,8 @@ config_help(int var, int feature)
|
@@ -7732,6 +7741,8 @@ config_help(int var, int feature)
|
||||||
return(h_config_scroll_margin);
|
return(h_config_scroll_margin);
|
||||||
case V_DEADLETS :
|
case V_DEADLETS :
|
||||||
return(h_config_deadlets);
|
return(h_config_deadlets);
|
||||||
@ -82,7 +82,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
case V_FILLCOL :
|
case V_FILLCOL :
|
||||||
return(h_config_composer_wrap_column);
|
return(h_config_composer_wrap_column);
|
||||||
case V_TCPOPENTIMEO :
|
case V_TCPOPENTIMEO :
|
||||||
@@ -7829,6 +7840,9 @@ config_help(int var, int feature)
|
@@ -7897,6 +7908,9 @@ config_help(int var, int feature)
|
||||||
case V_SIGNATURE_FORE_COLOR :
|
case V_SIGNATURE_FORE_COLOR :
|
||||||
case V_SIGNATURE_BACK_COLOR :
|
case V_SIGNATURE_BACK_COLOR :
|
||||||
return(h_config_signature_color);
|
return(h_config_signature_color);
|
||||||
@ -92,10 +92,10 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
case V_PROMPT_FORE_COLOR :
|
case V_PROMPT_FORE_COLOR :
|
||||||
case V_PROMPT_BACK_COLOR :
|
case V_PROMPT_BACK_COLOR :
|
||||||
return(h_config_prompt_color);
|
return(h_config_prompt_color);
|
||||||
Index: alpine-2.11/pith/conf.h
|
Index: alpine-2.20/pith/conf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.h
|
--- alpine-2.20.orig/pith/conf.h
|
||||||
+++ alpine-2.11/pith/conf.h
|
+++ alpine-2.20/pith/conf.h
|
||||||
@@ -161,6 +161,8 @@
|
@@ -161,6 +161,8 @@
|
||||||
#define GLO_EDITOR vars[V_EDITOR].global_val.l
|
#define GLO_EDITOR vars[V_EDITOR].global_val.l
|
||||||
#define VAR_SPELLER vars[V_SPELLER].current_val.p
|
#define VAR_SPELLER vars[V_SPELLER].current_val.p
|
||||||
@ -105,7 +105,7 @@ Index: alpine-2.11/pith/conf.h
|
|||||||
#define VAR_FILLCOL vars[V_FILLCOL].current_val.p
|
#define VAR_FILLCOL vars[V_FILLCOL].current_val.p
|
||||||
#define GLO_FILLCOL vars[V_FILLCOL].global_val.p
|
#define GLO_FILLCOL vars[V_FILLCOL].global_val.p
|
||||||
#define VAR_DEADLETS vars[V_DEADLETS].current_val.p
|
#define VAR_DEADLETS vars[V_DEADLETS].current_val.p
|
||||||
@@ -456,6 +458,8 @@
|
@@ -458,6 +460,8 @@
|
||||||
#define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p
|
#define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p
|
||||||
#define VAR_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].current_val.p
|
#define VAR_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].current_val.p
|
||||||
#define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p
|
#define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p
|
||||||
@ -114,10 +114,10 @@ Index: alpine-2.11/pith/conf.h
|
|||||||
#define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p
|
#define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p
|
||||||
#define VAR_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p
|
#define VAR_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p
|
||||||
#define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l
|
#define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l
|
||||||
Index: alpine-2.11/pith/conftype.h
|
Index: alpine-2.20/pith/conftype.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conftype.h
|
--- alpine-2.20.orig/pith/conftype.h
|
||||||
+++ alpine-2.11/pith/conftype.h
|
+++ alpine-2.20/pith/conftype.h
|
||||||
@@ -80,6 +80,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
@@ -80,6 +80,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||||
, V_EDITOR
|
, V_EDITOR
|
||||||
, V_SPELLER
|
, V_SPELLER
|
||||||
@ -126,7 +126,7 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
, V_REPLY_STRING
|
, V_REPLY_STRING
|
||||||
, V_REPLY_INTRO
|
, V_REPLY_INTRO
|
||||||
, V_QUOTE_REPLACE_STRING
|
, V_QUOTE_REPLACE_STRING
|
||||||
@@ -230,6 +231,8 @@ typedef enum { V_PERSONAL_NAME = 0
|
@@ -231,6 +232,8 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||||
, V_INCUNSEEN_BACK_COLOR
|
, V_INCUNSEEN_BACK_COLOR
|
||||||
, V_SIGNATURE_FORE_COLOR
|
, V_SIGNATURE_FORE_COLOR
|
||||||
, V_SIGNATURE_BACK_COLOR
|
, V_SIGNATURE_BACK_COLOR
|
||||||
@ -135,10 +135,10 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
, V_PROMPT_FORE_COLOR
|
, V_PROMPT_FORE_COLOR
|
||||||
, V_PROMPT_BACK_COLOR
|
, V_PROMPT_BACK_COLOR
|
||||||
, V_HEADER_GENERAL_FORE_COLOR
|
, V_HEADER_GENERAL_FORE_COLOR
|
||||||
Index: alpine-2.11/pith/mailview.c
|
Index: alpine-2.20/pith/mailview.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/mailview.c
|
--- alpine-2.20.orig/pith/mailview.c
|
||||||
+++ alpine-2.11/pith/mailview.c
|
+++ alpine-2.20/pith/mailview.c
|
||||||
@@ -282,6 +282,14 @@ format_body(long int msgno, BODY *body,
|
@@ -282,6 +282,14 @@ format_body(long int msgno, BODY *body,
|
||||||
if((flgs & FM_DISPLAY)
|
if((flgs & FM_DISPLAY)
|
||||||
&& !(flgs & FM_NOCOLOR)
|
&& !(flgs & FM_NOCOLOR)
|
||||||
@ -345,10 +345,10 @@ Index: alpine-2.11/pith/mailview.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The argument fieldname is something like "Subject:..." or "Subject".
|
* The argument fieldname is something like "Subject:..." or "Subject".
|
||||||
Index: alpine-2.11/pith/mailview.h
|
Index: alpine-2.20/pith/mailview.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/mailview.h
|
--- alpine-2.20.orig/pith/mailview.h
|
||||||
+++ alpine-2.11/pith/mailview.h
|
+++ alpine-2.20/pith/mailview.h
|
||||||
@@ -30,6 +30,12 @@
|
@@ -30,6 +30,12 @@
|
||||||
#include "../pith/color.h"
|
#include "../pith/color.h"
|
||||||
|
|
||||||
@ -378,11 +378,11 @@ Index: alpine-2.11/pith/mailview.h
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine
|
* BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine
|
||||||
Index: alpine-2.11/pith/pine.hlp
|
Index: alpine-2.20/pith/pine.hlp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pine.hlp
|
--- alpine-2.20.orig/pith/pine.hlp
|
||||||
+++ alpine-2.11/pith/pine.hlp
|
+++ alpine-2.20/pith/pine.hlp
|
||||||
@@ -3563,6 +3563,7 @@ There are also additional details on
|
@@ -3833,6 +3833,7 @@ There are also additional details on
|
||||||
<li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a>
|
<li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a>
|
||||||
<li><a href="h_config_print_command">OPTION: <!--#echo var="VAR_personal-print-command"--></a>
|
<li><a href="h_config_print_command">OPTION: <!--#echo var="VAR_personal-print-command"--></a>
|
||||||
<li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a>
|
<li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a>
|
||||||
@ -390,7 +390,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
<li><a href="h_config_postponed_folder">OPTION: <!--#echo var="VAR_postponed-folder"--></a>
|
<li><a href="h_config_postponed_folder">OPTION: <!--#echo var="VAR_postponed-folder"--></a>
|
||||||
<li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</a>
|
<li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</a>
|
||||||
<li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a>
|
<li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a>
|
||||||
@@ -3591,6 +3592,7 @@ There are also additional details on
|
@@ -3861,6 +3862,7 @@ There are also additional details on
|
||||||
<li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a>
|
<li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a>
|
||||||
<li><a href="h_config_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a>
|
<li><a href="h_config_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a>
|
||||||
<li><a href="h_config_signature_color">OPTION: Signature Color</a>
|
<li><a href="h_config_signature_color">OPTION: Signature Color</a>
|
||||||
@ -398,7 +398,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
||||||
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
||||||
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
||||||
@@ -22838,6 +22840,43 @@ That won't work because spell works in a
|
@@ -23234,6 +23236,43 @@ That won't work because spell works in a
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
@ -442,7 +442,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
====== h_config_display_filters =====
|
====== h_config_display_filters =====
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
@@ -31455,6 +31494,30 @@ the Quote3 Color is black characters on
|
@@ -31851,6 +31890,30 @@ the Quote3 Color is black characters on
|
||||||
<P>
|
<P>
|
||||||
<A HREF="h_color_setup">Descriptions of the available commands</A>
|
<A HREF="h_color_setup">Descriptions of the available commands</A>
|
||||||
<P>
|
<P>
|
||||||
@ -473,10 +473,10 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
Look <A HREF="h_edit_nav_cmds">here</A>
|
Look <A HREF="h_edit_nav_cmds">here</A>
|
||||||
to see the available Editing and Navigation commands.
|
to see the available Editing and Navigation commands.
|
||||||
<P>
|
<P>
|
||||||
Index: alpine-2.11/pith/state.c
|
Index: alpine-2.20/pith/state.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/state.c
|
--- alpine-2.20.orig/pith/state.c
|
||||||
+++ alpine-2.11/pith/state.c
|
+++ alpine-2.20/pith/state.c
|
||||||
@@ -131,6 +131,9 @@ free_pine_struct(struct pine **pps)
|
@@ -131,6 +131,9 @@ free_pine_struct(struct pine **pps)
|
||||||
if((*pps)->folders_dir != NULL)
|
if((*pps)->folders_dir != NULL)
|
||||||
fs_give((void **)&(*pps)->folders_dir);
|
fs_give((void **)&(*pps)->folders_dir);
|
||||||
@ -487,11 +487,11 @@ Index: alpine-2.11/pith/state.c
|
|||||||
if((*pps)->ui.homedir)
|
if((*pps)->ui.homedir)
|
||||||
fs_give((void **)&(*pps)->ui.homedir);
|
fs_give((void **)&(*pps)->ui.homedir);
|
||||||
|
|
||||||
Index: alpine-2.11/pith/state.h
|
Index: alpine-2.20/pith/state.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/state.h
|
--- alpine-2.20.orig/pith/state.h
|
||||||
+++ alpine-2.11/pith/state.h
|
+++ alpine-2.20/pith/state.h
|
||||||
@@ -326,6 +326,8 @@ struct pine {
|
@@ -331,6 +331,8 @@ struct pine {
|
||||||
char *display_charmap; /* needs to be freed */
|
char *display_charmap; /* needs to be freed */
|
||||||
char *keyboard_charmap; /* needs to be freed */
|
char *keyboard_charmap; /* needs to be freed */
|
||||||
void *input_cs;
|
void *input_cs;
|
||||||
@ -500,10 +500,10 @@ Index: alpine-2.11/pith/state.h
|
|||||||
|
|
||||||
char *posting_charmap; /* needs to be freed */
|
char *posting_charmap; /* needs to be freed */
|
||||||
|
|
||||||
Index: alpine-2.11/pith/text.c
|
Index: alpine-2.20/pith/text.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/text.c
|
--- alpine-2.20.orig/pith/text.c
|
||||||
+++ alpine-2.11/pith/text.c
|
+++ alpine-2.20/pith/text.c
|
||||||
@@ -171,6 +171,15 @@ decode_text(ATTACH_S *att,
|
@@ -171,6 +171,15 @@ decode_text(ATTACH_S *att,
|
||||||
gf_url_hilite_opt(&uh,handlesp,0));
|
gf_url_hilite_opt(&uh,handlesp,0));
|
||||||
}
|
}
|
||||||
|
@ -28,19 +28,19 @@
|
|||||||
web/src/alpined.d/alpined.c | 4
|
web/src/alpined.d/alpined.c | 4
|
||||||
27 files changed, 1870 insertions(+), 155 deletions(-)
|
27 files changed, 1870 insertions(+), 155 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/alpine/arg.c
|
Index: alpine-2.20/alpine/arg.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/arg.c
|
--- alpine-2.20.orig/alpine/arg.c
|
||||||
+++ alpine-2.11/alpine/arg.c
|
+++ alpine-2.20/alpine/arg.c
|
||||||
@@ -60,6 +60,7 @@ static char args_err_missing_passfile[]
|
@@ -64,6 +64,7 @@ static char args_err_non_abs_pwdcertdir[
|
||||||
static char args_err_non_abs_passfile[] = N_("argument to \"-passfile\" should be fully-qualified");
|
#endif /* SMIME inside PASSFILE */
|
||||||
#endif
|
#endif
|
||||||
static char args_err_missing_sort[] = N_("missing argument for option \"-sort\"");
|
static char args_err_missing_sort[] = N_("missing argument for option \"-sort\"");
|
||||||
+static char args_err_missing_thread_sort[] = N_("missing argument for option \"-threadsort\"");
|
+static char args_err_missing_thread_sort[] = N_("missing argument for option \"-threadsort\"");
|
||||||
static char args_err_missing_flag_arg[] = N_("missing argument for flag \"%c\"");
|
static char args_err_missing_flag_arg[] = N_("missing argument for flag \"%c\"");
|
||||||
static char args_err_missing_flag_num[] = N_("Non numeric argument for flag \"%c\"");
|
static char args_err_missing_flag_num[] = N_("Non numeric argument for flag \"%c\"");
|
||||||
static char args_err_missing_debug_num[] = N_("Non numeric argument for \"%s\"");
|
static char args_err_missing_debug_num[] = N_("Non numeric argument for \"%s\"");
|
||||||
@@ -103,6 +104,7 @@ N_(" -k \t\tKeys - Force use of function
|
@@ -107,6 +108,7 @@ N_(" -k \t\tKeys - Force use of function
|
||||||
N_(" -z \t\tSuspend - allow use of ^Z suspension"),
|
N_(" -z \t\tSuspend - allow use of ^Z suspension"),
|
||||||
N_(" -r \t\tRestricted - can only send mail to oneself"),
|
N_(" -r \t\tRestricted - can only send mail to oneself"),
|
||||||
N_(" -sort <sort>\tSort - Specify sort order of folder:"),
|
N_(" -sort <sort>\tSort - Specify sort order of folder:"),
|
||||||
@ -48,7 +48,7 @@ Index: alpine-2.11/alpine/arg.c
|
|||||||
N_("\t\t\tarrival, subject, threaded, orderedsubject, date,"),
|
N_("\t\t\tarrival, subject, threaded, orderedsubject, date,"),
|
||||||
N_("\t\t\tfrom, size, score, to, cc, /reverse"),
|
N_("\t\t\tfrom, size, score, to, cc, /reverse"),
|
||||||
N_(" -i\t\tIndex - Go directly to index, bypassing main menu"),
|
N_(" -i\t\tIndex - Go directly to index, bypassing main menu"),
|
||||||
@@ -192,6 +194,7 @@ pine_args(struct pine *pine_state, int a
|
@@ -200,6 +202,7 @@ pine_args(struct pine *pine_state, int a
|
||||||
char *cmd_list = NULL;
|
char *cmd_list = NULL;
|
||||||
char *debug_str = NULL;
|
char *debug_str = NULL;
|
||||||
char *sort = NULL;
|
char *sort = NULL;
|
||||||
@ -56,7 +56,7 @@ Index: alpine-2.11/alpine/arg.c
|
|||||||
char *pinerc_file = NULL;
|
char *pinerc_file = NULL;
|
||||||
char *lc = NULL;
|
char *lc = NULL;
|
||||||
int do_help = 0;
|
int do_help = 0;
|
||||||
@@ -363,6 +366,17 @@ Loop: while(--ac > 0)
|
@@ -396,6 +399,17 @@ Loop: while(--ac > 0)
|
||||||
|
|
||||||
goto Loop;
|
goto Loop;
|
||||||
}
|
}
|
||||||
@ -74,10 +74,10 @@ Index: alpine-2.11/alpine/arg.c
|
|||||||
else if(strcmp(*av, "url") == 0){
|
else if(strcmp(*av, "url") == 0){
|
||||||
if(args->action == aaFolder && !args->data.folder){
|
if(args->action == aaFolder && !args->data.folder){
|
||||||
args->action = aaURL;
|
args->action = aaURL;
|
||||||
Index: alpine-2.11/alpine/confscroll.c
|
Index: alpine-2.20/alpine/confscroll.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/confscroll.c
|
--- alpine-2.20.orig/alpine/confscroll.c
|
||||||
+++ alpine-2.11/alpine/confscroll.c
|
+++ alpine-2.20/alpine/confscroll.c
|
||||||
@@ -139,7 +139,7 @@ char *yesno_pretty_value(struct pine
|
@@ -139,7 +139,7 @@ char *yesno_pretty_value(struct pine
|
||||||
char *radio_pretty_value(struct pine *, CONF_S *);
|
char *radio_pretty_value(struct pine *, CONF_S *);
|
||||||
char *sigfile_pretty_value(struct pine *, CONF_S *);
|
char *sigfile_pretty_value(struct pine *, CONF_S *);
|
||||||
@ -97,7 +97,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
standard_radio_var(ps, (*cl)->var) ||
|
standard_radio_var(ps, (*cl)->var) ||
|
||||||
(*cl)->var == startup_ptr)))
|
(*cl)->var == startup_ptr)))
|
||||||
return;
|
return;
|
||||||
@@ -2923,7 +2924,7 @@ radiobutton_tool(struct pine *ps, int cm
|
@@ -2927,7 +2928,7 @@ radiobutton_tool(struct pine *ps, int cm
|
||||||
}
|
}
|
||||||
|
|
||||||
set_current_val((*cl)->var, TRUE, TRUE);
|
set_current_val((*cl)->var, TRUE, TRUE);
|
||||||
@ -106,7 +106,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
ps->def_sort = def_sort;
|
ps->def_sort = def_sort;
|
||||||
ps->def_sort_rev = def_sort_rev;
|
ps->def_sort_rev = def_sort_rev;
|
||||||
}
|
}
|
||||||
@@ -2932,6 +2933,37 @@ radiobutton_tool(struct pine *ps, int cm
|
@@ -2936,6 +2937,37 @@ radiobutton_tool(struct pine *ps, int cm
|
||||||
ps->mangled_body = 1; /* BUG: redraw it all for now? */
|
ps->mangled_body = 1; /* BUG: redraw it all for now? */
|
||||||
rv = 1;
|
rv = 1;
|
||||||
}
|
}
|
||||||
@ -144,7 +144,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
else
|
else
|
||||||
q_status_message(SM_ORDER | SM_DING, 3, 6,
|
q_status_message(SM_ORDER | SM_DING, 3, 6,
|
||||||
"Programmer botch! Unknown radiobutton type.");
|
"Programmer botch! Unknown radiobutton type.");
|
||||||
@@ -3794,7 +3826,9 @@ pretty_value(struct pine *ps, CONF_S *cl
|
@@ -3799,7 +3831,9 @@ pretty_value(struct pine *ps, CONF_S *cl
|
||||||
else if(standard_radio_var(ps, v) || v == startup_ptr)
|
else if(standard_radio_var(ps, v) || v == startup_ptr)
|
||||||
return(radio_pretty_value(ps, cl));
|
return(radio_pretty_value(ps, cl));
|
||||||
else if(v == &ps->vars[V_SORT_KEY])
|
else if(v == &ps->vars[V_SORT_KEY])
|
||||||
@ -155,7 +155,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
else if(v == &ps->vars[V_SIGNATURE_FILE])
|
else if(v == &ps->vars[V_SIGNATURE_FILE])
|
||||||
return(sigfile_pretty_value(ps, cl));
|
return(sigfile_pretty_value(ps, cl));
|
||||||
else if(v == &ps->vars[V_USE_ONLY_DOMAIN_NAME])
|
else if(v == &ps->vars[V_USE_ONLY_DOMAIN_NAME])
|
||||||
@@ -4325,14 +4359,14 @@ color_pretty_value(struct pine *ps, CONF
|
@@ -4330,14 +4364,14 @@ color_pretty_value(struct pine *ps, CONF
|
||||||
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
@ -173,7 +173,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
{
|
{
|
||||||
char tmp[6*MAXPATH];
|
char tmp[6*MAXPATH];
|
||||||
char *pvalnorm, *pvalexc, *pval;
|
char *pvalnorm, *pvalexc, *pval;
|
||||||
@@ -4382,7 +4416,7 @@ generalized_sort_pretty_value(struct pin
|
@@ -4387,7 +4421,7 @@ generalized_sort_pretty_value(struct pin
|
||||||
}
|
}
|
||||||
else if(fixed){
|
else if(fixed){
|
||||||
pval = v->fixed_val.p;
|
pval = v->fixed_val.p;
|
||||||
@ -182,7 +182,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
is_the_one = (var_sort_rev == line_sort_rev && var_sort == line_sort);
|
is_the_one = (var_sort_rev == line_sort_rev && var_sort == line_sort);
|
||||||
|
|
||||||
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
||||||
@@ -4393,9 +4427,9 @@ generalized_sort_pretty_value(struct pin
|
@@ -4398,9 +4432,9 @@ generalized_sort_pretty_value(struct pin
|
||||||
is_the_one ? " (value is fixed)" : "");
|
is_the_one ? " (value is fixed)" : "");
|
||||||
}
|
}
|
||||||
else if(is_set_for_this_level){
|
else if(is_set_for_this_level){
|
||||||
@ -194,7 +194,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
the_exc_one = (editing_normal_which_isnt_except && pvalexc &&
|
the_exc_one = (editing_normal_which_isnt_except && pvalexc &&
|
||||||
exc_sort_rev == line_sort_rev && exc_sort == line_sort);
|
exc_sort_rev == line_sort_rev && exc_sort == line_sort);
|
||||||
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
||||||
@@ -4413,7 +4447,7 @@ generalized_sort_pretty_value(struct pin
|
@@ -4418,7 +4452,7 @@ generalized_sort_pretty_value(struct pin
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(pvalexc){
|
if(pvalexc){
|
||||||
@ -203,7 +203,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
is_the_one = (exc_sort_rev == line_sort_rev &&
|
is_the_one = (exc_sort_rev == line_sort_rev &&
|
||||||
exc_sort == line_sort);
|
exc_sort == line_sort);
|
||||||
utf8_snprintf(tmp, sizeof(tmp), "( ) %s%-*w%*s%s",
|
utf8_snprintf(tmp, sizeof(tmp), "( ) %s%-*w%*s%s",
|
||||||
@@ -4424,7 +4458,7 @@ generalized_sort_pretty_value(struct pin
|
@@ -4429,7 +4463,7 @@ generalized_sort_pretty_value(struct pin
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
pval = v->current_val.p;
|
pval = v->current_val.p;
|
||||||
@ -212,7 +212,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
is_the_one = ((pval || default_ok) &&
|
is_the_one = ((pval || default_ok) &&
|
||||||
var_sort_rev == line_sort_rev &&
|
var_sort_rev == line_sort_rev &&
|
||||||
var_sort == line_sort);
|
var_sort == line_sort);
|
||||||
@@ -5548,9 +5582,15 @@ fix_side_effects(struct pine *ps, struct
|
@@ -5571,9 +5605,15 @@ fix_side_effects(struct pine *ps, struct
|
||||||
else if(revert && var == &ps->vars[V_SORT_KEY]){
|
else if(revert && var == &ps->vars[V_SORT_KEY]){
|
||||||
int def_sort_rev;
|
int def_sort_rev;
|
||||||
|
|
||||||
@ -229,10 +229,10 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
else if(var == &ps->vars[V_THREAD_MORE_CHAR] ||
|
else if(var == &ps->vars[V_THREAD_MORE_CHAR] ||
|
||||||
var == &ps->vars[V_THREAD_EXP_CHAR] ||
|
var == &ps->vars[V_THREAD_EXP_CHAR] ||
|
||||||
var == &ps->vars[V_THREAD_LASTREPLY_CHAR]){
|
var == &ps->vars[V_THREAD_LASTREPLY_CHAR]){
|
||||||
Index: alpine-2.11/alpine/confscroll.h
|
Index: alpine-2.20/alpine/confscroll.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/confscroll.h
|
--- alpine-2.20.orig/alpine/confscroll.h
|
||||||
+++ alpine-2.11/alpine/confscroll.h
|
+++ alpine-2.20/alpine/confscroll.h
|
||||||
@@ -95,7 +95,7 @@ int checkbox_tool(struct pine *, int, C
|
@@ -95,7 +95,7 @@ int checkbox_tool(struct pine *, int, C
|
||||||
int radiobutton_tool(struct pine *, int, CONF_S **, unsigned);
|
int radiobutton_tool(struct pine *, int, CONF_S **, unsigned);
|
||||||
int yesno_tool(struct pine *, int, CONF_S **, unsigned);
|
int yesno_tool(struct pine *, int, CONF_S **, unsigned);
|
||||||
@ -242,10 +242,10 @@ Index: alpine-2.11/alpine/confscroll.h
|
|||||||
int exclude_config_var(struct pine *, struct variable *, int);
|
int exclude_config_var(struct pine *, struct variable *, int);
|
||||||
int config_exit_cmd(unsigned);
|
int config_exit_cmd(unsigned);
|
||||||
int simple_exit_cmd(unsigned);
|
int simple_exit_cmd(unsigned);
|
||||||
Index: alpine-2.11/alpine/keymenu.c
|
Index: alpine-2.20/alpine/keymenu.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/keymenu.c
|
--- alpine-2.20.orig/alpine/keymenu.c
|
||||||
+++ alpine-2.11/alpine/keymenu.c
|
+++ alpine-2.20/alpine/keymenu.c
|
||||||
@@ -650,10 +650,25 @@ struct key index_keys[] =
|
@@ -650,10 +650,25 @@ struct key index_keys[] =
|
||||||
RCOMPOSE_MENU,
|
RCOMPOSE_MENU,
|
||||||
HOMEKEY_MENU,
|
HOMEKEY_MENU,
|
||||||
@ -319,10 +319,10 @@ Index: alpine-2.11/alpine/keymenu.c
|
|||||||
INST_KEY_MENU(view_keymenu, view_keys);
|
INST_KEY_MENU(view_keymenu, view_keys);
|
||||||
|
|
||||||
|
|
||||||
Index: alpine-2.11/alpine/keymenu.h
|
Index: alpine-2.20/alpine/keymenu.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/keymenu.h
|
--- alpine-2.20.orig/alpine/keymenu.h
|
||||||
+++ alpine-2.11/alpine/keymenu.h
|
+++ alpine-2.20/alpine/keymenu.h
|
||||||
@@ -215,6 +215,19 @@ struct key_menu {
|
@@ -215,6 +215,19 @@ struct key_menu {
|
||||||
#define MC_DECRYPT 802
|
#define MC_DECRYPT 802
|
||||||
#define MC_QUOTA 803
|
#define MC_QUOTA 803
|
||||||
@ -341,12 +341,12 @@ Index: alpine-2.11/alpine/keymenu.h
|
|||||||
+#define MC_CTHREAD 816
|
+#define MC_CTHREAD 816
|
||||||
+#define MC_OTHREAD 817
|
+#define MC_OTHREAD 817
|
||||||
|
|
||||||
/*
|
|
||||||
* Some standard Key/Command Bindings
|
/* Commands for S/MIME screens */
|
||||||
Index: alpine-2.11/alpine/mailcmd.c
|
Index: alpine-2.20/alpine/mailcmd.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailcmd.c
|
--- alpine-2.20.orig/alpine/mailcmd.c
|
||||||
+++ alpine-2.11/alpine/mailcmd.c
|
+++ alpine-2.20/alpine/mailcmd.c
|
||||||
@@ -113,7 +113,7 @@ int select_by_thread(MAILSTREAM *, MSG
|
@@ -113,7 +113,7 @@ int select_by_thread(MAILSTREAM *, MSG
|
||||||
char *choose_a_rule(int);
|
char *choose_a_rule(int);
|
||||||
int select_by_keyword(MAILSTREAM *, SEARCHSET **);
|
int select_by_keyword(MAILSTREAM *, SEARCHSET **);
|
||||||
@ -355,8 +355,8 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
+int select_sort(struct pine *, int, SortOrder *, int *, int);
|
+int select_sort(struct pine *, int, SortOrder *, int *, int);
|
||||||
int print_index(struct pine *, MSGNO_S *, int);
|
int print_index(struct pine *, MSGNO_S *, int);
|
||||||
|
|
||||||
|
/*
|
||||||
@@ -1335,7 +1335,7 @@ get_out:
|
@@ -1371,7 +1371,7 @@ get_out:
|
||||||
if(any_messages(msgmap, NULL, NULL)){
|
if(any_messages(msgmap, NULL, NULL)){
|
||||||
if(any_lflagged(msgmap, MN_SLCT) > 0L){
|
if(any_lflagged(msgmap, MN_SLCT) > 0L){
|
||||||
if(apply_command(state, stream, msgmap, 0,
|
if(apply_command(state, stream, msgmap, 0,
|
||||||
@ -365,7 +365,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
if(F_ON(F_AUTO_UNSELECT, state)){
|
if(F_ON(F_AUTO_UNSELECT, state)){
|
||||||
agg_select_all(stream, msgmap, NULL, 0);
|
agg_select_all(stream, msgmap, NULL, 0);
|
||||||
unzoom_index(state, stream, msgmap);
|
unzoom_index(state, stream, msgmap);
|
||||||
@@ -1353,23 +1353,35 @@ get_out:
|
@@ -1389,23 +1389,35 @@ get_out:
|
||||||
|
|
||||||
/*-------- Sort command -------*/
|
/*-------- Sort command -------*/
|
||||||
case MC_SORT :
|
case MC_SORT :
|
||||||
@ -403,7 +403,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
state->mangled_footer = 1;
|
state->mangled_footer = 1;
|
||||||
@@ -3174,6 +3186,10 @@ cmd_expunge(struct pine *state, MAILSTRE
|
@@ -3286,6 +3298,10 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||||
if(SORT_IS_THREADED(msgmap))
|
if(SORT_IS_THREADED(msgmap))
|
||||||
refresh_sort(stream, msgmap, SRT_NON);
|
refresh_sort(stream, msgmap, SRT_NON);
|
||||||
|
|
||||||
@ -414,7 +414,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
state->mangled_body = 1;
|
state->mangled_body = 1;
|
||||||
state->mangled_header = 1;
|
state->mangled_header = 1;
|
||||||
q_status_message2(SM_ORDER, 0, 4,
|
q_status_message2(SM_ORDER, 0, 4,
|
||||||
@@ -3268,6 +3284,9 @@ cmd_expunge(struct pine *state, MAILSTRE
|
@@ -3387,6 +3403,9 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||||
*/
|
*/
|
||||||
if(SORT_IS_THREADED(msgmap))
|
if(SORT_IS_THREADED(msgmap))
|
||||||
refresh_sort(stream, msgmap, SRT_NON);
|
refresh_sort(stream, msgmap, SRT_NON);
|
||||||
@ -423,8 +423,8 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
+ kolapse_thread(state, stream, msgmap, '[', 0);
|
+ kolapse_thread(state, stream, msgmap, '[', 0);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(del_count)
|
if(del_count){
|
||||||
@@ -6945,7 +6964,7 @@ select_by_current(struct pine *state, MS
|
@@ -7090,7 +7109,7 @@ select_by_current(struct pine *state, MS
|
||||||
* Maybe it makes sense to zoom after a select but not after a colon
|
* Maybe it makes sense to zoom after a select but not after a colon
|
||||||
* command even though they are very similar.
|
* command even though they are very similar.
|
||||||
*/
|
*/
|
||||||
@ -433,7 +433,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if((all_selected =
|
if((all_selected =
|
||||||
@@ -7001,7 +7020,7 @@ select_by_current(struct pine *state, MS
|
@@ -7146,7 +7165,7 @@ select_by_current(struct pine *state, MS
|
||||||
----*/
|
----*/
|
||||||
int
|
int
|
||||||
apply_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
apply_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
||||||
@ -442,7 +442,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
{
|
{
|
||||||
int i = 8, /* number of static entries in sel_opts3 */
|
int i = 8, /* number of static entries in sel_opts3 */
|
||||||
rv = 0,
|
rv = 0,
|
||||||
@@ -7153,9 +7172,19 @@ apply_command(struct pine *state, MAILST
|
@@ -7305,9 +7324,19 @@ apply_command(struct pine *state, MAILST
|
||||||
collapse_or_expand(state, stream, msgmap,
|
collapse_or_expand(state, stream, msgmap,
|
||||||
F_ON(F_SLASH_COLL_ENTIRE, ps_global)
|
F_ON(F_SLASH_COLL_ENTIRE, ps_global)
|
||||||
? 0L
|
? 0L
|
||||||
@ -463,7 +463,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
case ':' :
|
case ':' :
|
||||||
select_thread_stmp(state, stream, msgmap);
|
select_thread_stmp(state, stream, msgmap);
|
||||||
break;
|
break;
|
||||||
@@ -9014,10 +9043,10 @@ Args: state -- pine state pointer
|
@@ -9171,10 +9200,10 @@ Args: state -- pine state pointer
|
||||||
Returns 0 if it was cancelled, 1 otherwise.
|
Returns 0 if it was cancelled, 1 otherwise.
|
||||||
----*/
|
----*/
|
||||||
int
|
int
|
||||||
@ -476,7 +476,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
int deefault = 'a', retval = 1;
|
int deefault = 'a', retval = 1;
|
||||||
HelpType help;
|
HelpType help;
|
||||||
ESCKEY_S sorts[14];
|
ESCKEY_S sorts[14];
|
||||||
@@ -9050,17 +9079,26 @@ select_sort(struct pine *state, int ql,
|
@@ -9207,17 +9236,26 @@ select_sort(struct pine *state, int ql,
|
||||||
strncpy(prompt, _("Choose type of sort, or 'R' to reverse current sort : "),
|
strncpy(prompt, _("Choose type of sort, or 'R' to reverse current sort : "),
|
||||||
sizeof(prompt));
|
sizeof(prompt));
|
||||||
|
|
||||||
@ -514,7 +514,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
sorts[i].ch = 'r';
|
sorts[i].ch = 'r';
|
||||||
@@ -9084,8 +9122,17 @@ select_sort(struct pine *state, int ql,
|
@@ -9241,8 +9279,17 @@ select_sort(struct pine *state, int ql,
|
||||||
state->mangled_body = 1; /* signal screen's changed */
|
state->mangled_body = 1; /* signal screen's changed */
|
||||||
if(s == 'r')
|
if(s == 'r')
|
||||||
*rev = !mn_get_revsort(state->msgmap);
|
*rev = !mn_get_revsort(state->msgmap);
|
||||||
@ -533,7 +533,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
|
|
||||||
if(F_ON(F_SHOW_SORT, ps_global))
|
if(F_ON(F_SHOW_SORT, ps_global))
|
||||||
ps_global->mangled_header = 1;
|
ps_global->mangled_header = 1;
|
||||||
@@ -9470,3 +9517,378 @@ flag_submenu(mc)
|
@@ -9627,3 +9674,378 @@ flag_submenu(mc)
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _WINDOWS */
|
#endif /* _WINDOWS */
|
||||||
@ -912,11 +912,11 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
+ expand_thread(state, stream, msgmap, 0);
|
+ expand_thread(state, stream, msgmap, 0);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
Index: alpine-2.11/alpine/mailcmd.h
|
Index: alpine-2.20/alpine/mailcmd.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailcmd.h
|
--- alpine-2.20.orig/alpine/mailcmd.h
|
||||||
+++ alpine-2.11/alpine/mailcmd.h
|
+++ alpine-2.20/alpine/mailcmd.h
|
||||||
@@ -84,7 +84,7 @@ char *broach_folder(int, int, int *,
|
@@ -87,7 +87,7 @@ char *broach_folder(int, int, int *,
|
||||||
int ask_mailbox_reopen(struct pine *, int *);
|
int ask_mailbox_reopen(struct pine *, int *);
|
||||||
void visit_folder(struct pine *, char *, CONTEXT_S *, MAILSTREAM *, unsigned long);
|
void visit_folder(struct pine *, char *, CONTEXT_S *, MAILSTREAM *, unsigned long);
|
||||||
int select_by_current(struct pine *, MSGNO_S *, CmdWhere);
|
int select_by_current(struct pine *, MSGNO_S *, CmdWhere);
|
||||||
@ -925,7 +925,7 @@ Index: alpine-2.11/alpine/mailcmd.h
|
|||||||
char **choose_list_of_keywords(void);
|
char **choose_list_of_keywords(void);
|
||||||
char *choose_a_charset(int);
|
char *choose_a_charset(int);
|
||||||
char **choose_list_of_charsets(void);
|
char **choose_list_of_charsets(void);
|
||||||
@@ -102,6 +102,15 @@ int any_selected_callback(int, long)
|
@@ -105,6 +105,15 @@ int any_selected_callback(int, long)
|
||||||
int flag_callback(int, long);
|
int flag_callback(int, long);
|
||||||
MPopup *flag_submenu(MESSAGECACHE *);
|
MPopup *flag_submenu(MESSAGECACHE *);
|
||||||
#endif
|
#endif
|
||||||
@ -942,10 +942,10 @@ Index: alpine-2.11/alpine/mailcmd.h
|
|||||||
+int expand_this_thread(struct pine *, MAILSTREAM *, MSGNO_S *, int, int);
|
+int expand_this_thread(struct pine *, MAILSTREAM *, MSGNO_S *, int, int);
|
||||||
|
|
||||||
#endif /* PINE_MAILCMD_INCLUDED */
|
#endif /* PINE_MAILCMD_INCLUDED */
|
||||||
Index: alpine-2.11/alpine/mailindx.c
|
Index: alpine-2.20/alpine/mailindx.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailindx.c
|
--- alpine-2.20.orig/alpine/mailindx.c
|
||||||
+++ alpine-2.11/alpine/mailindx.c
|
+++ alpine-2.20/alpine/mailindx.c
|
||||||
@@ -561,6 +561,7 @@ index_lister(struct pine *state, CONTEXT
|
@@ -561,6 +561,7 @@ index_lister(struct pine *state, CONTEXT
|
||||||
|
|
||||||
/*---------- Scroll line up ----------*/
|
/*---------- Scroll line up ----------*/
|
||||||
@ -1102,7 +1102,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
/* increment current */
|
/* increment current */
|
||||||
if(cmd == MC_DELETE){
|
if(cmd == MC_DELETE){
|
||||||
advance_cur_after_delete(state, stream, msgmap,
|
advance_cur_after_delete(state, stream, msgmap,
|
||||||
@@ -2675,6 +2773,7 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
@@ -2673,6 +2771,7 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||||
n = mn_raw2m(msgs, thrd->rawno);
|
n = mn_raw2m(msgs, thrd->rawno);
|
||||||
|
|
||||||
while(thrd){
|
while(thrd){
|
||||||
@ -1110,7 +1110,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
if(!msgline_hidden(stream, msgs, n, 0)
|
if(!msgline_hidden(stream, msgs, n, 0)
|
||||||
&& (++m % lines_per_page) == 1L)
|
&& (++m % lines_per_page) == 1L)
|
||||||
t = n;
|
t = n;
|
||||||
@@ -2743,11 +2842,12 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
@@ -2741,11 +2840,12 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||||
|
|
||||||
/* n is the end of this thread */
|
/* n is the end of this thread */
|
||||||
while(thrd){
|
while(thrd){
|
||||||
@ -1127,7 +1127,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
else
|
else
|
||||||
thrd = NULL;
|
thrd = NULL;
|
||||||
}
|
}
|
||||||
@@ -2855,7 +2955,7 @@ warn_other_cmds(void)
|
@@ -2853,7 +2953,7 @@ warn_other_cmds(void)
|
||||||
|
|
||||||
void
|
void
|
||||||
thread_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
thread_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
||||||
@ -1136,7 +1136,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
{
|
{
|
||||||
PINETHRD_S *thrd = NULL;
|
PINETHRD_S *thrd = NULL;
|
||||||
unsigned long rawno, save_branch;
|
unsigned long rawno, save_branch;
|
||||||
@@ -2904,7 +3004,7 @@ thread_command(struct pine *state, MAILS
|
@@ -2902,7 +3002,7 @@ thread_command(struct pine *state, MAILS
|
||||||
cancel_busy_cue(0);
|
cancel_busy_cue(0);
|
||||||
|
|
||||||
(void ) apply_command(state, stream, msgmap, preloadkeystroke, flags,
|
(void ) apply_command(state, stream, msgmap, preloadkeystroke, flags,
|
||||||
@ -1145,7 +1145,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
|
|
||||||
/* restore the original flags */
|
/* restore the original flags */
|
||||||
copy_lflags(stream, msgmap, MN_STMP, MN_SLCT);
|
copy_lflags(stream, msgmap, MN_STMP, MN_SLCT);
|
||||||
@@ -3398,7 +3498,7 @@ index_sort_callback(set, order)
|
@@ -3396,7 +3496,7 @@ index_sort_callback(set, order)
|
||||||
if(set){
|
if(set){
|
||||||
sort_folder(ps_global->mail_stream, ps_global->msgmap,
|
sort_folder(ps_global->mail_stream, ps_global->msgmap,
|
||||||
order & 0x000000ff,
|
order & 0x000000ff,
|
||||||
@ -1154,10 +1154,10 @@ Index: alpine-2.11/alpine/mailindx.c
|
|||||||
mswin_beginupdate();
|
mswin_beginupdate();
|
||||||
update_titlebar_message();
|
update_titlebar_message();
|
||||||
update_titlebar_status();
|
update_titlebar_status();
|
||||||
Index: alpine-2.11/alpine/mailindx.h
|
Index: alpine-2.20/alpine/mailindx.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailindx.h
|
--- alpine-2.20.orig/alpine/mailindx.h
|
||||||
+++ alpine-2.11/alpine/mailindx.h
|
+++ alpine-2.20/alpine/mailindx.h
|
||||||
@@ -103,7 +103,7 @@ int truncate_subj_and_from_strings(voi
|
@@ -103,7 +103,7 @@ int truncate_subj_and_from_strings(voi
|
||||||
void paint_index_hline(MAILSTREAM *, long, ICE_S *);
|
void paint_index_hline(MAILSTREAM *, long, ICE_S *);
|
||||||
void setup_index_state(int);
|
void setup_index_state(int);
|
||||||
@ -1167,11 +1167,11 @@ Index: alpine-2.11/alpine/mailindx.h
|
|||||||
COLOR_PAIR *apply_rev_color(COLOR_PAIR *, int);
|
COLOR_PAIR *apply_rev_color(COLOR_PAIR *, int);
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
int index_sort_callback(int, long);
|
int index_sort_callback(int, long);
|
||||||
Index: alpine-2.11/alpine/mailview.c
|
Index: alpine-2.20/alpine/mailview.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailview.c
|
--- alpine-2.20.orig/alpine/mailview.c
|
||||||
+++ alpine-2.11/alpine/mailview.c
|
+++ alpine-2.20/alpine/mailview.c
|
||||||
@@ -3364,6 +3364,52 @@ scrolltool(SCROLL_S *sparms)
|
@@ -3369,6 +3369,52 @@ scrolltool(SCROLL_S *sparms)
|
||||||
print_to_printer(sparms);
|
print_to_printer(sparms);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1224,10 +1224,10 @@ Index: alpine-2.11/alpine/mailview.c
|
|||||||
|
|
||||||
/* ------- First handle on Line ------ */
|
/* ------- First handle on Line ------ */
|
||||||
case MC_GOTOBOL :
|
case MC_GOTOBOL :
|
||||||
Index: alpine-2.11/alpine/roleconf.c
|
Index: alpine-2.20/alpine/roleconf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/roleconf.c
|
--- alpine-2.20.orig/alpine/roleconf.c
|
||||||
+++ alpine-2.11/alpine/roleconf.c
|
+++ alpine-2.20/alpine/roleconf.c
|
||||||
@@ -4478,11 +4478,11 @@ role_config_edit_screen(struct pine *ps,
|
@@ -4478,11 +4478,11 @@ role_config_edit_screen(struct pine *ps,
|
||||||
ctmp->tool = role_sort_tool;
|
ctmp->tool = role_sort_tool;
|
||||||
ctmp->valoffset = rindent;
|
ctmp->valoffset = rindent;
|
||||||
@ -1269,10 +1269,10 @@ Index: alpine-2.11/alpine/roleconf.c
|
|||||||
(*result)->action->sort_is_set = 1;
|
(*result)->action->sort_is_set = 1;
|
||||||
(*result)->action->sortorder = def_sort;
|
(*result)->action->sortorder = def_sort;
|
||||||
(*result)->action->revsort = (def_sort_rev ? 1 : 0);
|
(*result)->action->revsort = (def_sort_rev ? 1 : 0);
|
||||||
Index: alpine-2.11/alpine/setup.c
|
Index: alpine-2.20/alpine/setup.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/setup.c
|
--- alpine-2.20.orig/alpine/setup.c
|
||||||
+++ alpine-2.11/alpine/setup.c
|
+++ alpine-2.20/alpine/setup.c
|
||||||
@@ -258,7 +258,7 @@ option_screen(struct pine *ps, int edit_
|
@@ -258,7 +258,7 @@ option_screen(struct pine *ps, int edit_
|
||||||
ctmpa->flags |= CF_NOSELECT;
|
ctmpa->flags |= CF_NOSELECT;
|
||||||
ctmpa->value = cpystr("--- ----------------------");
|
ctmpa->value = cpystr("--- ----------------------");
|
||||||
@ -1338,7 +1338,7 @@ Index: alpine-2.11/alpine/setup.c
|
|||||||
else if(vtmp == &ps->vars[V_USE_ONLY_DOMAIN_NAME]){ /* yesno case */
|
else if(vtmp == &ps->vars[V_USE_ONLY_DOMAIN_NAME]){ /* yesno case */
|
||||||
ctmpa->keymenu = &config_yesno_keymenu;
|
ctmpa->keymenu = &config_yesno_keymenu;
|
||||||
ctmpa->tool = yesno_tool;
|
ctmpa->tool = yesno_tool;
|
||||||
@@ -464,6 +513,15 @@ option_screen(struct pine *ps, int edit_
|
@@ -465,6 +514,15 @@ option_screen(struct pine *ps, int edit_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1354,10 +1354,10 @@ Index: alpine-2.11/alpine/setup.c
|
|||||||
treat_color_vars_as_text = 0;
|
treat_color_vars_as_text = 0;
|
||||||
free_saved_config(ps, &vsave, expose_hidden_config);
|
free_saved_config(ps, &vsave, expose_hidden_config);
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
Index: alpine-2.11/pith/conf.c
|
Index: alpine-2.20/pith/conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.c
|
--- alpine-2.20.orig/pith/conf.c
|
||||||
+++ alpine-2.11/pith/conf.c
|
+++ alpine-2.20/pith/conf.c
|
||||||
@@ -206,6 +206,8 @@ CONF_TXT_T cf_text_fcc_name_rule[] = "De
|
@@ -206,6 +206,8 @@ CONF_TXT_T cf_text_fcc_name_rule[] = "De
|
||||||
|
|
||||||
CONF_TXT_T cf_text_sort_key[] = "Sets presentation order of messages in Index. Choices:\n# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.\n# Order may be reversed by appending /Reverse. Default: \"Arrival\".";
|
CONF_TXT_T cf_text_sort_key[] = "Sets presentation order of messages in Index. Choices:\n# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.\n# Order may be reversed by appending /Reverse. Default: \"Arrival\".";
|
||||||
@ -1367,7 +1367,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
CONF_TXT_T cf_text_addrbook_sort_rule[] = "Sets presentation order of address book entries. Choices: dont-sort,\n# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname\n# Default: \"fullname-with-lists-last\".";
|
CONF_TXT_T cf_text_addrbook_sort_rule[] = "Sets presentation order of address book entries. Choices: dont-sort,\n# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname\n# Default: \"fullname-with-lists-last\".";
|
||||||
|
|
||||||
CONF_TXT_T cf_text_folder_sort_rule[] = "Sets presentation order of folder list entries. Choices: alphabetical,\n# alpha-with-dirs-last, alpha-with-dirs-first.\n# Default: \"alpha-with-directories-last\".";
|
CONF_TXT_T cf_text_folder_sort_rule[] = "Sets presentation order of folder list entries. Choices: alphabetical,\n# alpha-with-dirs-last, alpha-with-dirs-first.\n# Default: \"alpha-with-directories-last\".";
|
||||||
@@ -522,6 +524,8 @@ static struct variable variables[] = {
|
@@ -524,6 +526,8 @@ static struct variable variables[] = {
|
||||||
NULL, cf_text_fcc_name_rule},
|
NULL, cf_text_fcc_name_rule},
|
||||||
{"sort-key", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"sort-key", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
NULL, cf_text_sort_key},
|
NULL, cf_text_sort_key},
|
||||||
@ -1376,7 +1376,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
{"addrbook-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"addrbook-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
"Address Book Sort Rule", cf_text_addrbook_sort_rule},
|
"Address Book Sort Rule", cf_text_addrbook_sort_rule},
|
||||||
{"folder-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"folder-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
@@ -1572,7 +1576,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -1576,7 +1580,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
register struct variable *vars = ps->vars;
|
register struct variable *vars = ps->vars;
|
||||||
int obs_header_in_reply = 0, /* the obs_ variables are to */
|
int obs_header_in_reply = 0, /* the obs_ variables are to */
|
||||||
obs_old_style_reply = 0, /* support backwards compatibility */
|
obs_old_style_reply = 0, /* support backwards compatibility */
|
||||||
@ -1385,7 +1385,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
long rvl;
|
long rvl;
|
||||||
PINERC_S *fixedprc = NULL;
|
PINERC_S *fixedprc = NULL;
|
||||||
FeatureLevel obs_feature_level;
|
FeatureLevel obs_feature_level;
|
||||||
@@ -1597,6 +1601,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -1601,6 +1605,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
GLO_FEATURE_LEVEL = cpystr("sappling");
|
GLO_FEATURE_LEVEL = cpystr("sappling");
|
||||||
GLO_OLD_STYLE_REPLY = cpystr(DF_OLD_STYLE_REPLY);
|
GLO_OLD_STYLE_REPLY = cpystr(DF_OLD_STYLE_REPLY);
|
||||||
GLO_SORT_KEY = cpystr(DF_SORT_KEY);
|
GLO_SORT_KEY = cpystr(DF_SORT_KEY);
|
||||||
@ -1393,7 +1393,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
GLO_SAVED_MSG_NAME_RULE = cpystr(DF_SAVED_MSG_NAME_RULE);
|
GLO_SAVED_MSG_NAME_RULE = cpystr(DF_SAVED_MSG_NAME_RULE);
|
||||||
GLO_FCC_RULE = cpystr(DF_FCC_RULE);
|
GLO_FCC_RULE = cpystr(DF_FCC_RULE);
|
||||||
GLO_AB_SORT_RULE = cpystr(DF_AB_SORT_RULE);
|
GLO_AB_SORT_RULE = cpystr(DF_AB_SORT_RULE);
|
||||||
@@ -2505,7 +2510,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -2517,7 +2522,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
set_current_val(&vars[V_ARCHIVED_FOLDERS], TRUE, TRUE);
|
set_current_val(&vars[V_ARCHIVED_FOLDERS], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_INCOMING_FOLDERS], TRUE, TRUE);
|
set_current_val(&vars[V_INCOMING_FOLDERS], TRUE, TRUE);
|
||||||
set_current_val(&vars[V_SORT_KEY], TRUE, TRUE);
|
set_current_val(&vars[V_SORT_KEY], TRUE, TRUE);
|
||||||
@ -1402,7 +1402,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
snprintf(tmp_20k_buf, SIZEOF_20KBUF, "Sort type \"%.200s\" is invalid", VAR_SORT_KEY);
|
snprintf(tmp_20k_buf, SIZEOF_20KBUF, "Sort type \"%.200s\" is invalid", VAR_SORT_KEY);
|
||||||
init_error(ps, SM_ORDER | SM_DING, 3, 5, tmp_20k_buf);
|
init_error(ps, SM_ORDER | SM_DING, 3, 5, tmp_20k_buf);
|
||||||
ps->def_sort = SortArrival;
|
ps->def_sort = SortArrival;
|
||||||
@@ -2514,6 +2519,17 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -2526,6 +2531,17 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
else
|
else
|
||||||
ps->def_sort_rev = def_sort_rev;
|
ps->def_sort_rev = def_sort_rev;
|
||||||
|
|
||||||
@ -1420,7 +1420,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
cur_rule_value(&vars[V_SAVED_MSG_NAME_RULE], TRUE, TRUE);
|
cur_rule_value(&vars[V_SAVED_MSG_NAME_RULE], TRUE, TRUE);
|
||||||
{NAMEVAL_S *v; int i;
|
{NAMEVAL_S *v; int i;
|
||||||
for(i = 0; (v = save_msg_rules(i)); i++)
|
for(i = 0; (v = save_msg_rules(i)); i++)
|
||||||
@@ -2937,6 +2953,8 @@ feature_list(int index)
|
@@ -2949,6 +2965,8 @@ feature_list(int index)
|
||||||
F_COLOR_LINE_IMPORTANT, h_config_color_thrd_import, PREF_INDX, 0},
|
F_COLOR_LINE_IMPORTANT, h_config_color_thrd_import, PREF_INDX, 0},
|
||||||
{"thread-sorts-by-arrival", "Thread Sorts by Arrival",
|
{"thread-sorts-by-arrival", "Thread Sorts by Arrival",
|
||||||
F_THREAD_SORTS_BY_ARRIVAL, h_config_thread_sorts_by_arrival, PREF_INDX, 0},
|
F_THREAD_SORTS_BY_ARRIVAL, h_config_thread_sorts_by_arrival, PREF_INDX, 0},
|
||||||
@ -1429,7 +1429,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
|
|
||||||
/* Viewer prefs */
|
/* Viewer prefs */
|
||||||
{"enable-msg-view-addresses", "Enable Message View Address Links",
|
{"enable-msg-view-addresses", "Enable Message View Address Links",
|
||||||
@@ -7619,6 +7637,8 @@ config_help(int var, int feature)
|
@@ -7685,6 +7703,8 @@ config_help(int var, int feature)
|
||||||
return(h_config_fcc_rule);
|
return(h_config_fcc_rule);
|
||||||
case V_SORT_KEY :
|
case V_SORT_KEY :
|
||||||
return(h_config_sort_key);
|
return(h_config_sort_key);
|
||||||
@ -1438,10 +1438,10 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
case V_AB_SORT_RULE :
|
case V_AB_SORT_RULE :
|
||||||
return(h_config_ab_sort_rule);
|
return(h_config_ab_sort_rule);
|
||||||
case V_FLD_SORT_RULE :
|
case V_FLD_SORT_RULE :
|
||||||
Index: alpine-2.11/pith/conf.h
|
Index: alpine-2.20/pith/conf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.h
|
--- alpine-2.20.orig/pith/conf.h
|
||||||
+++ alpine-2.11/pith/conf.h
|
+++ alpine-2.20/pith/conf.h
|
||||||
@@ -144,6 +144,9 @@
|
@@ -144,6 +144,9 @@
|
||||||
#define VAR_SORT_KEY vars[V_SORT_KEY].current_val.p
|
#define VAR_SORT_KEY vars[V_SORT_KEY].current_val.p
|
||||||
#define GLO_SORT_KEY vars[V_SORT_KEY].global_val.p
|
#define GLO_SORT_KEY vars[V_SORT_KEY].global_val.p
|
||||||
@ -1452,10 +1452,10 @@ Index: alpine-2.11/pith/conf.h
|
|||||||
#define VAR_AB_SORT_RULE vars[V_AB_SORT_RULE].current_val.p
|
#define VAR_AB_SORT_RULE vars[V_AB_SORT_RULE].current_val.p
|
||||||
#define GLO_AB_SORT_RULE vars[V_AB_SORT_RULE].global_val.p
|
#define GLO_AB_SORT_RULE vars[V_AB_SORT_RULE].global_val.p
|
||||||
#define VAR_FLD_SORT_RULE vars[V_FLD_SORT_RULE].current_val.p
|
#define VAR_FLD_SORT_RULE vars[V_FLD_SORT_RULE].current_val.p
|
||||||
Index: alpine-2.11/pith/conftype.h
|
Index: alpine-2.20/pith/conftype.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conftype.h
|
--- alpine-2.20.orig/pith/conftype.h
|
||||||
+++ alpine-2.11/pith/conftype.h
|
+++ alpine-2.20/pith/conftype.h
|
||||||
@@ -59,6 +59,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
@@ -59,6 +59,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||||
, V_SAVED_MSG_NAME_RULE
|
, V_SAVED_MSG_NAME_RULE
|
||||||
, V_FCC_RULE
|
, V_FCC_RULE
|
||||||
@ -1464,7 +1464,7 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
, V_AB_SORT_RULE
|
, V_AB_SORT_RULE
|
||||||
, V_FLD_SORT_RULE
|
, V_FLD_SORT_RULE
|
||||||
, V_GOTO_DEFAULT_RULE
|
, V_GOTO_DEFAULT_RULE
|
||||||
@@ -509,6 +510,7 @@ typedef enum {
|
@@ -511,6 +512,7 @@ typedef enum {
|
||||||
F_QUELL_TIMEZONE,
|
F_QUELL_TIMEZONE,
|
||||||
F_QUELL_USERAGENT,
|
F_QUELL_USERAGENT,
|
||||||
F_COLOR_LINE_IMPORTANT,
|
F_COLOR_LINE_IMPORTANT,
|
||||||
@ -1472,17 +1472,17 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
F_SLASH_COLL_ENTIRE,
|
F_SLASH_COLL_ENTIRE,
|
||||||
F_ENABLE_FULL_HDR_AND_TEXT,
|
F_ENABLE_FULL_HDR_AND_TEXT,
|
||||||
F_QUELL_FULL_HDR_RESET,
|
F_QUELL_FULL_HDR_RESET,
|
||||||
@@ -716,5 +718,6 @@ typedef struct smime_stuff {
|
@@ -766,5 +768,6 @@ typedef struct smime_stuff {
|
||||||
|
|
||||||
/* exported protoypes */
|
/* exported protoypes */
|
||||||
|
|
||||||
+#define DF_THREAD_SORT_KEY "thread"
|
+#define DF_THREAD_SORT_KEY "thread"
|
||||||
|
|
||||||
#endif /* PITH_CONFTYPE_INCLUDED */
|
#endif /* PITH_CONFTYPE_INCLUDED */
|
||||||
Index: alpine-2.11/pith/flag.c
|
Index: alpine-2.20/pith/flag.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/flag.c
|
--- alpine-2.20.orig/pith/flag.c
|
||||||
+++ alpine-2.11/pith/flag.c
|
+++ alpine-2.20/pith/flag.c
|
||||||
@@ -594,14 +594,16 @@ set_lflag(MAILSTREAM *stream, MSGNO_S *m
|
@@ -594,14 +594,16 @@ set_lflag(MAILSTREAM *stream, MSGNO_S *m
|
||||||
|
|
||||||
was_invisible = (pelt->hidden || pelt->colhid) ? 1 : 0;
|
was_invisible = (pelt->hidden || pelt->colhid) ? 1 : 0;
|
||||||
@ -1502,10 +1502,10 @@ Index: alpine-2.11/pith/flag.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(topthrd){
|
if(topthrd){
|
||||||
Index: alpine-2.11/pith/indxtype.h
|
Index: alpine-2.20/pith/indxtype.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/indxtype.h
|
--- alpine-2.20.orig/pith/indxtype.h
|
||||||
+++ alpine-2.11/pith/indxtype.h
|
+++ alpine-2.20/pith/indxtype.h
|
||||||
@@ -76,7 +76,7 @@ typedef enum {iNothing, iStatus, iFStatu
|
@@ -76,7 +76,7 @@ typedef enum {iNothing, iStatus, iFStatu
|
||||||
iKey, iKeyInit,
|
iKey, iKeyInit,
|
||||||
iPrefDate, iPrefTime, iPrefDateTime,
|
iPrefDate, iPrefTime, iPrefDateTime,
|
||||||
@ -1515,10 +1515,10 @@ Index: alpine-2.11/pith/indxtype.h
|
|||||||
iNewsAndTo, iToAndNews, iNewsAndRecips, iRecipsAndNews,
|
iNewsAndTo, iToAndNews, iNewsAndRecips, iRecipsAndNews,
|
||||||
iFromTo, iFromToNotNews, iFrom, iTo, iSender, iCc, iNews, iRecips,
|
iFromTo, iFromToNotNews, iFrom, iTo, iSender, iCc, iNews, iRecips,
|
||||||
iCurNews, iArrow,
|
iCurNews, iArrow,
|
||||||
Index: alpine-2.11/pith/mailindx.c
|
Index: alpine-2.20/pith/mailindx.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/mailindx.c
|
--- alpine-2.20.orig/pith/mailindx.c
|
||||||
+++ alpine-2.11/pith/mailindx.c
|
+++ alpine-2.20/pith/mailindx.c
|
||||||
@@ -228,6 +228,7 @@ init_index_format(char *format, INDEX_CO
|
@@ -228,6 +228,7 @@ init_index_format(char *format, INDEX_CO
|
||||||
case iSTime:
|
case iSTime:
|
||||||
case iKSize:
|
case iKSize:
|
||||||
@ -1624,7 +1624,7 @@ Index: alpine-2.11/pith/mailindx.c
|
|||||||
/* 0 ... 9999 */
|
/* 0 ... 9999 */
|
||||||
if((l = fetch_size(idata)) < 10*1000L)
|
if((l = fetch_size(idata)) < 10*1000L)
|
||||||
snprintf(str, sizeof(str), "(%lu)", l);
|
snprintf(str, sizeof(str), "(%lu)", l);
|
||||||
@@ -5412,10 +5437,8 @@ subj_str(INDEXDATA_S *idata, char *str,
|
@@ -5413,10 +5438,8 @@ subj_str(INDEXDATA_S *idata, char *str,
|
||||||
|
|
||||||
if(pith_opt_condense_thread_cue)
|
if(pith_opt_condense_thread_cue)
|
||||||
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
||||||
@ -1637,7 +1637,7 @@ Index: alpine-2.11/pith/mailindx.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* width is < available strsize and
|
* width is < available strsize and
|
||||||
@@ -6043,11 +6066,8 @@ from_str(IndexColType ctype, INDEXDATA_S
|
@@ -6044,11 +6067,8 @@ from_str(IndexColType ctype, INDEXDATA_S
|
||||||
border = str + width;
|
border = str + width;
|
||||||
if(pith_opt_condense_thread_cue)
|
if(pith_opt_condense_thread_cue)
|
||||||
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
||||||
@ -1651,10 +1651,10 @@ Index: alpine-2.11/pith/mailindx.c
|
|||||||
fptr = str;
|
fptr = str;
|
||||||
|
|
||||||
if(thd)
|
if(thd)
|
||||||
Index: alpine-2.11/pith/pattern.c
|
Index: alpine-2.20/pith/pattern.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pattern.c
|
--- alpine-2.20.orig/pith/pattern.c
|
||||||
+++ alpine-2.11/pith/pattern.c
|
+++ alpine-2.20/pith/pattern.c
|
||||||
@@ -1756,7 +1756,7 @@ parse_action_slash(char *str, ACTION_S *
|
@@ -1756,7 +1756,7 @@ parse_action_slash(char *str, ACTION_S *
|
||||||
SortOrder def_sort;
|
SortOrder def_sort;
|
||||||
int def_sort_rev;
|
int def_sort_rev;
|
||||||
@ -1664,11 +1664,11 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
action->sort_is_set = 1;
|
action->sort_is_set = 1;
|
||||||
action->sortorder = def_sort;
|
action->sortorder = def_sort;
|
||||||
action->revsort = (def_sort_rev ? 1 : 0);
|
action->revsort = (def_sort_rev ? 1 : 0);
|
||||||
Index: alpine-2.11/pith/pine.hlp
|
Index: alpine-2.20/pith/pine.hlp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pine.hlp
|
--- alpine-2.20.orig/pith/pine.hlp
|
||||||
+++ alpine-2.11/pith/pine.hlp
|
+++ alpine-2.20/pith/pine.hlp
|
||||||
@@ -3596,6 +3596,7 @@ There are also additional details on
|
@@ -3866,6 +3866,7 @@ There are also additional details on
|
||||||
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
||||||
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
||||||
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
||||||
@ -1676,7 +1676,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
<li><a href="h_config_speller">OPTION: <!--#echo var="VAR_speller"--></a>
|
<li><a href="h_config_speller">OPTION: <!--#echo var="VAR_speller"--></a>
|
||||||
<li><a href="h_config_sshcmd">OPTION: <!--#echo var="VAR_ssh-command"--></a>
|
<li><a href="h_config_sshcmd">OPTION: <!--#echo var="VAR_ssh-command"--></a>
|
||||||
<li><a href="h_config_ssh_open_timeo">OPTION: <!--#echo var="VAR_ssh-open-timeout"--></a>
|
<li><a href="h_config_ssh_open_timeo">OPTION: <!--#echo var="VAR_ssh-open-timeout"--></a>
|
||||||
@@ -5528,6 +5529,163 @@ the names of the carbon copy addresses o
|
@@ -5802,6 +5803,163 @@ the names of the carbon copy addresses o
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
@ -1840,7 +1840,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
======= h_index_cmd_whereis =======
|
======= h_index_cmd_whereis =======
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
@@ -18894,6 +19052,14 @@ The progression of sizes used looks like
|
@@ -19184,6 +19342,14 @@ The progression of sizes used looks like
|
||||||
<P>
|
<P>
|
||||||
</DD>
|
</DD>
|
||||||
|
|
||||||
@ -1855,7 +1855,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
<DT>SIZENARROW</DT>
|
<DT>SIZENARROW</DT>
|
||||||
<DD>
|
<DD>
|
||||||
This token represents the total size, in bytes, of the message.
|
This token represents the total size, in bytes, of the message.
|
||||||
@@ -22259,6 +22425,45 @@ command, then it will not be re-sorted u
|
@@ -22655,6 +22821,45 @@ command, then it will not be re-sorted u
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
@ -1901,7 +1901,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
====== h_config_other_startup =====
|
====== h_config_other_startup =====
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
@@ -30089,6 +30294,23 @@ Reply Use, Forward Use, and Compose Use.
|
@@ -30485,6 +30690,23 @@ Reply Use, Forward Use, and Compose Use.
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
@ -1925,10 +1925,10 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
====== h_config_news_cross_deletes =====
|
====== h_config_news_cross_deletes =====
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
Index: alpine-2.11/pith/sort.c
|
Index: alpine-2.20/pith/sort.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/sort.c
|
--- alpine-2.20.orig/pith/sort.c
|
||||||
+++ alpine-2.11/pith/sort.c
|
+++ alpine-2.20/pith/sort.c
|
||||||
@@ -91,7 +91,7 @@ Args: msgmap --
|
@@ -91,7 +91,7 @@ Args: msgmap --
|
||||||
----*/
|
----*/
|
||||||
void
|
void
|
||||||
@ -2016,10 +2016,10 @@ Index: alpine-2.11/pith/sort.c
|
|||||||
- the_sort_order, sort_is_rev, flags);
|
- the_sort_order, sort_is_rev, flags);
|
||||||
+ the_sort_order, sort_is_rev, flags, 1);
|
+ the_sort_order, sort_is_rev, flags, 1);
|
||||||
}
|
}
|
||||||
Index: alpine-2.11/pith/sort.h
|
Index: alpine-2.20/pith/sort.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/sort.h
|
--- alpine-2.20.orig/pith/sort.h
|
||||||
+++ alpine-2.11/pith/sort.h
|
+++ alpine-2.20/pith/sort.h
|
||||||
@@ -22,7 +22,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
@ -2040,10 +2040,10 @@ Index: alpine-2.11/pith/sort.h
|
|||||||
void reset_sort_order(unsigned);
|
void reset_sort_order(unsigned);
|
||||||
|
|
||||||
|
|
||||||
Index: alpine-2.11/pith/state.c
|
Index: alpine-2.20/pith/state.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/state.c
|
--- alpine-2.20.orig/pith/state.c
|
||||||
+++ alpine-2.11/pith/state.c
|
+++ alpine-2.20/pith/state.c
|
||||||
@@ -74,6 +74,7 @@ new_pine_struct(void)
|
@@ -74,6 +74,7 @@ new_pine_struct(void)
|
||||||
|
|
||||||
p = (struct pine *)fs_get(sizeof (struct pine));
|
p = (struct pine *)fs_get(sizeof (struct pine));
|
||||||
@ -2052,10 +2052,10 @@ Index: alpine-2.11/pith/state.c
|
|||||||
p->def_sort = SortArrival;
|
p->def_sort = SortArrival;
|
||||||
p->sort_types[0] = SortSubject;
|
p->sort_types[0] = SortSubject;
|
||||||
p->sort_types[1] = SortArrival;
|
p->sort_types[1] = SortArrival;
|
||||||
Index: alpine-2.11/pith/state.h
|
Index: alpine-2.20/pith/state.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/state.h
|
--- alpine-2.20.orig/pith/state.h
|
||||||
+++ alpine-2.11/pith/state.h
|
+++ alpine-2.20/pith/state.h
|
||||||
@@ -137,6 +137,8 @@ struct pine {
|
@@ -137,6 +137,8 @@ struct pine {
|
||||||
unsigned unseen_in_view:1;
|
unsigned unseen_in_view:1;
|
||||||
unsigned start_in_context:1; /* start fldr_scrn in current cntxt */
|
unsigned start_in_context:1; /* start fldr_scrn in current cntxt */
|
||||||
@ -2065,7 +2065,7 @@ Index: alpine-2.11/pith/state.h
|
|||||||
unsigned restricted:1;
|
unsigned restricted:1;
|
||||||
|
|
||||||
unsigned tcptimeout:1; /* a tcp timeout is in progress */
|
unsigned tcptimeout:1; /* a tcp timeout is in progress */
|
||||||
@@ -288,6 +290,9 @@ struct pine {
|
@@ -291,6 +293,9 @@ struct pine {
|
||||||
EditWhich ew_for_srch_take;
|
EditWhich ew_for_srch_take;
|
||||||
|
|
||||||
SortOrder def_sort, /* Default sort type */
|
SortOrder def_sort, /* Default sort type */
|
||||||
@ -2075,10 +2075,10 @@ Index: alpine-2.11/pith/state.h
|
|||||||
sort_types[22];
|
sort_types[22];
|
||||||
|
|
||||||
int preserve;
|
int preserve;
|
||||||
Index: alpine-2.11/pith/thread.c
|
Index: alpine-2.20/pith/thread.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/thread.c
|
--- alpine-2.20.orig/pith/thread.c
|
||||||
+++ alpine-2.11/pith/thread.c
|
+++ alpine-2.20/pith/thread.c
|
||||||
@@ -30,12 +30,18 @@ static char rcsid[] = "$Id: thread.c 942
|
@@ -30,12 +30,18 @@ static char rcsid[] = "$Id: thread.c 942
|
||||||
#include "../pith/mailcmd.h"
|
#include "../pith/mailcmd.h"
|
||||||
#include "../pith/ablookup.h"
|
#include "../pith/ablookup.h"
|
||||||
@ -3127,10 +3127,10 @@ Index: alpine-2.11/pith/thread.c
|
|||||||
+ || sort == SortSize;
|
+ || sort == SortSize;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
Index: alpine-2.11/pith/thread.h
|
Index: alpine-2.20/pith/thread.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/thread.h
|
--- alpine-2.20.orig/pith/thread.h
|
||||||
+++ alpine-2.11/pith/thread.h
|
+++ alpine-2.20/pith/thread.h
|
||||||
@@ -37,6 +37,7 @@ typedef struct pine_thrd {
|
@@ -37,6 +37,7 @@ typedef struct pine_thrd {
|
||||||
unsigned long nextthd; /* next thread, only tops have this */
|
unsigned long nextthd; /* next thread, only tops have this */
|
||||||
unsigned long prevthd; /* previous thread, only tops have this */
|
unsigned long prevthd; /* previous thread, only tops have this */
|
||||||
@ -3174,10 +3174,10 @@ Index: alpine-2.11/pith/thread.h
|
|||||||
+int allowed_thread_key(SortOrder sort);
|
+int allowed_thread_key(SortOrder sort);
|
||||||
|
|
||||||
#endif /* PITH_THREAD_INCLUDED */
|
#endif /* PITH_THREAD_INCLUDED */
|
||||||
Index: alpine-2.11/web/src/alpined.d/alpined.c
|
Index: alpine-2.20/web/src/alpined.d/alpined.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/web/src/alpined.d/alpined.c
|
--- alpine-2.20.orig/web/src/alpined.d/alpined.c
|
||||||
+++ alpine-2.11/web/src/alpined.d/alpined.c
|
+++ alpine-2.20/web/src/alpined.d/alpined.c
|
||||||
@@ -2755,7 +2755,7 @@ PEConfigCmd(ClientData clientData, Tcl_I
|
@@ -2755,7 +2755,7 @@ PEConfigCmd(ClientData clientData, Tcl_I
|
||||||
init_save_defaults();
|
init_save_defaults();
|
||||||
break;
|
break;
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
pith/save.c | 1 +
|
pith/save.c | 1 +
|
||||||
5 files changed, 42 insertions(+)
|
5 files changed, 42 insertions(+)
|
||||||
|
|
||||||
Index: alpine-2.11/alpine/mailcmd.c
|
Index: alpine-2.20/alpine/mailcmd.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/mailcmd.c
|
--- alpine-2.20.orig/alpine/mailcmd.c
|
||||||
+++ alpine-2.11/alpine/mailcmd.c
|
+++ alpine-2.20/alpine/mailcmd.c
|
||||||
@@ -3368,6 +3368,9 @@ save_size_changed_prompt(long msgno, int
|
@@ -3491,6 +3491,9 @@ save_size_changed_prompt(long msgno, int
|
||||||
{-1, 0, NULL, NULL}
|
{-1, 0, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -20,11 +20,11 @@ Index: alpine-2.11/alpine/mailcmd.c
|
|||||||
if(flags & SSCP_INIT || flags & SSCP_END){
|
if(flags & SSCP_INIT || flags & SSCP_END){
|
||||||
if(flags & SSCP_END && possible_corruption)
|
if(flags & SSCP_END && possible_corruption)
|
||||||
q_status_message(SM_ORDER, 3, 3, "There is possible data corruption, check the results");
|
q_status_message(SM_ORDER, 3, 3, "There is possible data corruption, check the results");
|
||||||
Index: alpine-2.11/pith/conf.c
|
Index: alpine-2.20/pith/conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.c
|
--- alpine-2.20.orig/pith/conf.c
|
||||||
+++ alpine-2.11/pith/conf.c
|
+++ alpine-2.20/pith/conf.c
|
||||||
@@ -3123,6 +3123,8 @@ feature_list(int index)
|
@@ -3140,6 +3140,8 @@ feature_list(int index)
|
||||||
F_FULL_AUTO_EXPUNGE, h_config_full_auto_expunge, PREF_MISC, 0},
|
F_FULL_AUTO_EXPUNGE, h_config_full_auto_expunge, PREF_MISC, 0},
|
||||||
{"force-arrow-cursor", NULL,
|
{"force-arrow-cursor", NULL,
|
||||||
F_FORCE_ARROW, h_config_force_arrow, PREF_MISC, 0},
|
F_FORCE_ARROW, h_config_force_arrow, PREF_MISC, 0},
|
||||||
@ -33,11 +33,11 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
{"maildrops-preserve-state", NULL,
|
{"maildrops-preserve-state", NULL,
|
||||||
F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state,
|
F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state,
|
||||||
PREF_MISC, 0},
|
PREF_MISC, 0},
|
||||||
Index: alpine-2.11/pith/conftype.h
|
Index: alpine-2.20/pith/conftype.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conftype.h
|
--- alpine-2.20.orig/pith/conftype.h
|
||||||
+++ alpine-2.11/pith/conftype.h
|
+++ alpine-2.20/pith/conftype.h
|
||||||
@@ -346,6 +346,7 @@ typedef enum {
|
@@ -347,6 +347,7 @@ typedef enum {
|
||||||
F_FORCE_ARROW,
|
F_FORCE_ARROW,
|
||||||
F_PRUNE_USES_ISO,
|
F_PRUNE_USES_ISO,
|
||||||
F_ALT_ED_NOW,
|
F_ALT_ED_NOW,
|
||||||
@ -45,11 +45,11 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
F_SHOW_DELAY_CUE,
|
F_SHOW_DELAY_CUE,
|
||||||
F_CANCEL_CONFIRM,
|
F_CANCEL_CONFIRM,
|
||||||
F_AUTO_OPEN_NEXT_UNREAD,
|
F_AUTO_OPEN_NEXT_UNREAD,
|
||||||
Index: alpine-2.11/pith/pine.hlp
|
Index: alpine-2.20/pith/pine.hlp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pine.hlp
|
--- alpine-2.20.orig/pith/pine.hlp
|
||||||
+++ alpine-2.11/pith/pine.hlp
|
+++ alpine-2.20/pith/pine.hlp
|
||||||
@@ -3296,6 +3296,7 @@ There are also additional details on
|
@@ -3565,6 +3565,7 @@ There are also additional details on
|
||||||
<li><a href="h_config_full_auto_expunge">FEATURE: <!--#echo var="FEAT_expunge-without-confirm-everywhere"--></a>
|
<li><a href="h_config_full_auto_expunge">FEATURE: <!--#echo var="FEAT_expunge-without-confirm-everywhere"--></a>
|
||||||
<li><a href="h_config_no_fcc_attach">FEATURE: <!--#echo var="FEAT_fcc-without-attachments"--></a>
|
<li><a href="h_config_no_fcc_attach">FEATURE: <!--#echo var="FEAT_fcc-without-attachments"--></a>
|
||||||
<li><a href="h_config_force_arrow">FEATURE: <!--#echo var="FEAT_force-arrow-cursor"--></a>
|
<li><a href="h_config_force_arrow">FEATURE: <!--#echo var="FEAT_force-arrow-cursor"--></a>
|
||||||
@ -57,7 +57,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
<li><a href="h_config_forward_as_attachment">FEATURE: <!--#echo var="FEAT_forward-as-attachment"--></a>
|
<li><a href="h_config_forward_as_attachment">FEATURE: <!--#echo var="FEAT_forward-as-attachment"--></a>
|
||||||
<li><a href="h_config_preserve_field">FEATURE: <!--#echo var="FEAT_preserve-original-fields"--></a>
|
<li><a href="h_config_preserve_field">FEATURE: <!--#echo var="FEAT_preserve-original-fields"--></a>
|
||||||
<li><a href="h_config_quell_empty_dirs">FEATURE: <!--#echo var="FEAT_quell-empty-directories"--></a>
|
<li><a href="h_config_quell_empty_dirs">FEATURE: <!--#echo var="FEAT_quell-empty-directories"--></a>
|
||||||
@@ -30787,6 +30788,40 @@ but that is not implemented.
|
@@ -31183,6 +31184,40 @@ but that is not implemented.
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
@ -98,10 +98,10 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
====== h_config_force_low_speed =====
|
====== h_config_force_low_speed =====
|
||||||
Index: alpine-2.11/pith/save.c
|
Index: alpine-2.20/pith/save.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/save.c
|
--- alpine-2.20.orig/pith/save.c
|
||||||
+++ alpine-2.11/pith/save.c
|
+++ alpine-2.20/pith/save.c
|
||||||
@@ -1157,6 +1157,7 @@ long save_fetch_append_cb(MAILSTREAM *st
|
@@ -1157,6 +1157,7 @@ long save_fetch_append_cb(MAILSTREAM *st
|
||||||
snprintf(buf, sizeof(buf),
|
snprintf(buf, sizeof(buf),
|
||||||
"Message to save shrank: source msg # %ld may be saved incorrectly",
|
"Message to save shrank: source msg # %ld may be saved incorrectly",
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
pico/search.c | 4 ++++
|
pico/search.c | 4 ++++
|
||||||
2 files changed, 16 insertions(+)
|
2 files changed, 16 insertions(+)
|
||||||
|
|
||||||
Index: alpine-2.11/pico/display.c
|
Index: alpine-2.20/pico/display.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/display.c
|
--- alpine-2.20.orig/pico/display.c
|
||||||
+++ alpine-2.11/pico/display.c
|
+++ alpine-2.20/pico/display.c
|
||||||
@@ -1760,6 +1760,18 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
@@ -1760,6 +1760,18 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
@ -26,11 +26,11 @@ Index: alpine-2.11/pico/display.c
|
|||||||
case (CTRL|'G') : /* CTRL-G help */
|
case (CTRL|'G') : /* CTRL-G help */
|
||||||
if(term.t_mrow == 0 && km_popped == 0){
|
if(term.t_mrow == 0 && km_popped == 0){
|
||||||
movecursor(term.t_nrow-2, 0);
|
movecursor(term.t_nrow-2, 0);
|
||||||
Index: alpine-2.11/pico/search.c
|
Index: alpine-2.20/pico/search.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pico/search.c
|
--- alpine-2.20.orig/pico/search.c
|
||||||
+++ alpine-2.11/pico/search.c
|
+++ alpine-2.20/pico/search.c
|
||||||
@@ -76,6 +76,10 @@ N_(" brackets. This string is th
|
@@ -81,6 +81,10 @@ N_(" brackets. This string is th
|
||||||
N_("~ Hitting only ~R~e~t~u~r~n or at the prompt will cause the"),
|
N_("~ Hitting only ~R~e~t~u~r~n or at the prompt will cause the"),
|
||||||
N_(" search to be made with the default value."),
|
N_(" search to be made with the default value."),
|
||||||
" ",
|
" ",
|
||||||
|
@ -6,22 +6,22 @@
|
|||||||
imap/src/c-client/mail.h | 4
|
imap/src/c-client/mail.h | 4
|
||||||
imap/src/osdep/unix/Makefile | 8
|
imap/src/osdep/unix/Makefile | 8
|
||||||
imap/src/osdep/unix/dummy.c | 48
|
imap/src/osdep/unix/dummy.c | 48
|
||||||
imap/src/osdep/unix/maildir.c | 2638 ++++++++++++++++++++++++++++++++++++++++++
|
imap/src/osdep/unix/maildir.c | 2671 ++++++++++++++++++++++++++++++++++++++++++
|
||||||
imap/src/osdep/unix/maildir.h | 226 +++
|
imap/src/osdep/unix/maildir.h | 226 +++
|
||||||
imap/src/osdep/unix/os_cyg.h | 1
|
imap/src/osdep/unix/os_cyg.h | 1
|
||||||
pith/conf.c | 27
|
pith/conf.c | 30
|
||||||
pith/conf.h | 4
|
pith/conf.h | 4
|
||||||
pith/conftype.h | 6
|
pith/conftype.h | 6
|
||||||
pith/init.c | 3
|
pith/init.c | 3
|
||||||
pith/pattern.c | 26
|
pith/pattern.c | 30
|
||||||
pith/pine.hlp | 139 ++
|
pith/pine.hlp | 139 ++
|
||||||
pith/send.c | 7
|
pith/send.c | 10
|
||||||
17 files changed, 3293 insertions(+), 15 deletions(-)
|
17 files changed, 3334 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/README.maildir
|
Index: alpine-2.20/README.maildir
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ alpine-2.11/README.maildir
|
+++ alpine-2.20/README.maildir
|
||||||
@@ -0,0 +1,149 @@
|
@@ -0,0 +1,149 @@
|
||||||
+---------------------------------------
|
+---------------------------------------
|
||||||
+
|
+
|
||||||
@ -172,27 +172,27 @@ Index: alpine-2.11/README.maildir
|
|||||||
+point to the same place.
|
+point to the same place.
|
||||||
+
|
+
|
||||||
+Last Updated May 28, 2011
|
+Last Updated May 28, 2011
|
||||||
Index: alpine-2.11/alpine/alpine.c
|
Index: alpine-2.20/alpine/alpine.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/alpine.c
|
--- alpine-2.20.orig/alpine/alpine.c
|
||||||
+++ alpine-2.11/alpine/alpine.c
|
+++ alpine-2.20/alpine/alpine.c
|
||||||
@@ -558,6 +558,11 @@ main(int argc, char **argv)
|
@@ -560,6 +560,11 @@ main(int argc, char **argv)
|
||||||
if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
|
if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
|
||||||
mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
|
mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
|
||||||
|
|
||||||
+#ifndef _WINDOWS
|
+#ifndef _WINDOWS
|
||||||
+ mail_parameters(NULL,SET_COURIERSTYLE,
|
+ rv = F_ON(F_COURIER_FOLDER_LIST, ps_global) ? 1 : 0;
|
||||||
+ (void *)(F_ON(F_COURIER_FOLDER_LIST, ps_global) ? 1 : 0));
|
+ mail_parameters(NULL,SET_COURIERSTYLE, (void *) &rv);
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
rvl = 0L;
|
rvl = 0L;
|
||||||
if(pine_state->VAR_NNTPRANGE){
|
if(pine_state->VAR_NNTPRANGE){
|
||||||
if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
|
if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
|
||||||
Index: alpine-2.11/alpine/confscroll.c
|
Index: alpine-2.20/alpine/confscroll.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/confscroll.c
|
--- alpine-2.20.orig/alpine/confscroll.c
|
||||||
+++ alpine-2.11/alpine/confscroll.c
|
+++ alpine-2.20/alpine/confscroll.c
|
||||||
@@ -5533,6 +5533,12 @@ fix_side_effects(struct pine *ps, struct
|
@@ -5556,6 +5556,12 @@ fix_side_effects(struct pine *ps, struct
|
||||||
(void *)var->current_val.p);
|
(void *)var->current_val.p);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -205,11 +205,11 @@ Index: alpine-2.11/alpine/confscroll.c
|
|||||||
else if(revert && standard_radio_var(ps, var)){
|
else if(revert && standard_radio_var(ps, var)){
|
||||||
|
|
||||||
cur_rule_value(var, TRUE, FALSE);
|
cur_rule_value(var, TRUE, FALSE);
|
||||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||||
@@ -991,7 +991,7 @@ long mail_create (MAILSTREAM *stream,cha
|
@@ -1011,7 +1011,7 @@ long mail_create (MAILSTREAM *stream,cha
|
||||||
MAILSTREAM *ts;
|
MAILSTREAM *ts;
|
||||||
char *s,*t,tmp[MAILTMPLEN];
|
char *s,*t,tmp[MAILTMPLEN];
|
||||||
size_t i;
|
size_t i;
|
||||||
@ -218,7 +218,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
|||||||
/* never allow names with newlines */
|
/* never allow names with newlines */
|
||||||
if (s = strpbrk (mailbox,"\015\012")) {
|
if (s = strpbrk (mailbox,"\015\012")) {
|
||||||
MM_LOG ("Can't create mailbox with such a name",ERROR);
|
MM_LOG ("Can't create mailbox with such a name",ERROR);
|
||||||
@@ -1015,6 +1015,8 @@ long mail_create (MAILSTREAM *stream,cha
|
@@ -1035,6 +1035,8 @@ long mail_create (MAILSTREAM *stream,cha
|
||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
|||||||
/* see if special driver hack */
|
/* see if special driver hack */
|
||||||
if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
|
if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
|
||||||
((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
|
((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
|
||||||
@@ -1045,6 +1047,13 @@ long mail_create (MAILSTREAM *stream,cha
|
@@ -1065,6 +1067,13 @@ long mail_create (MAILSTREAM *stream,cha
|
||||||
(((*mailbox == '{') || (*mailbox == '#')) &&
|
(((*mailbox == '{') || (*mailbox == '#')) &&
|
||||||
(stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
|
(stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
|
||||||
d = stream->dtb;
|
d = stream->dtb;
|
||||||
@ -241,11 +241,11 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
|||||||
else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
|
else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
|
||||||
else { /* failed utterly */
|
else { /* failed utterly */
|
||||||
sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
|
sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
|
||||||
Index: alpine-2.11/imap/src/c-client/mail.h
|
Index: alpine-2.20/imap/src/c-client/mail.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/c-client/mail.h
|
--- alpine-2.20.orig/imap/src/c-client/mail.h
|
||||||
+++ alpine-2.11/imap/src/c-client/mail.h
|
+++ alpine-2.20/imap/src/c-client/mail.h
|
||||||
@@ -353,6 +353,10 @@
|
@@ -354,6 +354,10 @@
|
||||||
#define SET_SCANCONTENTS (long) 573
|
#define SET_SCANCONTENTS (long) 573
|
||||||
#define GET_MHALLOWINBOX (long) 574
|
#define GET_MHALLOWINBOX (long) 574
|
||||||
#define SET_MHALLOWINBOX (long) 575
|
#define SET_MHALLOWINBOX (long) 575
|
||||||
@ -256,11 +256,11 @@ Index: alpine-2.11/imap/src/c-client/mail.h
|
|||||||
|
|
||||||
/* Driver flags */
|
/* Driver flags */
|
||||||
|
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
Index: alpine-2.20/imap/src/osdep/unix/Makefile
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/osdep/unix/Makefile
|
--- alpine-2.20.orig/imap/src/osdep/unix/Makefile
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/Makefile
|
+++ alpine-2.20/imap/src/osdep/unix/Makefile
|
||||||
@@ -144,7 +144,7 @@ DEFAULTAUTHENTICATORS=ext md5 pla log
|
@@ -147,7 +147,7 @@ DEFAULTAUTHENTICATORS=ext md5 pla log
|
||||||
# However, mh needs to be before any sysinbox formats (such as mmdf or unix)
|
# However, mh needs to be before any sysinbox formats (such as mmdf or unix)
|
||||||
# since otherwise INBOX won't work correctly when mh_allow_inbox is set.
|
# since otherwise INBOX won't work correctly when mh_allow_inbox is set.
|
||||||
#
|
#
|
||||||
@ -269,7 +269,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
|||||||
CHUNKSIZE=65536
|
CHUNKSIZE=65536
|
||||||
|
|
||||||
# Normally no need to change any of these
|
# Normally no need to change any of these
|
||||||
@@ -153,7 +153,7 @@ ARCHIVE=c-client.a
|
@@ -156,7 +156,7 @@ ARCHIVE=c-client.a
|
||||||
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
|
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
|
||||||
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
|
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
|
||||||
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
|
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
|
||||||
@ -278,7 +278,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
|||||||
CFLAGS=-g
|
CFLAGS=-g
|
||||||
|
|
||||||
CAT=cat
|
CAT=cat
|
||||||
@@ -290,7 +290,7 @@ cvx: # Convex
|
@@ -293,7 +293,7 @@ cvx: # Convex
|
||||||
|
|
||||||
cyg: # Cygwin - note that most local file drivers don't work!!
|
cyg: # Cygwin - note that most local file drivers don't work!!
|
||||||
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
||||||
@ -287,7 +287,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
|||||||
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
|
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
|
||||||
SPOOLDIR=/var \
|
SPOOLDIR=/var \
|
||||||
ACTIVEFILE=/usr/local/news/lib/active \
|
ACTIVEFILE=/usr/local/news/lib/active \
|
||||||
@@ -900,7 +900,7 @@ tenex.o: mail.h misc.h osdep.h dummy.h
|
@@ -911,7 +911,7 @@ tenex.o: mail.h misc.h osdep.h dummy.h
|
||||||
unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
|
unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
|
||||||
utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
|
utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
|
||||||
utf8aux.o: mail.h misc.h osdep.h utf8.h
|
utf8aux.o: mail.h misc.h osdep.h utf8.h
|
||||||
@ -296,11 +296,11 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
|||||||
|
|
||||||
# OS-dependent
|
# OS-dependent
|
||||||
|
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
Index: alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/osdep/unix/dummy.c
|
--- alpine-2.20.orig/imap/src/osdep/unix/dummy.c
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/dummy.c
|
+++ alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||||
@@ -106,13 +106,19 @@ MAILSTREAM dummyproto = {&dummydriver};
|
@@ -103,13 +103,19 @@ MAILSTREAM dummyproto = {&dummydriver};
|
||||||
* Accepts: mailbox name
|
* Accepts: mailbox name
|
||||||
* Returns: our driver if name is valid, NIL otherwise
|
* Returns: our driver if name is valid, NIL otherwise
|
||||||
*/
|
*/
|
||||||
@ -323,7 +323,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
/* indeterminate clearbox INBOX */
|
/* indeterminate clearbox INBOX */
|
||||||
if (!*s) return &dummydriver;
|
if (!*s) return &dummydriver;
|
||||||
else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
|
else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
|
||||||
@@ -121,8 +127,9 @@ DRIVER *dummy_valid (char *name)
|
@@ -118,8 +124,9 @@ DRIVER *dummy_valid (char *name)
|
||||||
return &dummydriver;
|
return &dummydriver;
|
||||||
}
|
}
|
||||||
/* blackbox INBOX does not exist yet */
|
/* blackbox INBOX does not exist yet */
|
||||||
@ -334,7 +334,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -454,6 +461,8 @@ long dummy_create (MAILSTREAM *stream,ch
|
@@ -452,6 +459,8 @@ long dummy_create (MAILSTREAM *stream,ch
|
||||||
{
|
{
|
||||||
char *s,tmp[MAILTMPLEN];
|
char *s,tmp[MAILTMPLEN];
|
||||||
long ret = NIL;
|
long ret = NIL;
|
||||||
@ -343,7 +343,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
/* validate name */
|
/* validate name */
|
||||||
if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) {
|
if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) {
|
||||||
sprintf (tmp,"Can't create %.80s: invalid name",mailbox);
|
sprintf (tmp,"Can't create %.80s: invalid name",mailbox);
|
||||||
@@ -519,6 +528,14 @@ long dummy_delete (MAILSTREAM *stream,ch
|
@@ -517,6 +526,14 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||||
{
|
{
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
char *s,tmp[MAILTMPLEN];
|
char *s,tmp[MAILTMPLEN];
|
||||||
@ -358,7 +358,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
if (!(s = dummy_file (tmp,mailbox))) {
|
if (!(s = dummy_file (tmp,mailbox))) {
|
||||||
sprintf (tmp,"Can't delete - invalid name: %.80s",s);
|
sprintf (tmp,"Can't delete - invalid name: %.80s",s);
|
||||||
MM_LOG (tmp,ERROR);
|
MM_LOG (tmp,ERROR);
|
||||||
@@ -544,12 +561,23 @@ long dummy_delete (MAILSTREAM *stream,ch
|
@@ -542,12 +559,23 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||||
long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
|
long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
|
||||||
{
|
{
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
@ -385,7 +385,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
MM_LOG (mbx,ERROR);
|
MM_LOG (mbx,ERROR);
|
||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
@@ -565,14 +593,16 @@ long dummy_rename (MAILSTREAM *stream,ch
|
@@ -563,14 +591,16 @@ long dummy_rename (MAILSTREAM *stream,ch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* rename of non-ex INBOX creates dest */
|
/* rename of non-ex INBOX creates dest */
|
||||||
@ -404,16 +404,16 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
|||||||
return T; /* return success */
|
return T; /* return success */
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
Index: alpine-2.20/imap/src/osdep/unix/maildir.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/maildir.c
|
+++ alpine-2.20/imap/src/osdep/unix/maildir.c
|
||||||
@@ -0,0 +1,2638 @@
|
@@ -0,0 +1,2671 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Maildir driver for Alpine 2.00
|
+ * Maildir driver for Alpine 2.20
|
||||||
+ *
|
+ *
|
||||||
+ * Written by Eduardo Chappa <chappa@gmx.com>
|
+ * Written by Eduardo Chappa <chappa@gmx.com>
|
||||||
+ * Last Update: May 29, 2011.
|
+ * Last Update: June 10, 2014
|
||||||
+ *
|
+ *
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
@ -1589,7 +1589,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ char *s, c, err[MAILTMPLEN], tmp[MAILTMPLEN], tmp2[MAILTMPLEN], mbx[MAILTMPLEN];
|
+ char *s, c, err[MAILTMPLEN], tmp[MAILTMPLEN], tmp2[MAILTMPLEN], mbx[MAILTMPLEN];
|
||||||
+ int fnlen, create_dir = 0, courier, mv;
|
+ int fnlen, create_dir = 0, courier, mv;
|
||||||
+ struct stat sbuf;
|
+ struct stat sbuf;
|
||||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
|
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||||
+
|
+
|
||||||
+ courier = IS_COURIER(mailbox);
|
+ courier = IS_COURIER(mailbox);
|
||||||
+ strcpy(mbx, mailbox);
|
+ strcpy(mbx, mailbox);
|
||||||
@ -1817,7 +1817,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+
|
+
|
||||||
+long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
|
+long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
|
||||||
+{
|
+{
|
||||||
+ int fd, k;
|
+ int fd, k, done, fail;
|
||||||
+ STRING *message;
|
+ STRING *message;
|
||||||
+ char c,*s, *flags, *date;
|
+ char c,*s, *flags, *date;
|
||||||
+ char tmp[MAILTMPLEN],file[MAILTMPLEN],path1[MAILTMPLEN],path2[MAILTMPLEN];
|
+ char tmp[MAILTMPLEN],file[MAILTMPLEN],path1[MAILTMPLEN],path2[MAILTMPLEN];
|
||||||
@ -1825,6 +1825,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ long i, size = 0L, ret = LONGT, f;
|
+ long i, size = 0L, ret = LONGT, f;
|
||||||
+ unsigned long uf, ti;
|
+ unsigned long uf, ti;
|
||||||
+ static unsigned int transact = 0;
|
+ static unsigned int transact = 0;
|
||||||
|
+ struct stat sbuf;
|
||||||
+
|
+
|
||||||
+ if (!maildir_valid(mailbox)) {
|
+ if (!maildir_valid(mailbox)) {
|
||||||
+ snprintf (tmp, sizeof(tmp), "Not a valid Maildir mailbox: %s", mailbox);
|
+ snprintf (tmp, sizeof(tmp), "Not a valid Maildir mailbox: %s", mailbox);
|
||||||
@ -1848,29 +1849,58 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ if (!(*af)(stream, data, &flags, &date, &message)) return NIL;
|
+ if (!(*af)(stream, data, &flags, &date, &message)) return NIL;
|
||||||
+
|
+
|
||||||
+ mm_critical (stream); /* go critical */
|
+ mm_critical (stream); /* go critical */
|
||||||
+ /* call time(0) only once, use transact to distinguish instead */
|
|
||||||
+ ti = time(0);
|
|
||||||
+ do {
|
+ do {
|
||||||
|
+ fail = done = 0; /* we have not determined name of message file yet */
|
||||||
+ if (!SIZE (message)) { /* guard against zero-length */
|
+ if (!SIZE (message)) { /* guard against zero-length */
|
||||||
+ mm_log ("Append of zero-length message",ERROR);
|
+ mm_log ("Append of zero-length message", ERROR);
|
||||||
+ ret = NIL;
|
+ ret = NIL;
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
+ if (date && !mail_parse_date(&elt,date)){
|
+ if (date && !mail_parse_date(&elt,date)){
|
||||||
+ snprintf (tmp, sizeof(tmp), "Bad date in append: %.80s",date);
|
+ snprintf (tmp, sizeof(tmp), "Bad date in append: %.80s", date);
|
||||||
+ mm_log (tmp,ERROR);
|
+ mm_log (tmp, ERROR);
|
||||||
+ ret = NIL;
|
+ ret = NIL;
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
|
+ if(date){
|
||||||
|
+ struct tm tm;
|
||||||
|
+
|
||||||
|
+ tm.tm_sec = elt.seconds;
|
||||||
|
+ tm.tm_min = elt.minutes;
|
||||||
|
+ tm.tm_hour = elt.hours;
|
||||||
|
+ tm.tm_mday = elt.day;
|
||||||
|
+ tm.tm_mon = elt.month - 1;
|
||||||
|
+ tm.tm_year = BASEYEAR + elt.year - 1900;
|
||||||
|
+
|
||||||
|
+ ti = mktime(&tm);
|
||||||
|
+ } else ti = time(0);
|
||||||
|
+
|
||||||
+ f = mail_parse_flags (stream,flags,&uf);
|
+ f = mail_parse_flags (stream,flags,&uf);
|
||||||
|
+ do {
|
||||||
+ /* build file name we will use */
|
+ /* build file name we will use */
|
||||||
+ snprintf (file, sizeof(file), "%lu.%d_%09u.%s%s%s%s%s%s",
|
+ snprintf (file, sizeof(file), "%lu.%d_%09u.%s%s%s%s%s%s",
|
||||||
+ ti, mypid, transact++, mdlocaldomain, (f ? MDSEP(2) : ""),
|
+ ti, mypid, transact++, mdlocaldomain, (f ? MDSEP(2) : ""),
|
||||||
+ MDFLAG(Draft, f&fDRAFT), MDFLAG(Flagged, f&fFLAGGED),
|
+ MDFLAG(Draft, f&fDRAFT), MDFLAG(Flagged, f&fFLAGGED),
|
||||||
+ MDFLAG(Replied, f&fANSWERED), MDFLAG(Seen, f&fSEEN));
|
+ MDFLAG(Replied, f&fANSWERED), MDFLAG(Seen, f&fSEEN));
|
||||||
+ /* build tmp file name */
|
+ /* build tmp file name */
|
||||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp))) /* copy in TMP */
|
||||||
+ MSGPATH(path1, tmp, file, Tmp);
|
+ MSGPATH(path1, tmp, file, Tmp);
|
||||||
|
+ /* build final filename to use */
|
||||||
|
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
||||||
|
+ MSGPATH(path2, tmp, file, New); /* copy in NEW */
|
||||||
|
+ if(stat(path1, &sbuf) < 0 && errno == ENOENT
|
||||||
|
+ && stat(path2, &sbuf) < 0 && errno == ENOENT)
|
||||||
|
+ done++;
|
||||||
|
+ else
|
||||||
|
+ fail++;
|
||||||
|
+ if(fail == 1000){
|
||||||
|
+ snprintf (tmp, sizeof(tmp), "Failure to create append message name");
|
||||||
|
+ mm_log (tmp, ERROR);
|
||||||
|
+ return NIL;
|
||||||
|
+ }
|
||||||
|
+ } while (done == 0);
|
||||||
+
|
+
|
||||||
+ if ((fd = open (path1,O_WRONLY|O_CREAT|O_EXCL,S_IREAD|S_IWRITE)) < 0) {
|
+ if ((fd = open (path1,O_WRONLY|O_CREAT|O_EXCL,S_IREAD|S_IWRITE)) < 0) {
|
||||||
+ snprintf (tmp, sizeof(tmp), "Can't open append mailbox: %s", strerror (errno));
|
+ snprintf (tmp, sizeof(tmp), "Can't open append mailbox: %s", strerror (errno));
|
||||||
@ -1887,15 +1917,18 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ }
|
+ }
|
||||||
+ fs_give ((void **) &s); /* flush the buffer */
|
+ fs_give ((void **) &s); /* flush the buffer */
|
||||||
+ close (fd); /* close the file */
|
+ close (fd); /* close the file */
|
||||||
+ /* build final filename to use */
|
+
|
||||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
|
||||||
+ MSGPATH(path2, tmp, file, New);
|
|
||||||
+ if (rename (path1,path2) < 0) {
|
+ if (rename (path1,path2) < 0) {
|
||||||
+ snprintf (tmp, sizeof(tmp), "Message append failed: %s", strerror (errno));
|
+ snprintf (tmp, sizeof(tmp), "Message append failed: %s", strerror (errno));
|
||||||
+ mm_log (tmp, ERROR);
|
+ mm_log (tmp, ERROR);
|
||||||
+ ret = NIL;
|
+ ret = NIL;
|
||||||
+ }
|
+ }
|
||||||
+ unlink (path1);
|
+ unlink (path1);
|
||||||
|
+ if(date){
|
||||||
|
+ time_t tp[2];
|
||||||
|
+ tp[0] = tp[1] = ti;
|
||||||
|
+ utime (path2,tp);
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ if (ret)
|
+ if (ret)
|
||||||
+ if (!(*af) (stream,data,&flags,&date,&message)) ret = NIL;
|
+ if (!(*af) (stream,data,&flags,&date,&message)) ret = NIL;
|
||||||
@ -2093,11 +2126,11 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
|
+void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
|
||||||
+{
|
+{
|
||||||
+ void *sdb = NIL;
|
+ void *sdb = NIL;
|
||||||
+ char *s, test[MAILTMPLEN];
|
+ char *s, test[MAILTMPLEN], tmp[MAILTMPLEN];
|
||||||
+ /* get canonical form of name */
|
+ /* get canonical form of name */
|
||||||
+ if (maildir_canonicalize (test, ref, pat) && (s = sm_read (&sdb))) {
|
+ if (maildir_canonicalize (test, ref, pat) && (s = sm_read (tmp, &sdb))) {
|
||||||
+ do if (pmatch_full (s, test, '/')) mm_lsub (stream, '/', s, NIL);
|
+ do if (pmatch_full (s, test, '/')) mm_lsub (stream, '/', s, NIL);
|
||||||
+ while ((s = sm_read (&sdb)) != NULL); /* until no more subscriptions */
|
+ while ((s = sm_read (tmp, &sdb)) != NULL); /* until no more subscriptions */
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@ -2191,7 +2224,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ char c, curdir[MAILTMPLEN], tmp[MAILTMPLEN];
|
+ char c, curdir[MAILTMPLEN], tmp[MAILTMPLEN];
|
||||||
+ char realname[MAILTMPLEN], realpat[MAILTMPLEN] = {'\0'};
|
+ char realname[MAILTMPLEN], realpat[MAILTMPLEN] = {'\0'};
|
||||||
+ int i, found;
|
+ int i, found;
|
||||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL), j;
|
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL), j;
|
||||||
+ char *maildirpath = mdirpath();
|
+ char *maildirpath = mdirpath();
|
||||||
+ COURIER_S *cdir;
|
+ COURIER_S *cdir;
|
||||||
+
|
+
|
||||||
@ -2780,7 +2813,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+void
|
+void
|
||||||
+courier_list_info(COURIER_S **cdirp, char *data, int i)
|
+courier_list_info(COURIER_S **cdirp, char *data, int i)
|
||||||
+{
|
+{
|
||||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
|
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||||
+ COURIER_S *cdir = *cdirp;
|
+ COURIER_S *cdir = *cdirp;
|
||||||
+
|
+
|
||||||
+ if(maildir_valid(cdir->data[i]->name)){
|
+ if(maildir_valid(cdir->data[i]->name)){
|
||||||
@ -3047,10 +3080,10 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
|||||||
+ LOCAL->uidtempfile = cpystr(tmp);
|
+ LOCAL->uidtempfile = cpystr(tmp);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/maildir.h
|
Index: alpine-2.20/imap/src/osdep/unix/maildir.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/maildir.h
|
+++ alpine-2.20/imap/src/osdep/unix/maildir.h
|
||||||
@@ -0,0 +1,226 @@
|
@@ -0,0 +1,226 @@
|
||||||
+/*
|
+/*
|
||||||
+ * A few definitions that try to make this module portable to other
|
+ * A few definitions that try to make this module portable to other
|
||||||
@ -3278,10 +3311,10 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.h
|
|||||||
+void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
|
+void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
|
||||||
+void maildir_uid_renew_tempfile(MAILSTREAM *stream);
|
+void maildir_uid_renew_tempfile(MAILSTREAM *stream);
|
||||||
+
|
+
|
||||||
Index: alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
Index: alpine-2.20/imap/src/osdep/unix/os_cyg.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/osdep/unix/os_cyg.h
|
--- alpine-2.20.orig/imap/src/osdep/unix/os_cyg.h
|
||||||
+++ alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
+++ alpine-2.20/imap/src/osdep/unix/os_cyg.h
|
||||||
@@ -47,6 +47,7 @@
|
@@ -47,6 +47,7 @@
|
||||||
#define setpgrp setpgid
|
#define setpgrp setpgid
|
||||||
|
|
||||||
@ -3290,11 +3323,11 @@ Index: alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
|||||||
#define geteuid Geteuid
|
#define geteuid Geteuid
|
||||||
uid_t Geteuid (void);
|
uid_t Geteuid (void);
|
||||||
|
|
||||||
Index: alpine-2.11/pith/conf.c
|
Index: alpine-2.20/pith/conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.c
|
--- alpine-2.20.orig/pith/conf.c
|
||||||
+++ alpine-2.11/pith/conf.c
|
+++ alpine-2.20/pith/conf.c
|
||||||
@@ -434,6 +434,9 @@ CONF_TXT_T cf_text_window_position[] = "
|
@@ -436,6 +436,9 @@ CONF_TXT_T cf_text_window_position[] = "
|
||||||
|
|
||||||
CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
|
CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
|
||||||
|
|
||||||
@ -3304,7 +3337,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
These are the variables that control a number of pine functions. They
|
These are the variables that control a number of pine functions. They
|
||||||
@@ -638,6 +641,10 @@ static struct variable variables[] = {
|
@@ -642,6 +645,10 @@ static struct variable variables[] = {
|
||||||
NULL, cf_text_news_active},
|
NULL, cf_text_news_active},
|
||||||
{"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
NULL, cf_text_news_spooldir},
|
NULL, cf_text_news_spooldir},
|
||||||
@ -3315,7 +3348,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
{"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
NULL, cf_text_upload_cmd},
|
NULL, cf_text_upload_cmd},
|
||||||
{"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
{"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||||
@@ -2271,6 +2278,12 @@ init_vars(struct pine *ps, void (*cmds_f
|
@@ -2283,6 +2290,12 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||||
mail_parameters(NULL, SET_NEWSSPOOL,
|
mail_parameters(NULL, SET_NEWSSPOOL,
|
||||||
(void *)VAR_NEWS_SPOOL_DIR);
|
(void *)VAR_NEWS_SPOOL_DIR);
|
||||||
|
|
||||||
@ -3328,7 +3361,7 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
/* guarantee a save default */
|
/* guarantee a save default */
|
||||||
set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
|
set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
|
||||||
if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
|
if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
|
||||||
@@ -2909,6 +2922,10 @@ feature_list(int index)
|
@@ -2921,6 +2934,10 @@ feature_list(int index)
|
||||||
F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
|
F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
|
||||||
{"vertical-folder-list", "Use Vertical Folder List",
|
{"vertical-folder-list", "Use Vertical Folder List",
|
||||||
F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
|
F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
|
||||||
@ -3339,20 +3372,30 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
|
|
||||||
/* Addr book */
|
/* Addr book */
|
||||||
{"combined-addrbook-display", "Combined Address Book Display",
|
{"combined-addrbook-display", "Combined Address Book Display",
|
||||||
@@ -7034,6 +7051,12 @@ toggle_feature(struct pine *ps, struct v
|
@@ -7047,7 +7064,7 @@ toggle_feature(struct pine *ps, struct v
|
||||||
|
int just_flip_value, EditWhich ew)
|
||||||
|
{
|
||||||
|
char **vp, *p, **lval, ***alval;
|
||||||
|
- int og, on_before, was_set;
|
||||||
|
+ int og, on_before, was_set, i;
|
||||||
|
char *err;
|
||||||
|
long l;
|
||||||
|
|
||||||
|
@@ -7100,6 +7117,13 @@ toggle_feature(struct pine *ps, struct v
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
+#ifndef _WINDOWS
|
+#ifndef _WINDOWS
|
||||||
+ case F_COURIER_FOLDER_LIST:
|
+ case F_COURIER_FOLDER_LIST:
|
||||||
+ mail_parameters(NULL,SET_COURIERSTYLE,(void *)(F_ON(f->id ,ps)? 1 : 0));
|
+ i = F_ON(f->id ,ps) ? 1 : 0;
|
||||||
|
+ mail_parameters(NULL,SET_COURIERSTYLE, (void *) &i);
|
||||||
+ break; /* COURIER == 1, CCLIENT == 0, see maildir.h */
|
+ break; /* COURIER == 1, CCLIENT == 0, see maildir.h */
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
case F_COLOR_LINE_IMPORTANT :
|
case F_COLOR_LINE_IMPORTANT :
|
||||||
case F_DATES_TO_LOCAL :
|
case F_DATES_TO_LOCAL :
|
||||||
clear_index_cache(ps->mail_stream, 0);
|
clear_index_cache(ps->mail_stream, 0);
|
||||||
@@ -7819,6 +7842,10 @@ config_help(int var, int feature)
|
@@ -7887,6 +7911,10 @@ config_help(int var, int feature)
|
||||||
return(h_config_newmailwidth);
|
return(h_config_newmailwidth);
|
||||||
case V_NEWSRC_PATH :
|
case V_NEWSRC_PATH :
|
||||||
return(h_config_newsrc_path);
|
return(h_config_newsrc_path);
|
||||||
@ -3363,11 +3406,11 @@ Index: alpine-2.11/pith/conf.c
|
|||||||
case V_BROWSER :
|
case V_BROWSER :
|
||||||
return(h_config_browser);
|
return(h_config_browser);
|
||||||
#if defined(DOS) || defined(OS2)
|
#if defined(DOS) || defined(OS2)
|
||||||
Index: alpine-2.11/pith/conf.h
|
Index: alpine-2.20/pith/conf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conf.h
|
--- alpine-2.20.orig/pith/conf.h
|
||||||
+++ alpine-2.11/pith/conf.h
|
+++ alpine-2.20/pith/conf.h
|
||||||
@@ -255,6 +255,10 @@
|
@@ -257,6 +257,10 @@
|
||||||
#define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p
|
#define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p
|
||||||
#define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p
|
#define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p
|
||||||
#define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p
|
#define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p
|
||||||
@ -3378,11 +3421,11 @@ Index: alpine-2.11/pith/conf.h
|
|||||||
#define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
|
#define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
|
||||||
#define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l
|
#define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l
|
||||||
#define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
|
#define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
|
||||||
Index: alpine-2.11/pith/conftype.h
|
Index: alpine-2.20/pith/conftype.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/conftype.h
|
--- alpine-2.20.orig/pith/conftype.h
|
||||||
+++ alpine-2.11/pith/conftype.h
|
+++ alpine-2.20/pith/conftype.h
|
||||||
@@ -117,6 +117,9 @@ typedef enum { V_PERSONAL_NAME = 0
|
@@ -118,6 +118,9 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||||
, V_NEWSRC_PATH
|
, V_NEWSRC_PATH
|
||||||
, V_NEWS_ACTIVE_PATH
|
, V_NEWS_ACTIVE_PATH
|
||||||
, V_NEWS_SPOOL_DIR
|
, V_NEWS_SPOOL_DIR
|
||||||
@ -3392,7 +3435,7 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
, V_UPLOAD_CMD
|
, V_UPLOAD_CMD
|
||||||
, V_UPLOAD_CMD_PREFIX
|
, V_UPLOAD_CMD_PREFIX
|
||||||
, V_DOWNLOAD_CMD
|
, V_DOWNLOAD_CMD
|
||||||
@@ -393,6 +396,9 @@ typedef enum {
|
@@ -395,6 +398,9 @@ typedef enum {
|
||||||
F_PASS_C1_CONTROL_CHARS,
|
F_PASS_C1_CONTROL_CHARS,
|
||||||
F_SINGLE_FOLDER_LIST,
|
F_SINGLE_FOLDER_LIST,
|
||||||
F_VERTICAL_FOLDER_LIST,
|
F_VERTICAL_FOLDER_LIST,
|
||||||
@ -3402,10 +3445,10 @@ Index: alpine-2.11/pith/conftype.h
|
|||||||
F_TAB_CHK_RECENT,
|
F_TAB_CHK_RECENT,
|
||||||
F_AUTO_REPLY_TO,
|
F_AUTO_REPLY_TO,
|
||||||
F_VERBOSE_POST,
|
F_VERBOSE_POST,
|
||||||
Index: alpine-2.11/pith/init.c
|
Index: alpine-2.20/pith/init.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/init.c
|
--- alpine-2.20.orig/pith/init.c
|
||||||
+++ alpine-2.11/pith/init.c
|
+++ alpine-2.20/pith/init.c
|
||||||
@@ -408,6 +408,9 @@ get_mail_list(CONTEXT_S *list_cntxt, cha
|
@@ -408,6 +408,9 @@ get_mail_list(CONTEXT_S *list_cntxt, cha
|
||||||
&& stricmp(filename, folder_base)){
|
&& stricmp(filename, folder_base)){
|
||||||
#else
|
#else
|
||||||
@ -3416,11 +3459,22 @@ Index: alpine-2.11/pith/init.c
|
|||||||
&& strcmp(filename, folder_base)){
|
&& strcmp(filename, folder_base)){
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
Index: alpine-2.11/pith/pattern.c
|
Index: alpine-2.20/pith/pattern.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pattern.c
|
--- alpine-2.20.orig/pith/pattern.c
|
||||||
+++ alpine-2.11/pith/pattern.c
|
+++ alpine-2.20/pith/pattern.c
|
||||||
@@ -5483,6 +5483,15 @@ match_pattern_folder_specific(PATTERN_S
|
@@ -49,7 +49,9 @@ static char rcsid[] = "$Id: pattern.c 12
|
||||||
|
#include "../pith/icache.h"
|
||||||
|
#include "../pith/ablookup.h"
|
||||||
|
#include "../pith/keyword.h"
|
||||||
|
-
|
||||||
|
+#ifndef _WINDOWS
|
||||||
|
+int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
|
||||||
|
+#endif /* _WINDOWS */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Internal prototypes
|
||||||
|
@@ -5485,6 +5487,15 @@ match_pattern_folder_specific(PATTERN_S
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '#':
|
case '#':
|
||||||
@ -3428,7 +3482,7 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
+ if(!struncmp(patfolder, "#md/", 4)
|
+ if(!struncmp(patfolder, "#md/", 4)
|
||||||
+ || !struncmp(patfolder, "#mc/", 4)){
|
+ || !struncmp(patfolder, "#mc/", 4)){
|
||||||
+ maildir_file_path(patfolder, tmp1, sizeof(tmp1));
|
+ maildir_file_path(patfolder, tmp1, sizeof(tmp1));
|
||||||
+ if(!strcmp(patfolder, stream->mailbox))
|
+ if(!strcmp(tmp1, stream->mailbox))
|
||||||
+ match++;
|
+ match++;
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
@ -3436,7 +3490,7 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
if(!strcmp(patfolder, stream->mailbox))
|
if(!strcmp(patfolder, stream->mailbox))
|
||||||
match++;
|
match++;
|
||||||
|
|
||||||
@@ -7903,7 +7912,7 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
@@ -7905,7 +7916,7 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||||
int we_cancel = 0, width;
|
int we_cancel = 0, width;
|
||||||
CONTEXT_S *save_context = NULL;
|
CONTEXT_S *save_context = NULL;
|
||||||
char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
|
char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
|
||||||
@ -3445,7 +3499,7 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
#define FILTMSG_MAX 30
|
#define FILTMSG_MAX 30
|
||||||
|
|
||||||
if(!stream)
|
if(!stream)
|
||||||
@@ -7937,6 +7946,16 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
@@ -7939,6 +7950,16 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||||
if(F_OFF(F_QUELL_FILTER_MSGS, ps_global))
|
if(F_OFF(F_QUELL_FILTER_MSGS, ps_global))
|
||||||
we_cancel = busy_cue(buf, NULL, 0);
|
we_cancel = busy_cue(buf, NULL, 0);
|
||||||
|
|
||||||
@ -3462,7 +3516,7 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
if(!is_absolute_path(dstfldr)
|
if(!is_absolute_path(dstfldr)
|
||||||
&& !(save_context = default_save_context(ps_global->context_list)))
|
&& !(save_context = default_save_context(ps_global->context_list)))
|
||||||
save_context = ps_global->context_list;
|
save_context = ps_global->context_list;
|
||||||
@@ -8000,6 +8019,11 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
@@ -8002,6 +8023,11 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||||
if(we_cancel)
|
if(we_cancel)
|
||||||
cancel_busy_cue(buf[0] ? 0 : -1);
|
cancel_busy_cue(buf[0] ? 0 : -1);
|
||||||
|
|
||||||
@ -3474,11 +3528,11 @@ Index: alpine-2.11/pith/pattern.c
|
|||||||
return(buf[0] != '\0');
|
return(buf[0] != '\0');
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: alpine-2.11/pith/pine.hlp
|
Index: alpine-2.20/pith/pine.hlp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/pine.hlp
|
--- alpine-2.20.orig/pith/pine.hlp
|
||||||
+++ alpine-2.11/pith/pine.hlp
|
+++ alpine-2.20/pith/pine.hlp
|
||||||
@@ -21664,6 +21664,102 @@ your account's home directory).
|
@@ -22060,6 +22060,102 @@ your account's home directory).
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
@ -3581,7 +3635,7 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
====== h_config_literal_sig =====
|
====== h_config_literal_sig =====
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
@@ -29690,6 +29786,49 @@ than across the columns as is the defaul
|
@@ -30086,6 +30182,49 @@ than across the columns as is the defaul
|
||||||
<P>
|
<P>
|
||||||
<End of help on this topic>
|
<End of help on this topic>
|
||||||
</BODY>
|
</BODY>
|
||||||
@ -3631,11 +3685,21 @@ Index: alpine-2.11/pith/pine.hlp
|
|||||||
</HTML>
|
</HTML>
|
||||||
====== h_config_verbose_post =====
|
====== h_config_verbose_post =====
|
||||||
<HTML>
|
<HTML>
|
||||||
Index: alpine-2.11/pith/send.c
|
Index: alpine-2.20/pith/send.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/pith/send.c
|
--- alpine-2.20.orig/pith/send.c
|
||||||
+++ alpine-2.11/pith/send.c
|
+++ alpine-2.20/pith/send.c
|
||||||
@@ -257,6 +257,13 @@ postponed_stream(MAILSTREAM **streamp, c
|
@@ -47,6 +47,9 @@ static char rcsid[] = "$Id: send.c 1204
|
||||||
|
|
||||||
|
#include "../c-client/smtp.h"
|
||||||
|
#include "../c-client/nntp.h"
|
||||||
|
+#ifndef _WINDOWS
|
||||||
|
+int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
|
||||||
|
+#endif /* _WINDOWS */
|
||||||
|
|
||||||
|
|
||||||
|
/* this is used in pine_send and pine_simple_send */
|
||||||
|
@@ -257,6 +260,13 @@ postponed_stream(MAILSTREAM **streamp, c
|
||||||
|
|
||||||
if(exists & FEX_ISFILE){
|
if(exists & FEX_ISFILE){
|
||||||
context_apply(tmp, p_cntxt, mbox, sizeof(tmp));
|
context_apply(tmp, p_cntxt, mbox, sizeof(tmp));
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
imap/src/c-client/mail.c | 8 ++++++--
|
imap/src/c-client/mail.c | 8 ++++++--
|
||||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||||
@@ -3361,13 +3361,13 @@ unsigned long mail_filter (char *text,un
|
@@ -3400,13 +3400,13 @@ unsigned long mail_filter (char *text,un
|
||||||
long flags)
|
long flags)
|
||||||
{
|
{
|
||||||
STRINGLIST *hdrs;
|
STRINGLIST *hdrs;
|
||||||
@ -22,7 +22,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
|||||||
while (src < end) { /* process header */
|
while (src < end) { /* process header */
|
||||||
/* slurp header line name */
|
/* slurp header line name */
|
||||||
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
|
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
|
||||||
@@ -3406,6 +3406,10 @@ unsigned long mail_filter (char *text,un
|
@@ -3447,6 +3447,10 @@ unsigned long mail_filter (char *text,un
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*dst = '\0'; /* tie off destination */
|
*dst = '\0'; /* tie off destination */
|
||||||
|
69
lint.diff
Normal file
69
lint.diff
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
Date: 2015-03-25 18:25:22.663262139 +0100
|
||||||
|
|
||||||
|
rpmlint:
|
||||||
|
W: alpine implicit-pointer-decl dmail.c:160
|
||||||
|
W: alpine implicit-pointer-decl mlock.c:114
|
||||||
|
W: alpine implicit-pointer-decl tmail.c:168
|
||||||
|
E: alpine no-return-in-nonvoid-function imap.c:2790
|
||||||
|
|
||||||
|
gcc:
|
||||||
|
dmail.c:160:5: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
|
||||||
|
mlock.c:114:5: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
|
||||||
|
tmail.c:168:7: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
|
||||||
|
imap.c:2790:1: warning: control reaches end of non-void function [-Wreturn-type]
|
||||||
|
---
|
||||||
|
alpine/imap.c | 1 +
|
||||||
|
imap/src/dmail/dmail.c | 1 +
|
||||||
|
imap/src/mlock/mlock.c | 1 +
|
||||||
|
imap/src/tmail/tmail.c | 1 +
|
||||||
|
4 files changed, 4 insertions(+)
|
||||||
|
|
||||||
|
Index: alpine-2.20/alpine/imap.c
|
||||||
|
===================================================================
|
||||||
|
--- alpine-2.20.orig/alpine/imap.c
|
||||||
|
+++ alpine-2.20/alpine/imap.c
|
||||||
|
@@ -2786,6 +2786,7 @@ if(F_OFF(F_DISABLE_PASSWORD_FILE_SAVING,
|
||||||
|
return(want_to(_("Preserve password on DISK for next login"),
|
||||||
|
'y', 'x', NO_HELP, WT_NORM)
|
||||||
|
== 'y');
|
||||||
|
+return 0;
|
||||||
|
#endif /* PASSFILE */
|
||||||
|
}
|
||||||
|
|
||||||
|
Index: alpine-2.20/imap/src/dmail/dmail.c
|
||||||
|
===================================================================
|
||||||
|
--- alpine-2.20.orig/imap/src/dmail/dmail.c
|
||||||
|
+++ alpine-2.20/imap/src/dmail/dmail.c
|
||||||
|
@@ -24,6 +24,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
Index: alpine-2.20/imap/src/mlock/mlock.c
|
||||||
|
===================================================================
|
||||||
|
--- alpine-2.20.orig/imap/src/mlock/mlock.c
|
||||||
|
+++ alpine-2.20/imap/src/mlock/mlock.c
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <sysexits.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
+#include <time.h>
|
||||||
|
#include <grp.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/file.h>
|
||||||
|
Index: alpine-2.20/imap/src/tmail/tmail.c
|
||||||
|
===================================================================
|
||||||
|
--- alpine-2.20.orig/imap/src/tmail/tmail.c
|
||||||
|
+++ alpine-2.20/imap/src/tmail/tmail.c
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <errno.h>
|
@ -1,26 +1,12 @@
|
|||||||
---
|
---
|
||||||
alpine/folder.c | 2 +-
|
|
||||||
imap/src/c-client/mail.c | 10 ++++++++--
|
imap/src/c-client/mail.c | 10 ++++++++--
|
||||||
2 files changed, 9 insertions(+), 3 deletions(-)
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: alpine-2.11/alpine/folder.c
|
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- alpine-2.11.orig/alpine/folder.c
|
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||||
+++ alpine-2.11/alpine/folder.c
|
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||||
@@ -6132,7 +6132,7 @@ folder_select_count(long int *count, int
|
@@ -2979,8 +2979,14 @@ long mail_parse_date (MESSAGECACHE *elt,
|
||||||
continue;
|
|
||||||
|
|
||||||
case 14 : /* toggle comparison */
|
|
||||||
- *cmp = ++(*cmp) % 3;
|
|
||||||
+ *cmp = ((*cmp) + 1) % 3;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
case -1 : /* cancel */
|
|
||||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
|
||||||
===================================================================
|
|
||||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
|
||||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
|
||||||
@@ -2940,8 +2940,14 @@ long mail_parse_date (MESSAGECACHE *elt,
|
|
||||||
/* parse time */
|
/* parse time */
|
||||||
d = strtoul (s+1,(char **) &s,10);
|
d = strtoul (s+1,(char **) &s,10);
|
||||||
if (*s != ':') return NIL;
|
if (*s != ':') return NIL;
|
||||||
|
Loading…
Reference in New Issue
Block a user