diff --git a/ChangeLog b/ChangeLog index 7c6e6293..dba232ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,14 @@ $Id$ v0.95.0 25-Nov-2007 + mbcico: + The maximum speed to show to the other end is now 4294976295. + + mbsetup: + Changed the maximum linespeed to display for TCP/IP sessions to + 4294976295. Numbers above 2147483647 might display on remote + systems as negative numbers. + v0.92.0 08-Oct-2006 - 16-Oct-2007 diff --git a/mbcico/emsidat.c b/mbcico/emsidat.c index 2769c134..cee2cd3a 100644 --- a/mbcico/emsidat.c +++ b/mbcico/emsidat.c @@ -4,7 +4,7 @@ * Purpose ...............: Fidonet mailer * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2007 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -220,7 +220,7 @@ char *mkemsidat(int caller) p=xstrcat(p,phone?emsiencode(phone):(char *)"-Unpublished-"); p=xstrcat(p,(char *)"]["); if ((CFG.IP_Speed) && (emsi_local_protos & PROT_TCP)) - snprintf(cbuf,16,"%d",CFG.IP_Speed); + snprintf(cbuf,16,"%u",CFG.IP_Speed); else strcpy(cbuf,"9600"); p=xstrcat(p,cbuf); diff --git a/mbsetup/ledit.c b/mbsetup/ledit.c index eca1dc5a..7550eb1a 100644 --- a/mbsetup/ledit.c +++ b/mbsetup/ledit.c @@ -1070,6 +1070,36 @@ int edit_int(int y, int x, int val, char *help) +void show_uint(int y, int x, unsigned int val) +{ + mbse_mvprintw(y, x, (char *)" "); + mbse_mvprintw(y, x, (char *)"%u", val); +} + + + +unsigned int edit_uint(int y, int x, unsigned int val, char *help) +{ + static char s[11], line[11]; + + while (TRUE) { + showhelp(help); + memset((char *)s, 0, sizeof(s)); + snprintf(line, 11, "%u", val); + strcpy(s, edit_field(y, x, 10, '9', line)); + set_color(WHITE, BLACK); + show_uint(y, x, atoi(s)); + fflush(stdout); + if ((atoll(s) >= 0) && (atoll(s) <= 4294967295U)) + break; + errmsg("Value must be between 0 and 4294967295"); + } + + return atoll(s); +} + + + int edit_int_range(int y, int x, int val, int min, int max, char *help) { static char s[7], line[7]; diff --git a/mbsetup/ledit.h b/mbsetup/ledit.h index b4db5d4c..4b64366b 100644 --- a/mbsetup/ledit.h +++ b/mbsetup/ledit.h @@ -39,6 +39,8 @@ securityrec edit_nsec(securityrec, char *); char *get_secstr(securityrec); void show_int(int, int, int); int edit_int(int, int, int, char *); +void show_uint(int, int, unsigned int); +unsigned int edit_uint(int, int, unsigned int, char *); int edit_int_range(int, int, int, int, int, char *); void show_ushort(int, int, unsigned short); unsigned short edit_ushort(int, int, unsigned short, char *); @@ -96,6 +98,7 @@ int edit_charset(int, int, int); #define E_JAM(y,x,l,str,help) strcpy(str, edit_jam(y,x,l,str,(char *)help)); break; #define E_BOOL(y,x,bool,help) bool = edit_bool(y,x,bool,(char *)help); break; #define E_INT(y,x,value,help) value = edit_int(y,x,value,(char *)help); break; +#define E_UINT(y,x,value,help) value = edit_uint(y,x,value,(char *)help); break; #define E_IRC(y,x,value,min,max,help) value = edit_int_range(y,x,value,min,max,(char *)help); break; #define E_LOGL(grade,txt,af) grade = edit_logl(grade,(char *)txt); af(); break; #define S_COL(y,x,name,fg,bg) set_color(fg,bg); mbse_mvprintw(y,x,name); diff --git a/mbsetup/m_global.c b/mbsetup/m_global.c index aabf6179..86fdfca0 100644 --- a/mbsetup/m_global.c +++ b/mbsetup/m_global.c @@ -1335,7 +1335,7 @@ void e_mailer(void) show_logl( 7,23, CFG.cico_loglevel); show_str( 8,23,20,CFG.IP_Phone); show_str( 9,23,30,CFG.IP_Flags); - show_int( 10,23, CFG.IP_Speed); + show_uint(10,23, CFG.IP_Speed); show_int( 11,23, CFG.timeoutreset); show_int( 12,23, CFG.timeoutconnect); show_int( 13,23, CFG.dialdelay); @@ -1358,7 +1358,7 @@ void e_mailer(void) case 1: E_LOGL(CFG.cico_loglevel, "1.14.1", s_mailer) case 2: E_STR( 8,23,20,CFG.IP_Phone, "The mailer ^TCP/IP \"phone\" number^ for this system, empty is no TCP/IP") case 3: E_STR( 9,23,30,CFG.IP_Flags, "The mailer ^TCP/IP capability flags^ for this system") - case 4: E_INT( 10,23, CFG.IP_Speed, "The mailer ^TCP/IP linespeed^ for this system") + case 4: E_UINT(10,23, CFG.IP_Speed, "The mailer ^TCP/IP linespeed^ for this system") case 5: E_INT( 11,23, CFG.timeoutreset, "The modem ^reset timeout^ in seconds") case 6: E_INT( 12,23, CFG.timeoutconnect, "The modem ^wait for connect timeout^ in seconds") case 7: E_INT( 13,23, CFG.dialdelay, "The ^random dialdelay^ in seconds ((^n^ <= delay) and (^n^ > (delay / 10)))") diff --git a/mbsetup/mutil.c b/mbsetup/mutil.c index bbc3d2a0..ec115cc1 100644 --- a/mbsetup/mutil.c +++ b/mbsetup/mutil.c @@ -4,7 +4,7 @@ * Purpose ...............: Menu Utils * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2007 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -226,7 +226,7 @@ void add_webdigit(FILE *fp, char *hstr, int digit) char left[1024]; html_massage(hstr, left, 1023); - fprintf(fp, "