Only in src: Makefile
Only in src: defaults.h
Common subdirectories: src.orig/fnv and src/fnv
diff -c src.orig/hypermail.h src/hypermail.h
*** src.orig/hypermail.h Wed May 26 02:50:43 2004
--- src/hypermail.h Mon Nov 22 18:44:12 2004
***************
*** 256,261 ****
--- 256,262 ----
char *unre_subject;
char *inreplyto;
char *charset; /* added in 2b10 */
+ char *subject_charset;
long datenum; /* moved here from 'struct header' */
long flags; /* added 1999-03-19 for the new thread output functions */
diff -c src.orig/parse.c src/parse.c
*** src.orig/parse.c Tue May 25 10:38:08 2004
--- src/parse.c Mon Nov 22 18:44:12 2004
***************
*** 793,799 ****
** Returns the newly allcated string, or the previous if nothing changed
*/
! static char *mdecodeRFC2047(char *string, int length)
{
char *iptr = string;
char *oldptr;
--- 793,799 ----
** Returns the newly allcated string, or the previous if nothing changed
*/
! static char *mdecodeRFC2047(char *string, int length, char **subjchar)
{
char *iptr = string;
char *oldptr;
***************
*** 804,809 ****
--- 804,812 ----
char charset[129];
char encoding[33];
char dummy[129];
+ char *ptr;
+ char *blurb;
+
#ifdef NOTUSED
char equal;
#endif
***************
*** 816,823 ****
(3 == sscanf(iptr + 2, "%128[^?]?%32[^?]?%128[^ ]",
charset, encoding, dummy))) {
/* This is a full, valid 'encoded-word'. Decode! */
! char *ptr;
! char *blurb = extract_rfc2047_content(iptr);
if (!blurb) {
*output++ = *iptr++;
/* it wasn't a real encoded-word */
--- 819,829 ----
(3 == sscanf(iptr + 2, "%128[^?]?%32[^?]?%128[^ ]",
charset, encoding, dummy))) {
/* This is a full, valid 'encoded-word'. Decode! */
! if (!strncmp(string, "Subject:",8)){
! *subjchar=(char *)malloc(strlen(charset)+1);
! strcpy(*subjchar,charset);
! }
! blurb = extract_rfc2047_content(iptr);
if (!blurb) {
*output++ = *iptr++;
/* it wasn't a real encoded-word */
***************
*** 1229,1234 ****
--- 1235,1241 ----
int binfile = -1;
char *charset = NULL; /* this is the LOCAL charset used in the mail */
+ char *subjc = NULL;
char *boundary_id = NULL;
char type[129]; /* for Content-Type type */
***************
*** 1390,1396 ****
char head_name[128];
if (head->header && !head->demimed) {
head->line =
! mdecodeRFC2047(head->line, strlen(head->line));
head->demimed = TRUE; /* don't do this again */
}
--- 1397,1403 ----
char head_name[128];
if (head->header && !head->demimed) {
head->line =
! mdecodeRFC2047(head->line, strlen(head->line),&subjc);
head->demimed = TRUE; /* don't do this again */
}
***************
*** 2038,2044 ****
if (!emp)
emp =
addhash(num, date, namep, emailp, msgid, subject,
! inreply, fromdate, charset, NULL, NULL, bp);
/*
* dp, if it has a value, has a date from the "From " line of
* the message after the one we are just finishing.
--- 2045,2051 ----
if (!emp)
emp =
addhash(num, date, namep, emailp, msgid, subject,
! inreply, fromdate, charset, subjc, NULL, NULL, bp);
/*
* dp, if it has a value, has a date from the "From " line of
* the message after the one we are just finishing.
***************
*** 2079,2084 ****
--- 2086,2095 ----
free(charset);
charset = NULL;
}
+ if (subjc) {
+ free(subjc);
+ subjc = NULL;
+ }
if (msgid) {
free(msgid);
msgid = NULL;
***************
*** 2527,2539 ****
inlinecontent(type)) {
/* if we know our browsers can show this type of context
as-is, we make a tag instead of ! */
!
trio_snprintf(buffer, sizeof(buffer),
"\n",
subdir ? subdir->rel_path_to_top : "",
&att_dir[strlen(dir) + 1],
PATH_SEPARATOR, file,
desc);
}
else {
char *created_link =
--- 2538,2567 ----
inlinecontent(type)) {
/* if we know our browsers can show this type of context
as-is, we make a tag instead of ! */
! if(set_force_link_inlines){
! char *created_link =
! createlink(set_attachmentlink,
! &att_dir[strlen(dir)
! + 1],
! file, num, type);
! trio_snprintf(buffer, sizeof(buffer),
! "\n
\n(%s %s: %s)
\n",
! subdir ? subdir->rel_path_to_top : "",
! &att_dir[strlen(dir) + 1],
! PATH_SEPARATOR, file,
! desc, type,
! lang[MSG_ATTACHMENT],
! subdir ? subdir->rel_path_to_top : "",
! created_link, file);
! free(created_link);
! }else{
trio_snprintf(buffer, sizeof(buffer),
"\n",
subdir ? subdir->rel_path_to_top : "",
&att_dir[strlen(dir) + 1],
PATH_SEPARATOR, file,
desc);
+ }
}
else {
char *created_link =
***************
*** 2626,2632 ****
strcpymax(fromdate, dp ? dp : "", DATESTRLEN);
emp = addhash(num, date, namep, emailp, msgid, subject, inreply,
! fromdate, charset, NULL, NULL, bp);
if (emp) {
emp->exp_time = exp_time;
emp->is_deleted = is_deleted;
--- 2654,2660 ----
strcpymax(fromdate, dp ? dp : "", DATESTRLEN);
emp = addhash(num, date, namep, emailp, msgid, subject, inreply,
! fromdate, charset, subjc, NULL, NULL, bp);
if (emp) {
emp->exp_time = exp_time;
emp->is_deleted = is_deleted;
***************
*** 2653,2658 ****
--- 2681,2690 ----
free(charset);
charset = NULL;
}
+ if (subjc) {
+ free(subjc);
+ subjc = NULL;
+ }
if (msgid) {
free(msgid);
msgid = NULL;
***************
*** 2972,2978 ****
else
emp = addhash(num, date ? date : NODATE,
name, email, msgid, subject, inreply,
! fromdate, charset, isodate, isofromdate, bp);
if (cmp_msgid)
msgids_are_same = !strcmp(ep->msgid, msgid);
if (emp != NULL && replylist_tmp != NULL) {
--- 3004,3010 ----
else
emp = addhash(num, date ? date : NODATE,
name, email, msgid, subject, inreply,
! fromdate, charset, NULL, isodate, isofromdate, bp);
if (cmp_msgid)
msgids_are_same = !strcmp(ep->msgid, msgid);
if (emp != NULL && replylist_tmp != NULL) {
***************
*** 3314,3320 ****
}
if ((emp = addhash(num, date, name, email, msgid, subject, inreply,
! fromdate, charset, isodate, isofromdate, bp))) {
emp->exp_time = exp_time;
emp->is_deleted = is_deleted;
emp->deletion_completed = old_delete_level;
--- 3346,3352 ----
}
if ((emp = addhash(num, date, name, email, msgid, subject, inreply,
! fromdate, charset, NULL, isodate, isofromdate, bp))) {
emp->exp_time = exp_time;
emp->is_deleted = is_deleted;
emp->deletion_completed = old_delete_level;
Common subdirectories: src.orig/pcre and src/pcre
diff -c src.orig/print.c src/print.c
*** src.orig/print.c Thu Mar 25 11:19:16 2004
--- src/print.c Mon Nov 22 18:44:12 2004
***************
*** 183,189 ****
if (set_mailcommand) {
if (set_hmail) {
! ptr = makemailcommand(set_newmsg_command, set_hmail, currentid, cursub);
if (strcmp(ptr, "NONE") != 0)
fprintf(fp, "
%s | \n", ptr ? ptr : "", lang[MSG_NEW_MESSAGE]);
if (ptr)
--- 183,189 ----
if (set_mailcommand) {
if (set_hmail) {
! ptr = makemailcommand(set_newmsg_command, set_hmail, currentid, cursub,NULL);
if (strcmp(ptr, "NONE") != 0)
fprintf(fp, "%s | \n", ptr ? ptr : "", lang[MSG_NEW_MESSAGE]);
if (ptr)
***************
*** 191,197 ****
if ((currentid != NULL && currentid[0] != '\0') || (cursub != NULL && cursub[0] != '\0')) {
! ptr = makemailcommand(set_replymsg_command, set_hmail, currentid, cursub);
if (strcmp(ptr, "NONE") != 0)
fprintf(fp, "%s | \n", ptr ? ptr : "", lang[MSG_REPLY]);
if (ptr)
--- 191,197 ----
if ((currentid != NULL && currentid[0] != '\0') || (cursub != NULL && cursub[0] != '\0')) {
! ptr = makemailcommand(set_replymsg_command, set_hmail, currentid, NULL);
if (strcmp(ptr, "NONE") != 0)
fprintf(fp, "%s | \n", ptr ? ptr : "", lang[MSG_REPLY]);
if (ptr)
***************
*** 269,280 ****
fprintf(fp, "%s:",
lang[MSG_MAIL_ACTIONS]);
if ((email->msgid && email->msgid[0]) || (email->subject && email->subject[0])) {
! ptr = makemailcommand(set_replymsg_command, set_hmail, email->msgid, email->subject);
fprintf(fp, " [ %s ]", ptr ? ptr : "", lang[MSG_MA_REPLY]);
if (ptr)
free(ptr);
}
! ptr = makemailcommand(set_newmsg_command, set_hmail, email->msgid, email->subject);
fprintf(fp, " [ %s ]", ptr ? ptr : "", lang[MSG_MA_NEW_MESSAGE]);
if (ptr)
free(ptr);
--- 269,280 ----
fprintf(fp, "%s:",
lang[MSG_MAIL_ACTIONS]);
if ((email->msgid && email->msgid[0]) || (email->subject && email->subject[0])) {
! ptr = makemailcommand(set_replymsg_command, set_hmail, email->msgid, email->subject, email->subject_charset);
fprintf(fp, " [ %s ]", ptr ? ptr : "", lang[MSG_MA_REPLY]);
if (ptr)
free(ptr);
}
! ptr = makemailcommand(set_newmsg_command, set_hmail, email->msgid, email->subject,email->subject_charset);
fprintf(fp, " [ %s ]", ptr ? ptr : "", lang[MSG_MA_NEW_MESSAGE]);
if (ptr)
free(ptr);
***************
*** 303,316 ****
fprintf(fp, " [ %s ]",
index_name[dlev][AUTHOR_INDEX], num,
lang[MSG_LTITLE_BY_AUTHOR], lang[MSG_BY_AUTHOR]);
! if (show_index[dlev][ATTACHMENT_INDEX]) {
fprintf(fp, " [ %s ]",
index_name[dlev][ATTACHMENT_INDEX],
lang[MSG_LTITLE_BY_ATTACHMENT], lang[MSG_BY_ATTACHMENT]);
! fprintf (fp, "\n");
! if (ihtmlhelpupfile)
fprintf(fp, "%s: %s", lang[MSG_HELP], ihtmlhelpupfile);
! }
}
if (set_custom_archives && *set_custom_archives)
--- 303,316 ----
fprintf(fp, " [ %s ]",
index_name[dlev][AUTHOR_INDEX], num,
lang[MSG_LTITLE_BY_AUTHOR], lang[MSG_BY_AUTHOR]);
! if (show_index[dlev][ATTACHMENT_INDEX])
fprintf(fp, " [ %s ]",
index_name[dlev][ATTACHMENT_INDEX],
lang[MSG_LTITLE_BY_ATTACHMENT], lang[MSG_BY_ATTACHMENT]);
! fprintf (fp, "\n");
! if (ihtmlhelpupfile)
fprintf(fp, "%s: %s", lang[MSG_HELP], ihtmlhelpupfile);
!
}
if (set_custom_archives && *set_custom_archives)
***************
*** 440,446 ****
/* print the mail actions */
if (set_mailcommand && set_hmail) {
! ptr = makemailcommand("mailto:$TO", set_hmail, "", "");
fprintf (fp, "%s: [ %s ]\n",
lang[MSG_MAIL_ACTIONS], ptr ? ptr : "", lang[MSG_MA_NEW_MESSAGE]);
if (ptr)
--- 440,446 ----
/* print the mail actions */
if (set_mailcommand && set_hmail) {
! ptr = makemailcommand("mailto:$TO", set_hmail, "", "",NULL);
fprintf (fp, "%s: [ %s ]\n",
lang[MSG_MAIL_ACTIONS], ptr ? ptr : "", lang[MSG_MA_NEW_MESSAGE]);
if (ptr)
***************
*** 517,523 ****
printcomment(fp, "index_footer_links", "begin");
#endif
! fprintf (fp, "