Bumped to version 0.91.5
This commit is contained in:
parent
7cc1641b52
commit
08e43d99a0
10
ChangeLog
10
ChangeLog
@ -1,7 +1,15 @@
|
|||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
|
|
||||||
v0.91.4 17-Feb-2007
|
v0.91.5 18-Feb-2007
|
||||||
|
|
||||||
|
WARNING: do not configure with --enable-experiment this will break!
|
||||||
|
You own the pieces and the troubles, you have been warned.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
v0.91.4 17-Feb-2007 - 18-Feb-2007
|
||||||
|
|
||||||
upgrade:
|
upgrade:
|
||||||
Because some directories will be moved, a special upgrade
|
Because some directories will be moved, a special upgrade
|
||||||
|
2
TODO
2
TODO
@ -1,6 +1,6 @@
|
|||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
MBSE BBS V0.91.4 TODO list.
|
MBSE BBS V0.91.5 TODO list.
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
These are a list of things that must be implemented one way or
|
These are a list of things that must be implemented one way or
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -1718,7 +1718,7 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="0"
|
MAJOR="0"
|
||||||
MINOR="91"
|
MINOR="91"
|
||||||
REVISION="4"
|
REVISION="5"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2007 Michiel Broek, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2007 Michiel Broek, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2007 M. Broek"
|
SHORTRIGHT="Copyright (C) 1997-2007 M. Broek"
|
||||||
|
@ -13,7 +13,7 @@ dnl
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="0"
|
MAJOR="0"
|
||||||
MINOR="91"
|
MINOR="91"
|
||||||
REVISION="4"
|
REVISION="5"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2007 Michiel Broek, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2007 Michiel Broek, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2007 M. Broek"
|
SHORTRIGHT="Copyright (C) 1997-2007 M. Broek"
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Characterset functions
|
* Purpose ...............: Characterset functions
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -31,6 +31,7 @@
|
|||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
#include "mbselib.h"
|
#include "mbselib.h"
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
|
||||||
#define BUF_APPEND(d,s) str_append(d,sizeof(d),s)
|
#define BUF_APPEND(d,s) str_append(d,sizeof(d),s)
|
||||||
|
|
||||||
@ -105,6 +106,7 @@ char *str_copy(char *d, size_t n, char *s)
|
|||||||
|
|
||||||
#define BUF_COPY(d,s) str_copy (d,sizeof(d),s)
|
#define BUF_COPY(d,s) str_copy (d,sizeof(d),s)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
char *getftnchrs(int val)
|
char *getftnchrs(int val)
|
||||||
{
|
{
|
||||||
@ -202,6 +204,7 @@ char *getchrsdesc(int val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Alloc new CharsetTable and put into linked list
|
* Alloc new CharsetTable and put into linked list
|
||||||
@ -481,4 +484,5 @@ int charset_set_in_out(char *in, char *out)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Author ................: Martin Junius, for Fidogate
|
* Author ................: Martin Junius, for Fidogate
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -60,6 +60,9 @@
|
|||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
#include "mbselib.h"
|
#include "mbselib.h"
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
|
||||||
#include "mbcharsetc.h"
|
#include "mbcharsetc.h"
|
||||||
|
|
||||||
|
|
||||||
@ -386,3 +389,14 @@ int main(int argc, char **argv)
|
|||||||
exit(ret);
|
exit(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
printf("program disabled by configure option\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@ -2578,6 +2578,8 @@ int create_tmpwork(void); /* Create tmp workdir */
|
|||||||
* Charset mapping
|
* Charset mapping
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
|
||||||
#define MAX_CHARSET_NAME 16
|
#define MAX_CHARSET_NAME 16
|
||||||
#define MAX_CHARSET_IN 128
|
#define MAX_CHARSET_IN 128
|
||||||
#define MAX_CHARSET_OUT 4
|
#define MAX_CHARSET_OUT 4
|
||||||
@ -2599,11 +2601,16 @@ typedef struct st_charset_table {
|
|||||||
struct st_charset_table *next;
|
struct st_charset_table *next;
|
||||||
} CharsetTable;
|
} CharsetTable;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
char *getftnchrs(int); /* Return FTN characterset name */
|
char *getftnchrs(int); /* Return FTN characterset name */
|
||||||
char *getrfcchrs(int); /* Return RFC characterset name */
|
char *getrfcchrs(int); /* Return RFC characterset name */
|
||||||
char *getlocale(int); /* Return locale name */
|
char *getlocale(int); /* Return locale name */
|
||||||
char *getchrsdesc(int); /* Return characterset description */
|
char *getchrsdesc(int); /* Return characterset description */
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
|
||||||
CharsetTable *charset_table_new(void); /* Add table to linked list */
|
CharsetTable *charset_table_new(void); /* Add table to linked list */
|
||||||
CharsetAlias *charset_alias_new(void); /* Add alias to linked list */
|
CharsetAlias *charset_alias_new(void); /* Add alias to linked list */
|
||||||
int charset_write_bin(char *); /* Save charset.bin */
|
int charset_write_bin(char *); /* Save charset.bin */
|
||||||
@ -2614,6 +2621,7 @@ char *charset_alias_fsc(char *); /* Search FSC alias */
|
|||||||
char *charset_alias_rfc(char *); /* Search RFC alias */
|
char *charset_alias_rfc(char *); /* Search RFC alias */
|
||||||
int charset_set_in_out(char *, char *); /* Setup mapping */
|
int charset_set_in_out(char *, char *); /* Setup mapping */
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Gate netmail->email or echomail->news
|
* Purpose ...............: Gate netmail->email or echomail->news
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -693,10 +693,12 @@ int ftn2rfc(faddr *f, faddr *t, char *subj, char *origline, time_t mdate, int fl
|
|||||||
Syslog('m', "Prepare is ready");
|
Syslog('m', "Prepare is ready");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
/*
|
/*
|
||||||
* Setup charset conversion
|
* Setup charset conversion
|
||||||
*/
|
*/
|
||||||
charset_set_in_out(charset, getrfcchrs(msgs.Charset));
|
charset_set_in_out(charset, getrfcchrs(msgs.Charset));
|
||||||
|
#endif
|
||||||
|
|
||||||
if (newsmode) {
|
if (newsmode) {
|
||||||
/*
|
/*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose: File Database Maintenance - Build index for request processor
|
* Purpose: File Database Maintenance - Build index for request processor
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -61,6 +61,31 @@ static char *months[]= {(char *)"Jan",(char *)"Feb",(char *)"Mar",
|
|||||||
(char *)"Jul",(char *)"Aug",(char *)"Sep",
|
(char *)"Jul",(char *)"Aug",(char *)"Sep",
|
||||||
(char *)"Oct",(char *)"Nov",(char *)"Dec"};
|
(char *)"Oct",(char *)"Nov",(char *)"Dec"};
|
||||||
|
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Translation table from Hi-USA-ANSI to low ASCII and HTML codes,
|
||||||
|
*/
|
||||||
|
char htmltab[] = {
|
||||||
|
"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017"
|
||||||
|
"\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
|
||||||
|
"\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057"
|
||||||
|
"\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077"
|
||||||
|
"\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117"
|
||||||
|
"\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137"
|
||||||
|
"\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157"
|
||||||
|
"\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177"
|
||||||
|
"\103\374\351\342\344\340\345\143\352\353\350\357\357\354\304\305" /* done */
|
||||||
|
"\311\346\306\364\366\362\374\371\171\326\334\244\243\245\120\146" /* done */
|
||||||
|
"\341\355\363\372\361\321\141\157\277\055\055\275\274\241\074\076" /* done */
|
||||||
|
"\043\043\043\174\053\053\053\053\053\043\174\043\043\053\053\053" /* done */
|
||||||
|
"\053\053\053\053\053\053\053\053\043\043\043\043\043\075\043\053" /* done */
|
||||||
|
"\053\053\053\053\053\053\053\053\053\053\053\043\043\043\043\043" /* done */
|
||||||
|
"\141\102\114\156\105\157\265\370\060\060\060\157\070\330\145\156" /* doesn't look good */
|
||||||
|
"\075\261\076\074\146\146\367\075\260\267\267\126\262\262\267\040" /* almost */
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -71,10 +96,17 @@ char *To_Html(char *inp)
|
|||||||
{
|
{
|
||||||
static char temp[256];
|
static char temp[256];
|
||||||
int i;
|
int i;
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
char *xl;
|
char *xl;
|
||||||
|
#endif
|
||||||
|
|
||||||
memset(&temp, 0, sizeof(temp));
|
memset(&temp, 0, sizeof(temp));
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
strncpy(temp, inp, 80);
|
||||||
|
|
||||||
|
for (i = 0; i < strlen(temp); i++)
|
||||||
|
temp[i] = htmltab[temp[i] & 0xff];
|
||||||
|
#else
|
||||||
for (i = 0; i < strlen(inp); i++) {
|
for (i = 0; i < strlen(inp); i++) {
|
||||||
if (inp[i] & 0x80) {
|
if (inp[i] & 0x80) {
|
||||||
if ((xl = charset_map_c(inp[i], FALSE))) {
|
if ((xl = charset_map_c(inp[i], FALSE))) {
|
||||||
@ -87,6 +119,7 @@ char *To_Html(char *inp)
|
|||||||
} else
|
} else
|
||||||
temp[i] = inp[i];
|
temp[i] = inp[i];
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
@ -598,11 +631,13 @@ void HtmlIndex(char *Lang)
|
|||||||
fileptr = ftell(fi);
|
fileptr = ftell(fi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
/*
|
/*
|
||||||
* Setup the correct table to produce file listings for the www.
|
* Setup the correct table to produce file listings for the www.
|
||||||
* This make ANSI grafics look a bit nicer with browsers.
|
* This make ANSI grafics look a bit nicer with browsers.
|
||||||
*/
|
*/
|
||||||
charset_set_in_out((char *)"cp437", (char *)"iso-8859-1");
|
charset_set_in_out((char *)"cp437", (char *)"iso-8859-1");
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i = 1; i <= iAreas; i++) {
|
for (i = 1; i <= iAreas; i++) {
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Convert RFC to FTN
|
* Purpose ...............: Convert RFC to FTN
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -83,7 +83,9 @@ int needputrfc(rfcmsg *, int);
|
|||||||
|
|
||||||
int charwrite(char *s, FILE *fp)
|
int charwrite(char *s, FILE *fp)
|
||||||
{
|
{
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
char *o;
|
char *o;
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((strlen(s) >= 3) && (strncmp(s,"---",3) == 0) && (s[3] != '-')) {
|
if ((strlen(s) >= 3) && (strncmp(s,"---",3) == 0) && (s[3] != '-')) {
|
||||||
putc('-',fp);
|
putc('-',fp);
|
||||||
@ -91,11 +93,15 @@ int charwrite(char *s, FILE *fp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (*s) {
|
while (*s) {
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
putc(*s, fp);
|
||||||
|
#else
|
||||||
o = s;
|
o = s;
|
||||||
if (s[0] &0x080) {
|
if (s[0] &0x080) {
|
||||||
o = charset_map_c(s[0], 0);
|
o = charset_map_c(s[0], 0);
|
||||||
}
|
}
|
||||||
putc(*o, fp);
|
putc(*o, fp);
|
||||||
|
#endif
|
||||||
s++;
|
s++;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -337,10 +343,12 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
|||||||
if (fmsg->to)
|
if (fmsg->to)
|
||||||
hdrsize += (fmsg->to->name)?strlen(fmsg->to->name):0;
|
hdrsize += (fmsg->to->name)?strlen(fmsg->to->name):0;
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
/*
|
/*
|
||||||
* Setup charset conversion
|
* Setup charset conversion
|
||||||
*/
|
*/
|
||||||
charset_set_in_out(charset,getrfcchrs(msgs.Charset));
|
charset_set_in_out(charset,getrfcchrs(msgs.Charset));
|
||||||
|
#endif
|
||||||
|
|
||||||
do {
|
do {
|
||||||
Syslog('m', "rfc2ftn: split loop, splitpart = %d", splitpart);
|
Syslog('m', "rfc2ftn: split loop, splitpart = %d", splitpart);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* $Id$
|
* $Id$
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2005
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -51,8 +51,10 @@ extern char *ttystat[];
|
|||||||
|
|
||||||
void send_xlat(char *);
|
void send_xlat(char *);
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
static CharsetAlias *charset_alias_list;
|
static CharsetAlias *charset_alias_list;
|
||||||
static CharsetTable *charset_table_list;
|
static CharsetTable *charset_table_list;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define POST_MAXSIZE 10000
|
#define POST_MAXSIZE 10000
|
||||||
|
|
||||||
@ -63,12 +65,16 @@ static CharsetTable *charset_table_list;
|
|||||||
*/
|
*/
|
||||||
void send_xlat(char *inp)
|
void send_xlat(char *inp)
|
||||||
{
|
{
|
||||||
char *xl, temp[1024];
|
char temp[1024];
|
||||||
int i;
|
int i;
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
char *xl;
|
||||||
|
#endif
|
||||||
|
|
||||||
memset(&temp, 0, sizeof(temp));
|
memset(&temp, 0, sizeof(temp));
|
||||||
|
|
||||||
for (i = 0; i < strlen(inp); i++) {
|
for (i = 0; i < strlen(inp); i++) {
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
if (inp[i] & 0x80) {
|
if (inp[i] & 0x80) {
|
||||||
if ((xl = charset_map_c(inp[i], FALSE))) {
|
if ((xl = charset_map_c(inp[i], FALSE))) {
|
||||||
while (*xl) {
|
while (*xl) {
|
||||||
@ -80,6 +86,9 @@ void send_xlat(char *inp)
|
|||||||
} else {
|
} else {
|
||||||
temp[i] = inp[i];
|
temp[i] = inp[i];
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
temp[i] = inp[i];
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Syslog('n', "> \"%s\"", printable(temp, 0));
|
Syslog('n', "> \"%s\"", printable(temp, 0));
|
||||||
@ -116,7 +125,10 @@ void command_abhs(char *buf)
|
|||||||
{
|
{
|
||||||
char *p, *cmd, *opt, *subj, *charset = NULL;
|
char *p, *cmd, *opt, *subj, *charset = NULL;
|
||||||
unsigned int art = 0L;
|
unsigned int art = 0L;
|
||||||
int i, found;
|
int found;
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
int i;
|
||||||
|
#endif
|
||||||
|
|
||||||
Syslog('+', "%s", buf);
|
Syslog('+', "%s", buf);
|
||||||
cmd = strtok(buf, " \0");
|
cmd = strtok(buf, " \0");
|
||||||
@ -195,6 +207,7 @@ void command_abhs(char *buf)
|
|||||||
}
|
}
|
||||||
} while ((p = (char *)MsgText_Next()) != NULL);
|
} while ((p = (char *)MsgText_Next()) != NULL);
|
||||||
}
|
}
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
if (charset) {
|
if (charset) {
|
||||||
if ((charset_alias_list == NULL) || (charset_table_list == NULL))
|
if ((charset_alias_list == NULL) || (charset_table_list == NULL))
|
||||||
charset_read_bin();
|
charset_read_bin();
|
||||||
@ -205,7 +218,8 @@ void command_abhs(char *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// We don't do translation to the users charset, the news reader must do that.
|
// We don't do translation to the users charset, the news reader must do that.
|
||||||
// charset_set_in_out(getrfcchrs(msgs.Charset),getrfcchrs(usercharset));
|
// charset_set_in_out(getrfcchrs(msgs.Charset),getrfcchrs(usercharset));
|
||||||
|
|
||||||
@ -231,8 +245,10 @@ void command_abhs(char *buf)
|
|||||||
*/
|
*/
|
||||||
send_nntp("MIME-Version: 1.0");
|
send_nntp("MIME-Version: 1.0");
|
||||||
if (charset) {
|
if (charset) {
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
send_nntp("Content-Type: text/plain; charset=%s", charset_alias_rfc(charset));
|
send_nntp("Content-Type: text/plain; charset=%s", charset_alias_rfc(charset));
|
||||||
} else if (msgs.Charset != FTNC_NONE) {
|
} else if (msgs.Charset != FTNC_NONE) {
|
||||||
|
#endif
|
||||||
send_nntp("Content-Type: text/plain; charset=%s", getrfcchrs(msgs.Charset));
|
send_nntp("Content-Type: text/plain; charset=%s", getrfcchrs(msgs.Charset));
|
||||||
} else if (usercharset != FTNC_NONE) {
|
} else if (usercharset != FTNC_NONE) {
|
||||||
send_nntp("Content-Type: text/plain; charset=%s", getrfcchrs(usercharset));
|
send_nntp("Content-Type: text/plain; charset=%s", getrfcchrs(usercharset));
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Convert RFC to FTN
|
* Purpose ...............: Convert RFC to FTN
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2006
|
* Copyright (C) 1997-2007
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -79,19 +79,25 @@ int needputrfc(rfcmsg *, int);
|
|||||||
int charwrite(char *, FILE *);
|
int charwrite(char *, FILE *);
|
||||||
int charwrite(char *s, FILE *fp)
|
int charwrite(char *s, FILE *fp)
|
||||||
{
|
{
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
char *o;
|
char *o;
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((strlen(s) >= 3) && (strncmp(s,"---",3) == 0) && (s[3] != '-')) {
|
if ((strlen(s) >= 3) && (strncmp(s,"---",3) == 0) && (s[3] != '-')) {
|
||||||
putc('-',fp);
|
putc('-',fp);
|
||||||
putc(' ',fp);
|
putc(' ',fp);
|
||||||
}
|
}
|
||||||
while (*s) {
|
while (*s) {
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
putc(*s, fp);
|
||||||
|
#else
|
||||||
o=s;
|
o=s;
|
||||||
if (s[0] &0x080) {
|
if (s[0] &0x080) {
|
||||||
o=charset_map_c(s[0],0);
|
o=charset_map_c(s[0],0);
|
||||||
}
|
}
|
||||||
// putc(*s, fp);
|
// putc(*s, fp);
|
||||||
putc (*o,fp);
|
putc (*o,fp);
|
||||||
|
#endif
|
||||||
s++;
|
s++;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -286,7 +292,9 @@ int rfc2ftn(FILE *fp)
|
|||||||
Syslog('m', "No charset, setting default to iso-8859-1");
|
Syslog('m', "No charset, setting default to iso-8859-1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
charset_set_in_out(charset,getrfcchrs(msgs.Charset));
|
charset_set_in_out(charset,getrfcchrs(msgs.Charset));
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((p = hdr((char *)"Message-ID",msg))) {
|
if ((p = hdr((char *)"Message-ID",msg))) {
|
||||||
if (!removemsgid)
|
if (!removemsgid)
|
||||||
|
@ -79,7 +79,11 @@ extern int rows;
|
|||||||
/*
|
/*
|
||||||
* Internal prototypes
|
* Internal prototypes
|
||||||
*/
|
*/
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
void ShowMsgHdr(void); /* Show message header */
|
||||||
|
#else
|
||||||
void ShowMsgHdr(int Conv); /* Show message header */
|
void ShowMsgHdr(int Conv); /* Show message header */
|
||||||
|
#endif
|
||||||
int Read_a_Msg(unsigned int Num, int);/* Read a message */
|
int Read_a_Msg(unsigned int Num, int);/* Read a message */
|
||||||
int Export_a_Msg(unsigned int Num);/* Export message to homedir */
|
int Export_a_Msg(unsigned int Num);/* Export message to homedir */
|
||||||
int ReadPanel(void); /* Read panel bar */
|
int ReadPanel(void); /* Read panel bar */
|
||||||
@ -893,13 +897,20 @@ int Save_Msg(int IsReply, faddr *Dest)
|
|||||||
/*
|
/*
|
||||||
* Show message header screen top for reading messages.
|
* Show message header screen top for reading messages.
|
||||||
*/
|
*/
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
void ShowMsgHdr(void)
|
||||||
|
#else
|
||||||
void ShowMsgHdr(int Conv)
|
void ShowMsgHdr(int Conv)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
static char Buf1[35], Buf2[35], Buf3[81];
|
static char Buf1[35], Buf2[35], Buf3[81];
|
||||||
char msg[81];
|
char msg[81];
|
||||||
struct tm *tm;
|
struct tm *tm;
|
||||||
time_t now;
|
time_t now;
|
||||||
int color, i;
|
int color;
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
int i;
|
||||||
|
#endif
|
||||||
|
|
||||||
Buf1[0] = '\0';
|
Buf1[0] = '\0';
|
||||||
Buf2[0] = '\0';
|
Buf2[0] = '\0';
|
||||||
@ -987,6 +998,9 @@ void ShowMsgHdr(int Conv)
|
|||||||
|
|
||||||
/* Subject : */
|
/* Subject : */
|
||||||
pout(YELLOW, BLACK, (char *) Language(210));
|
pout(YELLOW, BLACK, (char *) Language(210));
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
pout(GREEN, BLACK, Msg.Subject);
|
||||||
|
#else
|
||||||
colour(GREEN, BLACK);
|
colour(GREEN, BLACK);
|
||||||
|
|
||||||
if (Conv) {
|
if (Conv) {
|
||||||
@ -999,6 +1013,7 @@ void ShowMsgHdr(int Conv)
|
|||||||
} else {
|
} else {
|
||||||
PUTSTR(Msg.Subject);
|
PUTSTR(Msg.Subject);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
Enter(1);
|
Enter(1);
|
||||||
|
|
||||||
colour(CFG.HiliteF, CFG.HiliteB);
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
@ -1171,8 +1186,11 @@ int Export_a_Msg(unsigned int Num)
|
|||||||
int Read_a_Msg(unsigned int Num, int UpdateLR)
|
int Read_a_Msg(unsigned int Num, int UpdateLR)
|
||||||
{
|
{
|
||||||
char *p = NULL, *fn, *charset = NULL, *charsin = NULL, *charsout = NULL;
|
char *p = NULL, *fn, *charset = NULL, *charsin = NULL, *charsout = NULL;
|
||||||
int i, ShowMsg = TRUE, UseIconv = FALSE;
|
int ShowMsg = TRUE, UseIconv = FALSE;
|
||||||
lastread LR;
|
lastread LR;
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
|
int i;
|
||||||
|
#endif
|
||||||
|
|
||||||
LastNum = Num;
|
LastNum = Num;
|
||||||
iLineCount = 7;
|
iLineCount = 7;
|
||||||
@ -1270,6 +1288,7 @@ int Read_a_Msg(unsigned int Num, int UpdateLR)
|
|||||||
/*
|
/*
|
||||||
* Try to setup charset mapping if the charactersets are different.
|
* Try to setup charset mapping if the charactersets are different.
|
||||||
*/
|
*/
|
||||||
|
#ifndef USE_EXPERIMENT
|
||||||
if (charsin && charsout && strcmp(charsout, charsin)) {
|
if (charsin && charsout && strcmp(charsout, charsin)) {
|
||||||
UseIconv = charset_set_in_out(charsin, charsout);
|
UseIconv = charset_set_in_out(charsin, charsout);
|
||||||
}
|
}
|
||||||
@ -1277,6 +1296,9 @@ int Read_a_Msg(unsigned int Num, int UpdateLR)
|
|||||||
* Show message header with charset mapping if needed.
|
* Show message header with charset mapping if needed.
|
||||||
*/
|
*/
|
||||||
ShowMsgHdr(UseIconv);
|
ShowMsgHdr(UseIconv);
|
||||||
|
#else
|
||||||
|
ShowMsgHdr();
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Show message text
|
* Show message text
|
||||||
@ -1297,6 +1319,10 @@ int Read_a_Msg(unsigned int Num, int UpdateLR)
|
|||||||
if (strchr(p, '>') != NULL)
|
if (strchr(p, '>') != NULL)
|
||||||
if ((strlen(p) - strlen(strchr(p, '>'))) < 10)
|
if ((strlen(p) - strlen(strchr(p, '>'))) < 10)
|
||||||
colour(CFG.HiliteF, CFG.HiliteB);
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
PUTSTR(p);
|
||||||
|
Enter(1);
|
||||||
|
#else
|
||||||
if (UseIconv) {
|
if (UseIconv) {
|
||||||
/*
|
/*
|
||||||
* Try to translate character sets
|
* Try to translate character sets
|
||||||
@ -1309,6 +1335,7 @@ int Read_a_Msg(unsigned int Num, int UpdateLR)
|
|||||||
PUTSTR(p);
|
PUTSTR(p);
|
||||||
Enter(1);
|
Enter(1);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (CheckLine(CFG.TextColourF, CFG.TextColourB, FALSE, UseIconv))
|
if (CheckLine(CFG.TextColourF, CFG.TextColourB, FALSE, UseIconv))
|
||||||
break;
|
break;
|
||||||
@ -1975,7 +2002,11 @@ int CheckLine(int FG, int BG, int Email, int Conv)
|
|||||||
if (Email)
|
if (Email)
|
||||||
ShowEmailHdr();
|
ShowEmailHdr();
|
||||||
else
|
else
|
||||||
|
#ifdef USE_EXPERIMENT
|
||||||
|
ShowMsgHdr();
|
||||||
|
#else
|
||||||
ShowMsgHdr(Conv);
|
ShowMsgHdr(Conv);
|
||||||
|
#endif
|
||||||
colour(FG, BG);
|
colour(FG, BG);
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -371,6 +371,13 @@ int main(int argc, char **argv)
|
|||||||
Enter(1);
|
Enter(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some debugging for me
|
||||||
|
*/
|
||||||
|
Syslog('b', "setlocale(LANG, NULL) returns \"%s\"", printable(setlocale(LANG, NULL), 0));
|
||||||
|
Syslog('b', "setlocale(LC_CTYPE, NULL) returns \"%s\"", printable(setlocale(LC_CTYPE, NULL), 0));
|
||||||
|
Syslog('b', "setlocale(LC_ALL, NULL) returns \"%s\"", printable(setlocale(LC_ALL, NULL), 0));
|
||||||
|
|
||||||
snprintf(sMailbox, 21, "mailbox");
|
snprintf(sMailbox, 21, "mailbox");
|
||||||
colour(LIGHTGRAY, BLACK);
|
colour(LIGHTGRAY, BLACK);
|
||||||
user();
|
user();
|
||||||
|
Reference in New Issue
Block a user