2013-09-26 17:14:40 +02:00

208 lines
5.4 KiB
Plaintext

$NetBSD: patch-ak,v 1.2 2006/01/08 17:04:58 joerg Exp $
*** old/folders.c Sun Oct 25 11:59:14 1998
--- folders.c Sun Oct 25 11:58:30 1998
***************
*** 148,153 ****
--- 148,154 ----
msg[msg_cnt].m_size = 0;
msg[msg_cnt].m_offset = 0;
msg[msg_cnt].m_lines = 0;
+ msg[msg_cnt].m_headers = 0;
}
msg_cnt = 0, msg[0].m_offset = 0L;
turnoff(glob_flags, CONT_PRNT);
*** old/hdrs.c Sun Oct 25 11:59:10 1998
--- hdrs.c Sun Oct 25 11:58:30 1998
***************
*** 548,554 ****
--- 548,557 ----
when '%': p2 = "%";
when 't': p2 = to;
when 's': p2 = subject;
+ when 'h': p2 = sprintf(lines, "%d", msg[cnt].m_headers);
when 'l': p2 = sprintf(lines, "%d", msg[cnt].m_lines);
+ when 'b': p2 = sprintf(lines, "%d", msg[cnt].m_lines -
+ msg[cnt].m_headers);
when 'c': p2 = sprintf(lines, "%ld", msg[cnt].m_size);
when 'i': (p2 = read_header_field(cnt, "message-id")) || (p2 = "");
/* date formatting chars */
*** old/msgs.c Sun Oct 25 11:59:14 1998
--- msgs.c Sun Oct 25 11:58:29 1998
***************
*** 797,803 ****
int append;
{
char buf[BUFSIZ];
! int lines = 0, msg_found = 0, had_error = 1;
int get_status = 1, cnt;
long bytes;
struct msg old;
--- 797,803 ----
int append;
{
char buf[BUFSIZ];
! int headers = 0, lines = 0, msg_found = 0, had_error = 1;
int get_status = 1, cnt;
long bytes;
struct msg old;
***************
*** 943,948 ****
--- 943,949 ----
if (cnt && lines) {
msg[cnt-1].m_size = bytes - msg[cnt-1].m_offset;
msg[cnt-1].m_lines = lines;
+ msg[cnt-1].m_headers = headers;
}
if (isoff(glob_flags, READ_ONLY) && fputs(buf, tmpf) == -1) {
error(tempfile);
***************
*** 953,960 ****
--- 954,963 ----
msg[cnt].m_flags = 0L;
#ifdef MSG_SEPARATOR
lines = 0;
+ headers = 0;
#else /* MSG_SEPARATOR */
lines = 1; /* count the From_ line */
+ headers = 1;
if (warn)
turnon(glob_flags, WARNING);
strdup(msg[cnt].m_date_recv, date);
***************
*** 1021,1026 ****
--- 1024,1030 ----
break;
}
lines++;
+ headers++;
}
if (!msg[cnt].m_date_sent || !*msg[cnt].m_date_sent)
if (!msg[cnt].m_date_recv || !*msg[cnt].m_date_recv) {
***************
*** 1042,1047 ****
--- 1046,1052 ----
} else if (!msg_found && buf[0] != '\n') {
/* Allow leading blank lines, but anything else is wrong */
lines++;
+ headers++;
had_error++;
break;
}
***************
*** 1092,1097 ****
--- 1097,1103 ----
else
msg[cnt].m_size = ftell(fp) - msg[cnt].m_offset;
msg[cnt].m_lines = lines;
+ msg[cnt].m_headers = headers;
/* remember where we were to seek to for when we append new mail */
if (append)
cnt++;
*** old/mush.1 Sun Oct 25 11:59:15 1998
--- mush.1 Sun Oct 25 12:04:10 1998
***************
*** 4206,4214 ****
.nf
.ta 0.5i
%a address of the author
%c number of characters (bytes) in the message
%f entire \*QFrom:\*U field (author)
! %l number of lines in the message
%i the message-id (may not be present)
%n name of the author
%s subject of the message
--- 4206,4216 ----
.nf
.ta 0.5i
%a address of the author
+ %b number of lines in the body of the message
%c number of characters (bytes) in the message
%f entire \*QFrom:\*U field (author)
! %h number of header lines in the message
! %l number of total lines in the message
%i the message-id (may not be present)
%n name of the author
%s subject of the message
*** old/pick.c Sun Oct 25 11:59:14 1998
--- pick.c Sun Oct 25 11:58:28 1998
***************
*** 297,307 ****
static int
! cmplines(m1, m2)
struct msg **m1;
struct msg **m2;
{
! int z = (int) (*m2)->m_lines - (int) (*m1)->m_lines;
if (z > 0)
return 1;
else if (z < 0)
--- 297,308 ----
static int
! cmpreallines(m1, m2)
struct msg **m1;
struct msg **m2;
{
! int z = (int) (((*m2)->m_lines - (*m2)->m_headers) -
! ((*m1)->m_lines - (*m1)->m_headers));
if (z > 0)
return 1;
else if (z < 0)
***************
*** 340,356 ****
}
cnt = i;
! qsort((char *) mlist, cnt, sizeof(struct msg *), cmplines);
clear_msg_list(ret_list);
lcur = -1;
for (i = 0; i < cnt - 1; i++) {
! lcur = mlist[i]->m_lines;
mcur = mlist[i]->m_spare;
! if (mlist[i + 1]->m_lines != lcur)
/* Next message has not the same number of lines, skip */
continue;
--- 341,357 ----
}
cnt = i;
! qsort((char *) mlist, cnt, sizeof(struct msg *), cmpreallines);
clear_msg_list(ret_list);
lcur = -1;
for (i = 0; i < cnt - 1; i++) {
! lcur = mlist[i]->m_lines - mlist[i]->m_headers;
mcur = mlist[i]->m_spare;
! if (mlist[i + 1]->m_lines - mlist[i + 1]->m_headers != lcur)
/* Next message has not the same number of lines, skip */
continue;
***************
*** 374,380 ****
}
omsize = mlist[i]->m_size - (omsg - otext);
for (j = i + 1; j < cnt; j++) {
! if (mlist[j]->m_lines != lcur)
/* Next message has not the same number of lines, skip */
break;
mid = mlist[j]->m_spare;
--- 375,381 ----
}
omsize = mlist[i]->m_size - (omsg - otext);
for (j = i + 1; j < cnt; j++) {
! if (mlist[j]->m_lines - mlist[j]->m_headers != lcur)
/* Next message has not the same number of lines, skip */
break;
mid = mlist[j]->m_spare;