Commit 84cfdca4 authored by rswindell's avatar rswindell
Browse files

Allow full edit of strings longer than screen width (using sizeof) since uifc32

now supports scrolling edit boxes.
parent a9edd393
......@@ -670,7 +670,7 @@ Every text file section must have its own unique internal code for
Synchronet to reference it by. It is helpful if this code is an
abreviation of the name.
*/
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Text Section Internal Code",code,8
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Text Section Internal Code",code,LEN_CODE
,K_EDIT)<1)
continue;
if(!code_ok(code)) {
......@@ -738,7 +738,7 @@ This is the name of this text section.
strcpy(str,cfg.txtsec[i]->name); /* save */
if(!uifc.input(WIN_MID|WIN_SAV,0,10
,"Text File Section Name"
,cfg.txtsec[i]->name,40,K_EDIT))
,cfg.txtsec[i]->name,sizeof(cfg.txtsec[i]->name)-1,K_EDIT))
strcpy(cfg.txtsec[i]->name,str);
break;
case 1:
......@@ -756,7 +756,7 @@ Synchronet to reference it by. It is helpful if this code is an
abreviation of the name.
*/
uifc.input(WIN_MID|WIN_SAV,0,17,"Internal Code (unique)"
,str,8,K_EDIT);
,str,LEN_CODE,K_EDIT);
if(code_ok(str))
strcpy(cfg.txtsec[i]->code,str);
else {
......@@ -840,7 +840,7 @@ This code will be the base filename used to load the shell from your
EXEC directory. e.g. A shell with an internal code of MYBBS would
indicate a Baja shell file named MYBBS.BIN in your EXEC directory.
*/
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Command Shell Internal Code",code,8
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Command Shell Internal Code",code,LEN_CODE
,K_EDIT)<1)
continue;
if(!code_ok(code)) {
......@@ -922,7 +922,7 @@ This is the descriptive name of this command shell.
strcpy(str,cfg.shell[i]->name); /* save */
if(!uifc.input(WIN_MID|WIN_SAV,0,10
,"Command Shell Name"
,cfg.shell[i]->name,40,K_EDIT))
,cfg.shell[i]->name,sizeof(cfg.shell[i]->name)-1,K_EDIT))
strcpy(cfg.shell[i]->name,str);
break;
case 1:
......@@ -944,7 +944,7 @@ EXEC directory. e.g. A shell with an internal code of MYBBS would
indicate a Baja shell file named MYBBS.BIN in your EXEC directory.
*/
uifc.input(WIN_MID|WIN_SAV,0,17,"Internal Code (unique)"
,str,8,K_EDIT);
,str,LEN_CODE,K_EDIT);
if(code_ok(str))
strcpy(cfg.shell[i]->code,str);
else {
......
......@@ -140,7 +140,7 @@ This is the command line to execute for this external chat pager.
*/
strcpy(str,cfg.page[i]->cmd);
if(!uifc.input(WIN_MID|WIN_SAV,0,10,"Command Line"
,cfg.page[i]->cmd,50,K_EDIT))
,cfg.page[i]->cmd,sizeof(cfg.page[i]->cmd)-1,K_EDIT))
strcpy(cfg.page[i]->cmd,str);
break;
case 1:
......@@ -234,7 +234,7 @@ to it internally. This code is usually an abreviation of the chat
channel name.
*/
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Internal Code"
,code,8,K_EDIT|K_UPPER)<1)
,code,LEN_CODE,K_EDIT|K_UPPER)<1)
continue;
if(!code_ok(code)) {
uifc.helpbuf=invalid_code;
......@@ -315,7 +315,7 @@ This is the name or description of the chat channel.
*/
strcpy(str,cfg.chan[i]->name);
if(!uifc.input(WIN_MID|WIN_SAV,0,10,"Chat Channel Name"
,cfg.chan[i]->name,25,K_EDIT))
,cfg.chan[i]->name,sizeof(cfg.chan[i]->name)-1,K_EDIT))
strcpy(cfg.chan[i]->name,str);
break;
case 1:
......@@ -329,7 +329,7 @@ channel name.
*/
strcpy(str,cfg.chan[i]->code);
if(!uifc.input(WIN_MID|WIN_SAV,0,10,"Internal Code"
,str,8,K_UPPER|K_EDIT))
,str,LEN_CODE,K_UPPER|K_EDIT))
break;
if(code_ok(str))
strcpy(cfg.chan[i]->code,str);
......@@ -631,7 +631,7 @@ Every Guru must have its own unique code for Synchronet to refer to
it internally. This code is usually an abreviation of the Guru name.
*/
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Internal Code"
,code,8,K_EDIT|K_UPPER)<1)
,code,LEN_CODE,K_EDIT|K_UPPER)<1)
continue;
if(!code_ok(code)) {
uifc.helpbuf=invalid_code;
......@@ -702,7 +702,7 @@ This is the name of the selected Guru.
*/
strcpy(str,cfg.guru[i]->name);
if(!uifc.input(WIN_MID|WIN_SAV,0,10,"Guru Name"
,cfg.guru[i]->name,25,K_EDIT))
,cfg.guru[i]->name,sizeof(cfg.guru[i]->name)-1,K_EDIT))
strcpy(cfg.guru[i]->name,str);
break;
case 1:
......@@ -715,7 +715,7 @@ it internally. This code is usually an abreviation of the Guru name.
*/
strcpy(str,cfg.guru[i]->code);
if(!uifc.input(WIN_MID|WIN_SAV,0,0,"Guru Internal Code"
,str,8,K_EDIT|K_UPPER))
,str,LEN_CODE,K_EDIT|K_UPPER))
break;
if(code_ok(str))
strcpy(cfg.guru[i]->code,str);
......@@ -841,7 +841,7 @@ This is the name of the selected action set.
*/
strcpy(str,cfg.actset[i]->name);
if(!uifc.input(WIN_MID|WIN_SAV,0,10,"Action Set Name"
,cfg.actset[i]->name,25,K_EDIT))
,cfg.actset[i]->name,sizeof(cfg.actset[i]->name)-1,K_EDIT))
strcpy(cfg.actset[i]->name,str);
break;
case 1:
......
......@@ -420,11 +420,11 @@ export the current message group into.
sprintf(str,"FIDONET.NA");
if(k && k<3)
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Uplinks"
,str2,40,0)<=0) {
,str2,sizeof(str2)-1,0)<=0) {
uifc.changes=q;
break; }
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Filename"
,str,40,K_EDIT)<=0) {
,str,sizeof(str)-1,K_EDIT)<=0) {
uifc.changes=q;
break; }
if(fexist(str)) {
......@@ -534,7 +534,7 @@ import into the current message group.
else if(k==3)
sprintf(str,"FIDONET.NA");
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Filename"
,str,40,K_EDIT)<=0)
,str,sizeof(str)-1,K_EDIT)<=0)
break;
if((stream=fnopen(&file,str,O_RDONLY))==NULL) {
uifc.msg("Open Failure");
......@@ -834,7 +834,7 @@ a unique QWK system ID.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"BBS ID for QWK Packets"
,str,8,K_EDIT|K_UPPER);
,str,LEN_QWKID,K_EDIT|K_UPPER);
if(code_ok(str))
strcpy(cfg.sys_id,str);
else
......
......@@ -156,7 +156,7 @@ networked sub-boards. This default can be overridden on a per sub-board
basis with the sub-board configuration Network Options....
*/
uifc.input(WIN_MID|WIN_SAV,0,0,nulstr
,cfg.qnet_tagline,70,K_MSG|K_EDIT);
,cfg.qnet_tagline,sizeof(cfg.qnet_tagline)-1,K_MSG|K_EDIT);
break;
case 0:
while(1) {
......@@ -206,7 +206,7 @@ This is the QWK System ID of this hub. It is used for incoming and
outgoing network packets and must be accurate.
*/
if(uifc.input(WIN_MID|WIN_SAV,0,0
,"System ID",str,8,K_UPPER)<1)
,"System ID",str,LEN_QWKID,K_UPPER)<1)
continue;
for(j=cfg.total_qhubs;j>i;j--)
......@@ -420,7 +420,7 @@ EchoMail. This origin line can be overridden on a per sub-board basis
with the sub-board configuration Network Options....
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"* Origin"
,cfg.origline,50,K_EDIT);
,cfg.origline,sizeof(cfg.origline)-1,K_EDIT);
break;
case 3:
SETHELP(WHERE);
......@@ -432,7 +432,7 @@ FidoNet front-end that new NetMail has been created and the messages
should be re-scanned.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"NetMail Semaphore"
,cfg.netmail_sem,50,K_EDIT);
,cfg.netmail_sem,sizeof(cfg.netmail_sem)-1,K_EDIT);
break;
case 4:
SETHELP(WHERE);
......@@ -444,7 +444,7 @@ FidoNet front-end that new EchoMail has been created and the messages
should be re-scanned.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"EchoMail Semaphore"
,cfg.echomail_sem,50,K_EDIT);
,cfg.echomail_sem,sizeof(cfg.echomail_sem)-1,K_EDIT);
break;
case 5:
SETHELP(WHERE);
......@@ -455,7 +455,7 @@ This directory is where inbound files are placed. This directory is
only used when an incoming message has a file attached.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"Inbound Files"
,cfg.fidofile_dir,50,K_EDIT);
,cfg.fidofile_dir,sizeof(cfg.fidofile_dir)-1,K_EDIT);
break;
case 6:
SETHELP(WHERE);
......@@ -473,7 +473,7 @@ If all EchoMail sub-boards have specified EchoMail storage directories,
this option is not used at all.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"EchoMail Base"
,cfg.echomail_dir,50,K_EDIT);
,cfg.echomail_dir,sizeof(cfg.echomail_dir)-1,K_EDIT);
break;
case 7:
SETHELP(WHERE);
......@@ -484,7 +484,7 @@ This is the directory where NetMail will be imported from and exported
to.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"NetMail"
,cfg.netmail_dir,50,K_EDIT);
,cfg.netmail_dir,sizeof(cfg.netmail_dir)-1,K_EDIT);
break;
case 8:
i=0;
......@@ -679,7 +679,7 @@ If your system is networked via PostLink or PCRelay, this should be the
Site Name for your BBS.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"Site Name"
,cfg.sys_psname,12,K_UPPER|K_EDIT);
,cfg.sys_psname,sizeof(cfg.sys_psname)-1,K_UPPER|K_EDIT);
break;
case 2:
SETHELP(WHERE);
......@@ -817,7 +817,7 @@ Enter your system's Internet address (hostname or IP address) here
(e.g. joesbbs.com).
*/
uifc.input(WIN_MID|WIN_SAV,0,0,""
,cfg.sys_inetaddr,60,K_EDIT);
,cfg.sys_inetaddr,sizeof(cfg.sys_inetaddr)-1,K_EDIT);
break;
case 1:
SETHELP(WHERE);
......@@ -829,7 +829,7 @@ external Internet e-mail processors that new mail has been received
and the message base should be re-scanned.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"Inbound Semaphore"
,cfg.smtpmail_sem,50,K_EDIT);
,cfg.smtpmail_sem,sizeof(cfg.smtpmail_sem)-1,K_EDIT);
break;
case 2:
SETHELP(WHERE);
......@@ -841,7 +841,7 @@ external Internet gateways (if supported) that new mail has been created
and the message base should be re-scanned.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"Outbound Semaphore"
,cfg.inetmail_sem,50,K_EDIT);
,cfg.inetmail_sem,sizeof(cfg.inetmail_sem)-1,K_EDIT);
break;
case 3:
i=0;
......@@ -983,7 +983,7 @@ outgoing network packets and must be accurate.
*/
strcpy(str,cfg.qhub[num]->id); /* save */
if(!uifc.input(WIN_MID|WIN_SAV,0,0,"QWK Network Hub System ID"
,cfg.qhub[num]->id,8,K_UPPER|K_EDIT))
,cfg.qhub[num]->id,LEN_QWKID,K_UPPER|K_EDIT))
strcpy(cfg.qhub[num]->id,str);
break;
case 1:
......@@ -1358,7 +1358,7 @@ This is the Site Name of this hub. It is used for only for reference.
*/
strcpy(str,cfg.phub[num]->name); /* save */
if(!uifc.input(WIN_MID|WIN_SAV,0,0,"Hub Site Name"
,cfg.phub[num]->name,10,K_UPPER|K_EDIT))
,cfg.phub[num]->name,sizeof(cfg.phub[num]->name)-1,K_UPPER|K_EDIT))
strcpy(cfg.phub[num]->name,str); /* restore */
break;
case 1:
......@@ -1370,7 +1370,7 @@ This is the command line to use to initiate a call-out to this network
hub.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"Call-out Command"
,cfg.phub[num]->call,50,K_EDIT);
,cfg.phub[num]->call,sizeof(cfg.phub[num]->call)-1,K_EDIT);
break;
case 2:
sprintf(str,"%u",cfg.phub[num]->node);
......
......@@ -532,7 +532,7 @@ Remember: The %! command line specifier is an abreviation for your
configured EXEC directory path.
*/
uifc.input(WIN_MID|WIN_SAV,0,10,"Daily Event"
,cfg.node_daily,50,K_EDIT);
,cfg.node_daily,sizeof(cfg.node_daily)-1,K_EDIT);
break;
case 6:
SETHELP(WHERE);
......@@ -549,7 +549,7 @@ This option allows you to change the location of your control directory.
The \TEXT\ suffix (sub-directory) cannot be changed or removed.
*/
uifc.input(WIN_MID|WIN_SAV,0,10,"Text Directory"
,cfg.text_dir,50,K_EDIT);
,cfg.text_dir,sizeof(cfg.text_dir)-1,K_EDIT);
break;
}
}
......
......@@ -1061,7 +1061,7 @@ tagline in the Networks configuration, you should enter that tagline
here. If this option is left blank, the default tagline is used.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,nulstr,cfg.sub[i]->tagline
,63,K_MSG|K_EDIT);
,sizeof(cfg.sub[i]->tagline)-1,K_MSG|K_EDIT);
break;
case 5:
n=1;
......@@ -1150,7 +1150,7 @@ If this sub-board is part of a FidoNet EchoMail conference, this is
the address used for this sub-board. Format: Zone:Net/Node[.Point]
*/
uifc.input(WIN_MID|WIN_SAV,0,0,"FidoNet Address"
,str,20,K_EDIT);
,str,25,K_EDIT);
cfg.sub[i]->faddr=atofaddr(str);
break;
case 9:
......@@ -1165,7 +1165,7 @@ want to use an origin line other than the default origin line in the
If this option is blank, the default origin line is used.
*/
uifc.input(WIN_MID|WIN_SAV,0,0,nulstr,cfg.sub[i]->origline
,50,K_EDIT);
,sizeof(cfg.sub[i]->origline)-1,K_EDIT);
break;
}
}
......@@ -1306,7 +1306,7 @@ Use this if you wish to place the data directory for this sub-board on
another drive or in another directory besides the default setting.
*/
uifc.input(WIN_MID|WIN_SAV,0,17,"Directory"
,cfg.sub[i]->data_dir,50,K_EDIT);
,cfg.sub[i]->data_dir,sizeof(cfg.sub[i]->data_dir)-1,K_EDIT);
break;
case 3:
SETHELP(WHERE);
......@@ -1317,7 +1317,7 @@ This is a filename that will be created as a semaphore (signal) to an
external program or event whenever a message is posted in this sub-board.
*/
uifc.input(WIN_MID|WIN_SAV,0,17,"Semaphore File"
,cfg.sub[i]->post_sem,50,K_EDIT);
,cfg.sub[i]->post_sem,sizeof(cfg.sub[i]->post_sem)-1,K_EDIT);
break;
}
}
......
......@@ -99,7 +99,7 @@ entire system.
This is the name of the BBS.
*/
uifc.input(WIN_MID,0,0,"BBS Name",cfg.sys_name,40,K_EDIT);
uifc.input(WIN_MID,0,0,"BBS Name",cfg.sys_name,sizeof(cfg.sys_name)-1,K_EDIT);
break;
case 1:
SETHELP(WHERE);
......@@ -109,7 +109,7 @@ This is the name of the BBS.
This is the location of the BBS. The format is flexible, but it is
suggested you use the City, State format for clarity.
*/
uifc.input(WIN_MID,0,0,"Location",cfg.sys_location,40,K_EDIT);
uifc.input(WIN_MID,0,0,"Location",cfg.sys_location,sizeof(cfg.sys_location)-1,K_EDIT);
break;
case 2:
SETHELP(WHERE);
......@@ -120,7 +120,7 @@ This is the name or alias of the system operator. This does not have to
be the same as user #1. This field is used for documentary purposes
only.
*/
uifc.input(WIN_MID,0,0,"System Operator",cfg.sys_op,40,K_EDIT);
uifc.input(WIN_MID,0,0,"System Operator",cfg.sys_op,sizeof(cfg.sys_op)-1,K_EDIT);
break;
case 3:
SETHELP(WHERE);
......@@ -132,7 +132,7 @@ sysop functions. This password should be something not easily guessed
and should be kept absolutely confidential. This password must be
entered at the SY: prompt.
*/
uifc.input(WIN_MID,0,0,"System Password",cfg.sys_pass,40,K_EDIT|K_UPPER);
uifc.input(WIN_MID,0,0,"System Password",cfg.sys_pass,sizeof(cfg.sys_pass)-1,K_EDIT|K_UPPER);
break;
case 4:
strcpy(opt[0],"Yes");
......@@ -225,7 +225,7 @@ If you want callers to only be able to logon as New if they know a
certain password, enter that password here. If you want any caller to
be able to logon as New, leave this option blank.
*/
uifc.input(WIN_MID,0,0,"New User Password",cfg.new_pass,40
uifc.input(WIN_MID,0,0,"New User Password",cfg.new_pass,sizeof(cfg.new_pass)-1
,K_EDIT|K_UPPER);
break;
case 8: /* Toggle Options */
......@@ -1176,7 +1176,7 @@ new user information displayed to them and they are disconnected.
Think of it as a password to guarantee that new users read the text
displayed to them.
*/
uifc.input(WIN_MID,0,0,"New User Magic Word",cfg.new_magic,20
uifc.input(WIN_MID,0,0,"New User Magic Word",cfg.new_magic,sizeof(cfg.new_magic)-1
,K_EDIT|K_UPPER);
break;
case 1:
......@@ -1192,7 +1192,7 @@ This option allows you to change the location of your data directory.
*/
strcpy(str,cfg.data_dir);
if(uifc.input(WIN_MID|WIN_SAV,0,9,"Data Directory"
,str,50,K_EDIT)>0) {
,str,sizeof(cfg.data_dir)-1,K_EDIT)>0) {
backslash(str);
SAFECOPY(cfg.data_dir,str);
}
......@@ -1206,7 +1206,7 @@ Log files will be stored in this directory.
*/
strcpy(str,cfg.logs_dir);
if(uifc.input(WIN_MID|WIN_SAV,0,9,"Logs Directory"
,str,50,K_EDIT)>0) {
,str,sizeof(cfg.logs_dir)-1,K_EDIT)>0) {
backslash(str);
SAFECOPY(cfg.logs_dir,str);
}
......@@ -1226,7 +1226,7 @@ This option allows you to change the location of your exec directory.
*/
strcpy(str,cfg.exec_dir);
if(uifc.input(WIN_MID|WIN_SAV,0,9,"Exec Directory"
,str,50,K_EDIT)>0) {
,str,sizeof(cfg.exec_dir)-1,K_EDIT)>0) {
backslash(str);
SAFECOPY(cfg.exec_dir,str);
}
......@@ -1246,7 +1246,7 @@ are assumed to be located in the `exec` directory.
*/
strcpy(str,cfg.mods_dir);
if(uifc.input(WIN_MID|WIN_SAV,0,9,"Mods Directory"
,str,50,K_EDIT)>0) {
,str,sizeof(cfg.mods_dir)-1,K_EDIT)>0) {
backslash(str);
SAFECOPY(cfg.mods_dir,str);
}
......@@ -1262,7 +1262,7 @@ directory that all users will be prompted to answer.
*/
uifc.input(WIN_MID|WIN_SAV,0,0
,"SIF Questionnaire for User Input"
,str,8,K_UPPER|K_EDIT);
,str,LEN_CODE,K_UPPER|K_EDIT);
if(!str[0] || code_ok(str))
strcpy(cfg.new_sif,str);
else
......@@ -1279,7 +1279,7 @@ edit function.
*/
uifc.input(WIN_MID|WIN_SAV,0,0
,"SIF Questionnaire for Reviewing User Input"
,str,8,K_EDIT);
,str,LEN_CODE,K_EDIT);
if(!str[0] || code_ok(str))
strcpy(cfg.new_sof,str);
else
......@@ -1473,32 +1473,32 @@ for each of the available triggers listed here.
break;
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0,"Login Module",cfg.login_mod,8
,K_EDIT);
uifc.input(WIN_MID|WIN_SAV,0,0,"Login Module"
,cfg.login_mod,sizeof(cfg.login_mod)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0,"Logon Module",cfg.logon_mod,8
,K_EDIT);
uifc.input(WIN_MID|WIN_SAV,0,0,"Logon Module"
,cfg.logon_mod,sizeof(cfg.logon_mod)-1,K_EDIT);
break;
case 2:
uifc.input(WIN_MID|WIN_SAV,0,0,"Synchronize Module"
,cfg.sync_mod,8,K_EDIT);
,cfg.sync_mod,sizeof(cfg.sync_mod)-1,K_EDIT);
break;
case 3:
uifc.input(WIN_MID|WIN_SAV,0,0,"Logoff Module",cfg.logoff_mod,8
,K_EDIT);
uifc.input(WIN_MID|WIN_SAV,0,0,"Logoff Module"
,cfg.logoff_mod,sizeof(cfg.logoff_mod)-1,K_EDIT);
break;
case 4:
uifc.input(WIN_MID|WIN_SAV,0,0,"Logout Module",cfg.logout_mod,8
,K_EDIT);
uifc.input(WIN_MID|WIN_SAV,0,0,"Logout Module"
,cfg.logout_mod,sizeof(cfg.logout_mod)-1,K_EDIT);
break;
case 5:
uifc.input(WIN_MID|WIN_SAV,0,0,"New User Module"
,cfg.newuser_mod,8,K_EDIT);
,cfg.newuser_mod,sizeof(cfg.newuser_mod)-1,K_EDIT);
break;
case 6:
uifc.input(WIN_MID|WIN_SAV,0,0,"Expired User Module"
,cfg.expire_mod,8,K_EDIT);
,cfg.expire_mod,sizeof(cfg.expire_mod)-1,K_EDIT);
break;
} }
......@@ -1614,7 +1614,7 @@ security level from 0 to 99. The available options for each level are:
case 5:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Lines Allowed Per Message (Post/E-mail)"
,ultoa(cfg.level_linespermsg[i],tmp,10),4
,ultoa(cfg.level_linespermsg[i],tmp,10),5
,K_NUMBER|K_EDIT);
cfg.level_linespermsg[i]=atoi(tmp);
break;
......
......@@ -334,7 +334,7 @@ command line examples for a few file types.
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Viewable File Type Extension"
,cfg.fview[i]->ext,3,K_EDIT);
,cfg.fview[i]->ext,sizeof(cfg.fview[i]->ext)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
......@@ -453,7 +453,7 @@ listed.
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Testable File Type Extension"
,cfg.ftest[i]->ext,3,K_EDIT);
,cfg.ftest[i]->ext,sizeof(cfg.ftest[i]->ext)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
......@@ -463,7 +463,7 @@ listed.
case 2:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Working String"
,cfg.ftest[i]->workstr,40,K_EDIT|K_MSG);
,cfg.ftest[i]->workstr,sizeof(cfg.ftest[i]->workstr)-1,K_EDIT|K_MSG);
break;
case 3:
uifc.savnum=2;
......@@ -576,7 +576,7 @@ for each file type and command line listed.
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Download Event Extension"
,cfg.dlevent[i]->ext,3,K_EDIT);
,cfg.dlevent[i]->ext,sizeof(cfg.dlevent[i]->ext)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
......@@ -586,7 +586,7 @@ for each file type and command line listed.
case 2:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Working String"
,cfg.dlevent[i]->workstr,40,K_EDIT|K_MSG);
,cfg.dlevent[i]->workstr,sizeof(cfg.dlevent[i]->workstr)-1,K_EDIT|K_MSG);
break;
case 3:
uifc.savnum=2;
......@@ -689,7 +689,7 @@ extract the file(s).
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Extractable File Type Extension"
,cfg.fextr[i]->ext,3,K_EDIT);
,cfg.fextr[i]->ext,sizeof(cfg.fextr[i]->ext)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
......@@ -795,7 +795,7 @@ files from the transfer section, and more.
case 0:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Compressable File Type Extension"
,cfg.fcomp[i]->ext,3,K_EDIT);
,cfg.fcomp[i]->ext,sizeof(cfg.fcomp[i]->ext)-1,K_EDIT);
break;
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
......@@ -929,7 +929,7 @@ command line for that method blank.
case 1:
uifc.input(WIN_MID|WIN_SAV,0,0
,"Protocol Name"
,cfg.prot[i]->name,25,K_EDIT);
,cfg.prot[i]->name,sizeof(cfg.prot[i]->name)-1,K_EDIT);
break;
case 2:
uifc.savnum=2;
......
......@@ -344,7 +344,7 @@ export to.
else if(k==1)
sprintf(str,"FILEBONE.NA");
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Filename"
,str,40,K_EDIT)<=0) {
,str,sizeof(str)-1,K_EDIT)<=0) {
uifc.changes=q;
break; }
if(fexist(str)) {
......@@ -439,7 +439,7 @@ command: DIR /ON /AD /B > DIRS.RAW
strcat(str,"dirs.raw");
}
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Filename"
,str,40,K_EDIT)<=0)
,str,sizeof(str)-1,K_EDIT)<=0)
break;
if((stream=fnopen(&file,str,O_RDONLY))==NULL) {
uifc.msg("Open Failure");
......@@ -897,7 +897,7 @@ This path can be overridden on a per file basis using Alternate File
Paths.
*/
uifc.input(WIN_L2R|WIN_SAV,0,17,"File Path"
,cfg.dir[i]->path,50,K_EDIT);
,cfg.dir[i]->path,sizeof(cfg.dir[i]->path)-1,K_EDIT);