Secured sprintf with snprintf
This commit is contained in:
parent
5a3a89e645
commit
ff2c677d06
@ -61,7 +61,7 @@ int CountMsgarea(void)
|
||||
int count, i;
|
||||
struct _sysconnect syscon;
|
||||
|
||||
sprintf(ffile, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "r")) == NULL) {
|
||||
if ((fil = fopen(ffile, "a+")) != NULL) {
|
||||
Syslog('+', "Created new %s", ffile);
|
||||
@ -74,10 +74,10 @@ int CountMsgarea(void)
|
||||
* Default first message area
|
||||
*/
|
||||
memset(&msgs, 0, sizeof(msgs));
|
||||
sprintf(msgs.Name, "Local users chat");
|
||||
sprintf(msgs.Base, "%s/var/mail/local/users", getenv("MBSE_ROOT"));
|
||||
sprintf(msgs.QWKname, "LOC_USERS");
|
||||
sprintf(msgs.Group, "LOCAL");
|
||||
snprintf(msgs.Name, 41, "Local users chat");
|
||||
snprintf(msgs.Base, 65, "%s/var/mail/local/users", getenv("MBSE_ROOT"));
|
||||
snprintf(msgs.QWKname, 21, "LOC_USERS");
|
||||
snprintf(msgs.Group, 13, "LOCAL");
|
||||
msgs.Active = TRUE;
|
||||
msgs.Type = LOCALMAIL;
|
||||
msgs.MsgKinds = PUBLIC;
|
||||
@ -101,10 +101,10 @@ int CountMsgarea(void)
|
||||
* Default message area for badmail
|
||||
*/
|
||||
memset(&msgs, 0, sizeof(msgs));
|
||||
sprintf(msgs.Name, "Bad mail");
|
||||
sprintf(msgs.Base, "%s/var/mail/badmail", getenv("MBSE_ROOT"));
|
||||
sprintf(msgs.QWKname, "BADMAIL");
|
||||
sprintf(msgs.Group, "LOCAL");
|
||||
snprintf(msgs.Name, 41, "Bad mail");
|
||||
snprintf(msgs.Base, 65, "%s/var/mail/badmail", getenv("MBSE_ROOT"));
|
||||
snprintf(msgs.QWKname, 21, "BADMAIL");
|
||||
snprintf(msgs.Group, 13, "LOCAL");
|
||||
msgs.Active = TRUE;
|
||||
msgs.Type = LOCALMAIL;
|
||||
msgs.MsgKinds = PUBLIC;
|
||||
@ -125,10 +125,10 @@ int CountMsgarea(void)
|
||||
* Default dupemail message area
|
||||
*/
|
||||
memset(&msgs, 0, sizeof(msgs));
|
||||
sprintf(msgs.Name, "Dupe mail");
|
||||
sprintf(msgs.Base, "%s/var/mail/dupemail", getenv("MBSE_ROOT"));
|
||||
sprintf(msgs.QWKname, "DUPEMAIL");
|
||||
sprintf(msgs.Group, "LOCAL");
|
||||
snprintf(msgs.Name, 41, "Dupe mail");
|
||||
snprintf(msgs.Base, 65, "%s/var/mail/dupemail", getenv("MBSE_ROOT"));
|
||||
snprintf(msgs.QWKname, 21, "DUPEMAIL");
|
||||
snprintf(msgs.Group, 13, "LOCAL");
|
||||
msgs.Active = TRUE;
|
||||
msgs.Type = LOCALMAIL;
|
||||
msgs.MsgKinds = PUBLIC;
|
||||
@ -186,15 +186,15 @@ int OpenMsgarea(void)
|
||||
* if they don't have a creation date. All new areas will get the
|
||||
* right date.
|
||||
*/
|
||||
sprintf(fnin, "%s/etc/sysinfo.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fnin, PATH_MAX, "%s/etc/sysinfo.data", getenv("MBSE_ROOT"));
|
||||
if ((fin = fopen(fnin, "r"))) {
|
||||
fread(&SYSINFO, sizeof(SYSINFO), 1, fin);
|
||||
start = SYSINFO.StartDate;
|
||||
fclose(fin);
|
||||
}
|
||||
|
||||
sprintf(fnin, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fnout, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fnin, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fnout, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fin = fopen(fnin, "r")) != NULL) {
|
||||
if ((fout = fopen(fnout, "w")) != NULL) {
|
||||
MsgUpdated = 0;
|
||||
@ -244,7 +244,7 @@ int OpenMsgarea(void)
|
||||
msgs.Created = start;
|
||||
#ifndef USE_NEWSGATE
|
||||
if ((strlen(msgs.Newsgroup) == 0) && (msgs.Type == ECHOMAIL) && strlen(msgs.Group)) {
|
||||
sprintf(msgs.Newsgroup, "%s.%s", GetFidoDomain(msgs.Aka.zone), msgs.Tag);
|
||||
snprintf(msgs.Newsgroup, 81, "%s.%s", GetFidoDomain(msgs.Aka.zone), msgs.Tag);
|
||||
for (i = 0; i < strlen(msgs.Newsgroup); i++) {
|
||||
msgs.Newsgroup[i] = tolower(msgs.Newsgroup[i]);
|
||||
if (msgs.Newsgroup[i] == '_')
|
||||
@ -292,8 +292,8 @@ void CloseMsgarea(int Force)
|
||||
{
|
||||
char fin[PATH_MAX], fout[PATH_MAX];
|
||||
|
||||
sprintf(fin, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fout,"%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fin, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fout, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
|
||||
if (MsgUpdated == 1) {
|
||||
if (Force || (yes_no((char *)"Messages database is changed, save changes") == 1)) {
|
||||
@ -346,7 +346,7 @@ int AppendMsgarea()
|
||||
struct _sysconnect syscon;
|
||||
int i;
|
||||
|
||||
sprintf(ffile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "a")) != NULL) {
|
||||
InitMsgRec();
|
||||
fwrite(&msgs, sizeof(msgs), 1, fil);
|
||||
@ -466,10 +466,10 @@ int EditConnections(FILE *fil)
|
||||
|
||||
if (System.aka.zone) {
|
||||
set_color(CYAN,BLACK);
|
||||
sprintf(temp, "%3d. %s %s", o+i, status, aka2str(System.aka));
|
||||
snprintf(temp, 81, "%3d. %s %s", o+i, status, aka2str(System.aka));
|
||||
} else {
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d.", o+i);
|
||||
snprintf(temp, 81, "%3d.", o+i);
|
||||
}
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -563,7 +563,7 @@ long LoadMsgRec(int Area, int work)
|
||||
sysconnect System;
|
||||
int i;
|
||||
|
||||
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
@ -609,7 +609,7 @@ int SaveMsgRec(int Area, int work)
|
||||
|
||||
if (work)
|
||||
working(1, 0, 0);
|
||||
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r+")) == 0) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
@ -654,21 +654,21 @@ void DeleteRules(char *filename)
|
||||
if (de->d_name[0] != '.') {
|
||||
strcpy(temp, msgs.Tag);
|
||||
if (strcasecmp(de->d_name, temp) == 0) {
|
||||
sprintf(temp, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
Syslog('+', "unlink(%s) rc=%d", temp, unlink(temp));
|
||||
break;
|
||||
}
|
||||
sprintf(temp, "%s.rul", msgs.Tag);
|
||||
snprintf(temp, PATH_MAX, "%s.rul", msgs.Tag);
|
||||
if (strcasecmp(de->d_name, temp) == 0) {
|
||||
sprintf(temp, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
Syslog('+', "unlink(%s) rc=%d", temp, unlink(temp));
|
||||
break;
|
||||
}
|
||||
memset(&temp, 0, sizeof(temp));
|
||||
strncpy(temp, msgs.Tag, 8);
|
||||
sprintf(temp, "%s.rul", temp);
|
||||
snprintf(temp, PATH_MAX, "%s.rul", temp);
|
||||
if (strcasecmp(de->d_name, temp) == 0) {
|
||||
sprintf(temp, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s", CFG.rulesdir, de->d_name);
|
||||
Syslog('+', "unlink(%s) rc=%d", temp, unlink(temp));
|
||||
break;
|
||||
}
|
||||
@ -716,7 +716,7 @@ void MsgGlobal(void)
|
||||
* Build the groups select array
|
||||
*/
|
||||
working(1, 0, 0);
|
||||
sprintf(mfile, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) != NULL) {
|
||||
fread(&mgrouphdr, sizeof(mgrouphdr), 1, fil);
|
||||
|
||||
@ -740,7 +740,7 @@ void MsgGlobal(void)
|
||||
S.sendto = TRUE;
|
||||
S.receivefrom = TRUE;
|
||||
memset(&mfile, 0, sizeof(mfile));
|
||||
sprintf(mfile, "%s", CFG.origin);
|
||||
snprintf(mfile, 81, "%s", CFG.origin);
|
||||
daysold = CFG.defdays;
|
||||
maxmsgs = CFG.defmsgs;
|
||||
maxarticles = CFG.maxarticles;
|
||||
@ -907,7 +907,7 @@ void MsgGlobal(void)
|
||||
Sc.aka.point = a2.point;
|
||||
Sc.sendto = TRUE;
|
||||
Sc.receivefrom = TRUE;
|
||||
sprintf(Sc.aka.domain, "%s", a2.domain);
|
||||
snprintf(Sc.aka.domain, 13, "%s", a2.domain);
|
||||
fwrite(&Sc, sizeof(sysconnect), 1, tfil);
|
||||
if (SaveMsgRec(marea, FALSE) == 0) {
|
||||
Done++;
|
||||
@ -925,7 +925,7 @@ void MsgGlobal(void)
|
||||
Sc.aka.net = a2.net;
|
||||
Sc.aka.node = a2.node;
|
||||
Sc.aka.point = a2.point;
|
||||
sprintf(Sc.aka.domain, "%s", a2.domain);
|
||||
snprintf(Sc.aka.domain, 13, "%s", a2.domain);
|
||||
fseek(tfil, - sizeof(sysconnect), SEEK_CUR);
|
||||
fwrite(&Sc, sizeof(sysconnect), 1, tfil);
|
||||
if (SaveMsgRec(marea, FALSE) == 0) {
|
||||
@ -1014,7 +1014,7 @@ void MsgGlobal(void)
|
||||
msgs.Aka.net = CFG.aka[akan].net;
|
||||
msgs.Aka.node = CFG.aka[akan].node;
|
||||
msgs.Aka.point = CFG.aka[akan].point;
|
||||
sprintf(msgs.Aka.domain, "%s", CFG.aka[akan].domain);
|
||||
snprintf(msgs.Aka.domain, 13, "%s", CFG.aka[akan].domain);
|
||||
if (SaveMsgRec(marea, FALSE) == 0) {
|
||||
Done++;
|
||||
Syslog('+', "Area %s now uses aka %s", msgs.Tag, aka2str(msgs.Aka));
|
||||
@ -1023,7 +1023,7 @@ void MsgGlobal(void)
|
||||
}
|
||||
break;
|
||||
case 11:if (strcmp(msgs.Origin, mfile)) {
|
||||
sprintf(msgs.Origin, "%s", mfile);
|
||||
snprintf(msgs.Origin, 65, "%s", mfile);
|
||||
if (SaveMsgRec(marea, FALSE) == 0) {
|
||||
Done++;
|
||||
Syslog('+', "Changed origin line in area %s", msgs.Tag);
|
||||
@ -1230,7 +1230,7 @@ int EditMsgRec(int Area)
|
||||
*/
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
if (strlen(mgroup.BasePath)) {
|
||||
sprintf(temp, "%s", msgs.Tag);
|
||||
snprintf(temp, 81, "%s", msgs.Tag);
|
||||
for (i = 0; i < strlen(temp); i++) {
|
||||
if (isupper(temp[i]))
|
||||
temp[i] = tolower(temp[i]);
|
||||
@ -1241,9 +1241,9 @@ int EditMsgRec(int Area)
|
||||
if (temp[i] == '.')
|
||||
temp[i] = '/';
|
||||
}
|
||||
sprintf(msgs.Base, "%s/%s", mgroup.BasePath, temp);
|
||||
snprintf(msgs.Base, 65, "%s/%s", mgroup.BasePath, temp);
|
||||
} else {
|
||||
sprintf(temp, "%s/%s", msgs.Group, msgs.Tag);
|
||||
snprintf(temp, 81, "%s/%s", msgs.Group, msgs.Tag);
|
||||
for (i = 0; i < strlen(temp); i++) {
|
||||
if (isupper(temp[i]))
|
||||
temp[i] = tolower(temp[i]);
|
||||
@ -1254,7 +1254,7 @@ int EditMsgRec(int Area)
|
||||
if (temp[i] == '.')
|
||||
temp[i] = '/';
|
||||
}
|
||||
sprintf(msgs.Base, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
snprintf(msgs.Base, 65, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
}
|
||||
free(temp);
|
||||
/*
|
||||
@ -1268,24 +1268,24 @@ int EditMsgRec(int Area)
|
||||
SetScreen();
|
||||
break;
|
||||
case 4: E_STR( 9,16,64,msgs.Newsgroup, "The ^Newsgroup^ name of this area")
|
||||
case 5: sprintf(oldpath, "%s", msgs.Base);
|
||||
case 5: snprintf(oldpath, 81, "%s", msgs.Base);
|
||||
strcpy(msgs.Base, edit_jam(10,16,64,msgs.Base ,(char *)"The path to the ^JAM Message Base^"));
|
||||
if (strcmp(oldpath, msgs.Base)) {
|
||||
i = 0;
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(temp, "%s/etc/scanmgr.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/scanmgr.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r+")) != NULL) {
|
||||
fread(&scanmgrhdr, sizeof(scanmgrhdr), 1, fil);
|
||||
while (fread(&scanmgr, scanmgrhdr.recsize, 1, fil) == 1) {
|
||||
if (strcmp(oldpath, scanmgr.ScanBoard) == 0) {
|
||||
i++;
|
||||
sprintf(scanmgr.ScanBoard, "%s", msgs.Base);
|
||||
snprintf(scanmgr.ScanBoard, 51, "%s", msgs.Base);
|
||||
fseek(fil, - scanmgrhdr.recsize, SEEK_CUR);
|
||||
fwrite(&scanmgr, scanmgrhdr.recsize, 1, fil);
|
||||
}
|
||||
if (strcmp(oldpath, scanmgr.ReplBoard) == 0) {
|
||||
i++;
|
||||
sprintf(scanmgr.ReplBoard, "%s", msgs.Base);
|
||||
snprintf(scanmgr.ReplBoard, 51, "%s", msgs.Base);
|
||||
fseek(fil, - scanmgrhdr.recsize, SEEK_CUR);
|
||||
fwrite(&scanmgr, scanmgrhdr.recsize, 1, fil);
|
||||
}
|
||||
@ -1296,13 +1296,13 @@ int EditMsgRec(int Area)
|
||||
}
|
||||
|
||||
i = 0;
|
||||
sprintf(temp, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r+")) != NULL) {
|
||||
fread(&newfileshdr, sizeof(newfileshdr), 1, fil);
|
||||
while (fread(&newfiles, newfileshdr.recsize, 1, fil) == 1) {
|
||||
if (strcmp(oldpath, newfiles.Area) == 0) {
|
||||
i++;
|
||||
sprintf(newfiles.Area, "%s", msgs.Base);
|
||||
snprintf(newfiles.Area, 51, "%s", msgs.Base);
|
||||
fseek(fil, - newfileshdr.recsize, SEEK_CUR);
|
||||
fwrite(&newfiles, newfileshdr.recsize, 1, fil);
|
||||
}
|
||||
@ -1340,7 +1340,7 @@ int EditMsgRec(int Area)
|
||||
}
|
||||
if (!Active) {
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(temp, "%s.jhr", msgs.Base);
|
||||
snprintf(temp, PATH_MAX, "%s.jhr", msgs.Base);
|
||||
if (strlen(msgs.Base) && (file_size(temp) != 1024)) {
|
||||
if (yes_no((char *)"There are messages in this area, delete them") == 0)
|
||||
Active = TRUE;
|
||||
@ -1442,7 +1442,7 @@ void EditMsgarea(void)
|
||||
mbse_mvprintw( 5, 3, "9.2 MESSAGE AREA SETUP");
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
sprintf(temp, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&msgshdr, sizeof(msgshdr), 1, fil);
|
||||
@ -1455,10 +1455,10 @@ void EditMsgarea(void)
|
||||
fread(&msgs, msgshdr.recsize, 1, fil);
|
||||
if (msgs.Active) {
|
||||
set_color(CYAN, BLACK);
|
||||
sprintf(temp, "%3d. %-8s %-23s %-40s", o + i, getmsgtype(msgs.Type), msgs.Tag, msgs.Name);
|
||||
snprintf(temp, 81, "%3d. %-8s %-23s %-40s", o + i, getmsgtype(msgs.Type), msgs.Tag, msgs.Name);
|
||||
} else {
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d.", o+i);
|
||||
snprintf(temp, 81, "%3d.", o+i);
|
||||
}
|
||||
mbse_mvprintw(y, 2, temp);
|
||||
y++;
|
||||
@ -1597,12 +1597,12 @@ char *PickMsgarea(char *shdr)
|
||||
for (;;) {
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
sprintf(temp, "%s. MESSAGE AREA SELECT", shdr);
|
||||
snprintf(temp, 81, "%s. MESSAGE AREA SELECT", shdr);
|
||||
mbse_mvprintw(5, 3, temp);
|
||||
set_color(CYAN, BLACK);
|
||||
|
||||
if (records) {
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&msgshdr, sizeof(msgshdr), 1, fil);
|
||||
@ -1622,7 +1622,7 @@ char *PickMsgarea(char *shdr)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-31s", o + i, msgs.Name);
|
||||
snprintf(temp, 81, "%3d. %-31s", o + i, msgs.Name);
|
||||
temp[38] = '\0';
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -1645,7 +1645,7 @@ char *PickMsgarea(char *shdr)
|
||||
o -= 20;
|
||||
|
||||
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
offset = msgshdr.hdrsize + ((atoi(pick) - 1) * (msgshdr.recsize + msgshdr.syssize));
|
||||
fseek(fil, offset, SEEK_SET);
|
||||
@ -1653,7 +1653,7 @@ char *PickMsgarea(char *shdr)
|
||||
fclose(fil);
|
||||
if (msgs.Active) {
|
||||
memset(&Buf, 0, sizeof(Buf));
|
||||
sprintf(Buf, "%s", msgs.Base);
|
||||
snprintf(Buf, 81, "%s", msgs.Base);
|
||||
return Buf;
|
||||
}
|
||||
}
|
||||
@ -1669,7 +1669,7 @@ int GroupInMarea(char *Group)
|
||||
FILE *no;
|
||||
char temp[PATH_MAX];
|
||||
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return 0;
|
||||
|
||||
@ -1702,7 +1702,7 @@ int NodeInMarea(fidoaddr A)
|
||||
char temp[PATH_MAX];
|
||||
sysconnect S;
|
||||
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return 0;
|
||||
|
||||
@ -1736,7 +1736,7 @@ void msged_areas(FILE *fp)
|
||||
int i = 0;
|
||||
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return;
|
||||
|
||||
@ -1788,7 +1788,7 @@ void gold_areas(FILE *fp)
|
||||
int i = 0;
|
||||
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return;
|
||||
|
||||
@ -1854,7 +1854,7 @@ int mail_area_doc(FILE *fp, FILE *toc, int page)
|
||||
else
|
||||
LMiy = Miy - 1;
|
||||
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return page;
|
||||
|
||||
@ -1883,7 +1883,7 @@ int mail_area_doc(FILE *fp, FILE *toc, int page)
|
||||
} else
|
||||
fprintf(fp, "\n\n");
|
||||
|
||||
sprintf(temp, "msgarea_%d.html", i);
|
||||
snprintf(temp, 81, "msgarea_%d.html", i);
|
||||
fprintf(ip, " <TR><TD><A HREF=\"%s\">%d</A></TD><TD>%s</TD><TD>%s</TD>\n",
|
||||
temp, i, msgs.Name, strlen(msgs.Tag) ? msgs.Tag : " ");
|
||||
if ((wp = open_webdoc(temp, (char *)"File area", msgs.Name))) {
|
||||
@ -1986,7 +1986,7 @@ int mail_area_doc(FILE *fp, FILE *toc, int page)
|
||||
|
||||
fprintf(fp, " Link %2d %s %s\n", j+1, status, aka2str(System.aka));
|
||||
if (wp != NULL) {
|
||||
sprintf(temp, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
if ((ti = fopen(temp, "r"))) {
|
||||
fread(&nodeshdr, sizeof(nodeshdr), 1, ti);
|
||||
fseek(ti, 0, SEEK_SET);
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Edit BBS menus
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -47,13 +47,13 @@ char *select_menurec(int max)
|
||||
int pick;
|
||||
|
||||
if (max > 10)
|
||||
sprintf(help, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete, ^M^ove, ^P^revious, ^N^ext", max);
|
||||
snprintf(help, 81, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete, ^M^ove, ^P^revious, ^N^ext", max);
|
||||
else if (max > 1)
|
||||
sprintf(help, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete, ^M^ove", max);
|
||||
snprintf(help, 81, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete, ^M^ove", max);
|
||||
else if (max == 1)
|
||||
sprintf(help, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete", max);
|
||||
snprintf(help, 81, "Rec. (1..%d), ^\"-\"^ Back, ^A^ppend, ^D^elete", max);
|
||||
else
|
||||
sprintf(help, "Select ^\"-\"^ for previous level, ^A^ppend a record");
|
||||
snprintf(help, 81, "Select ^\"-\"^ for previous level, ^A^ppend a record");
|
||||
|
||||
showhelp(help);
|
||||
|
||||
@ -157,7 +157,7 @@ int GetSubmenu(int Base, int Max)
|
||||
x = 2;
|
||||
|
||||
for (i = 1; i <= Max; i++) {
|
||||
sprintf(temp, "%2d. %s", i, getmenutype(i - 1 + Base));
|
||||
snprintf(temp, 81, "%2d. %s", i, getmenutype(i - 1 + Base));
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
if ((i % 13) == 0) {
|
||||
@ -316,10 +316,10 @@ void EditMenu(char *Name)
|
||||
IsDoing("Edit Menu");
|
||||
working(1, 0, 0);
|
||||
|
||||
sprintf(mtemp, "%s/%s.tmp", lang.MenuPath, Name);
|
||||
snprintf(mtemp, PATH_MAX, "%s/%s.tmp", lang.MenuPath, Name);
|
||||
tmp = fopen(mtemp, "w+");
|
||||
|
||||
sprintf(temp, "%s/%s.mnu", lang.MenuPath, Name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s.mnu", lang.MenuPath, Name);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
while (fread(&menus, sizeof(menus), 1, fil) == 1) {
|
||||
fwrite(&menus, sizeof(menus), 1, tmp);
|
||||
@ -332,7 +332,7 @@ void EditMenu(char *Name)
|
||||
for (;;) {
|
||||
clr_index();
|
||||
working(1, 0, 0);
|
||||
sprintf(temp, "8.3 EDIT MENU \"%s\" (%s)", Name, lang.Name);
|
||||
snprintf(temp, 81, "8.3 EDIT MENU \"%s\" (%s)", Name, lang.Name);
|
||||
mbse_mvprintw( 5, 6, tu(temp));
|
||||
set_color(CYAN, BLACK);
|
||||
fseek(tmp, 0, SEEK_SET);
|
||||
@ -355,9 +355,11 @@ void EditMenu(char *Name)
|
||||
mbse_mvprintw(y, 10, "%1s", menus.MenuKey);
|
||||
}
|
||||
if (le_int(menus.MenuType) == 999 ) {
|
||||
sprintf(temp, "%-29s %5d %s", menus.TypeDesc, le_int(menus.MenuSecurity.level), menus.Display);
|
||||
snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
|
||||
le_int(menus.MenuSecurity.level), menus.Display);
|
||||
} else {
|
||||
sprintf(temp, "%-29s %5d %s", menus.TypeDesc, le_int(menus.MenuSecurity.level), menus.OptionalData);
|
||||
snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
|
||||
le_int(menus.MenuSecurity.level), menus.OptionalData);
|
||||
}
|
||||
temp[68] = '\0';
|
||||
mbse_mvprintw(y, 12, temp);
|
||||
@ -376,7 +378,7 @@ void EditMenu(char *Name)
|
||||
if (MenuUpdated) {
|
||||
if (yes_no((char *)"Menu is changed, save changes") == 1) {
|
||||
working(1, 0, 0);
|
||||
sprintf(temp, "%s/%s.mnu", lang.MenuPath, Name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s.mnu", lang.MenuPath, Name);
|
||||
if ((fil = fopen(temp, "w+")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
} else {
|
||||
@ -527,7 +529,7 @@ void EditMenus(void)
|
||||
y = 7;
|
||||
set_color(CYAN, BLACK);
|
||||
for (i = 1; i <= mcount; i++) {
|
||||
sprintf(temp, "%2d. %s", i, menuname[i-1]);
|
||||
snprintf(temp, 81, "%2d. %s", i, menuname[i-1]);
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
if ((i % 10) == 0) {
|
||||
@ -585,7 +587,7 @@ int bbs_menu_doc(FILE *fp, FILE *toc, int page)
|
||||
int j;
|
||||
|
||||
temp = calloc(PATH_MAX, sizeof(char));
|
||||
sprintf(temp, "%s/etc/language.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/language.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL) {
|
||||
free(temp);
|
||||
return page;
|
||||
@ -609,10 +611,10 @@ int bbs_menu_doc(FILE *fp, FILE *toc, int page)
|
||||
if (de->d_name[0] != '.') {
|
||||
j = 0;
|
||||
fprintf(ip, "<LI><A HREF=\"menu_%s_%s.html\">%s</A></LI>\n", lang.LangKey, de->d_name, de->d_name);
|
||||
sprintf(temp, "%s/%s", lang.MenuPath, de->d_name);
|
||||
snprintf(temp, PATH_MAX, "%s/%s", lang.MenuPath, de->d_name);
|
||||
fprintf(fp, "\n MENU %s (%s)\n\n", de->d_name, lang.Name);
|
||||
if ((mn = fopen(temp, "r")) != NULL) {
|
||||
sprintf(temp, "menu_%s_%s.html", lang.LangKey, de->d_name);
|
||||
snprintf(temp, 81, "menu_%s_%s.html", lang.LangKey, de->d_name);
|
||||
if ((wp = open_webdoc(temp, lang.Name, de->d_name))) {
|
||||
fprintf(wp, "<A HREF=\"index.html\">Main</A> <A HREF=\"menus.html\">Back</A>\n");
|
||||
while (fread(&menus, sizeof(menus), 1, mn) == 1) {
|
||||
@ -628,7 +630,7 @@ int bbs_menu_doc(FILE *fp, FILE *toc, int page)
|
||||
fprintf(fp, " Menu select Autoexec\n");
|
||||
add_webtable(wp, (char *)"Menu select", (char *)"Autoexec");
|
||||
}
|
||||
sprintf(temp, "%d %s", le_int(menus.MenuType), menus.TypeDesc);
|
||||
snprintf(temp, 81, "%d %s", le_int(menus.MenuType), menus.TypeDesc);
|
||||
add_webtable(wp, (char *)"Menu type", temp);
|
||||
add_webtable(wp, (char *)"Optional data", menus.OptionalData);
|
||||
add_webtable(wp, (char *)"Display", menus.Display);
|
||||
|
@ -54,7 +54,7 @@ int CountMGroup(void)
|
||||
char ffile[PATH_MAX];
|
||||
int count;
|
||||
|
||||
sprintf(ffile, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "r")) == NULL) {
|
||||
if ((fil = fopen(ffile, "a+")) != NULL) {
|
||||
Syslog('+', "Created new %s", ffile);
|
||||
@ -62,13 +62,13 @@ int CountMGroup(void)
|
||||
mgrouphdr.recsize = sizeof(mgroup);
|
||||
fwrite(&mgrouphdr, sizeof(mgrouphdr), 1, fil);
|
||||
memset(&mgroup, 0, sizeof(mgroup));
|
||||
sprintf(mgroup.Name, "NOGROUP");
|
||||
sprintf(mgroup.Comment, "Dummy group for badmail, dupemail");
|
||||
snprintf(mgroup.Name, 13, "NOGROUP");
|
||||
snprintf(mgroup.Comment, 56, "Dummy group for badmail, dupemail");
|
||||
mgroup.Active = TRUE;
|
||||
fwrite(&mgroup, sizeof(mgroup), 1, fil);
|
||||
memset(&mgroup, 0, sizeof(mgroup));
|
||||
sprintf(mgroup.Name, "LOCAL");
|
||||
sprintf(mgroup.Comment, "Local mail areas");
|
||||
snprintf(mgroup.Name, 13, "LOCAL");
|
||||
snprintf(mgroup.Comment, 56, "Local mail areas");
|
||||
mgroup.Active = TRUE;
|
||||
fwrite(&mgroup, sizeof(mgroup), 1, fil);
|
||||
fclose(fil);
|
||||
@ -103,8 +103,8 @@ int OpenMGroup(void)
|
||||
long oldsize;
|
||||
int i;
|
||||
|
||||
sprintf(fnin, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fnout, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fnin, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fnout, PATH_MAX, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
if ((fin = fopen(fnin, "r")) != NULL) {
|
||||
if ((fout = fopen(fnout, "w")) != NULL) {
|
||||
MGrpUpdated = 0;
|
||||
@ -148,7 +148,7 @@ int OpenMGroup(void)
|
||||
if (temp[i] == '.')
|
||||
temp[i] = '/';
|
||||
}
|
||||
sprintf(mgroup.BasePath, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
snprintf(mgroup.BasePath, 65, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
}
|
||||
if (MGrpUpdated && !mgroup.LinkSec.level) {
|
||||
mgroup.LinkSec.level = 1;
|
||||
@ -179,8 +179,8 @@ void CloseMGroup(int force)
|
||||
FILE *fi, *fo;
|
||||
st_list *mgr = NULL, *tmp;
|
||||
|
||||
sprintf(fin, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fout,"%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fin, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fout, PATH_MAX, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
|
||||
if (MGrpUpdated == 1) {
|
||||
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
|
||||
@ -225,7 +225,7 @@ int AppendMGroup(void)
|
||||
FILE *fil;
|
||||
char ffile[PATH_MAX];
|
||||
|
||||
sprintf(ffile, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "a")) != NULL) {
|
||||
memset(&mgroup, 0, sizeof(mgroup));
|
||||
mgroup.StartDate = time(NULL);
|
||||
@ -309,7 +309,7 @@ int EditMGrpRec(int Area)
|
||||
working(1, 0, 0);
|
||||
IsDoing("Edit MessageGroup");
|
||||
|
||||
sprintf(mfile, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
@ -389,7 +389,7 @@ int EditMGrpRec(int Area)
|
||||
if (isupper(temp[i]))
|
||||
temp[i] = tolower(temp[i]);
|
||||
}
|
||||
sprintf(mgroup.BasePath, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
snprintf(mgroup.BasePath, 65, "%s/var/mail/%s", getenv("MBSE_ROOT"), temp);
|
||||
}
|
||||
break;
|
||||
case 2: E_STR( 8,16,55, mgroup.Comment, "The ^desription^ for this message group")
|
||||
@ -472,7 +472,7 @@ void EditMGroup(void)
|
||||
mbse_mvprintw( 5, 4, "9.1 MESSAGE GROUPS SETUP");
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
sprintf(temp, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mgroups.temp", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&mgrouphdr, sizeof(mgrouphdr), 1, fil);
|
||||
@ -492,7 +492,7 @@ void EditMGroup(void)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
|
||||
snprintf(temp, 81, "%3d. %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
|
||||
temp[38] = '\0';
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -576,11 +576,11 @@ char *PickMGroup(char *shdr)
|
||||
for (;;) {
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
sprintf(temp, "%s. MESSAGE GROUP SELECT", shdr);
|
||||
snprintf(temp, 81, "%s. MESSAGE GROUP SELECT", shdr);
|
||||
mbse_mvprintw( 5, 4, temp);
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
sprintf(temp, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&mgrouphdr, sizeof(mgrouphdr), 1, fil);
|
||||
@ -600,7 +600,7 @@ char *PickMGroup(char *shdr)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
|
||||
snprintf(temp, 81, "%3d. %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
|
||||
temp[38] = '\0';
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -623,7 +623,7 @@ char *PickMGroup(char *shdr)
|
||||
o = o - 20;
|
||||
|
||||
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
|
||||
sprintf(temp, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
fil = fopen(temp, "r");
|
||||
offset = sizeof(mgrouphdr) + ((atoi(pick) - 1) * mgrouphdr.recsize);
|
||||
fseek(fil, offset, 0);
|
||||
@ -643,7 +643,7 @@ int mail_group_doc(FILE *fp, FILE *toc, int page)
|
||||
FILE *ti, *wp, *ip, *no;
|
||||
int refs, i, j;
|
||||
|
||||
sprintf(temp, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mgroups.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return page;
|
||||
|
||||
@ -669,7 +669,7 @@ int mail_group_doc(FILE *fp, FILE *toc, int page)
|
||||
j = 0;
|
||||
}
|
||||
|
||||
sprintf(temp, "msggroup_%s.html", mgroup.Name);
|
||||
snprintf(temp, 81, "msggroup_%s.html", mgroup.Name);
|
||||
fprintf(ip, " <TR><TD><A HREF=\"%s\">%s</A></TD><TD>%s</TD><TD>%s</TD></TR>\n",
|
||||
temp, mgroup.Name, mgroup.Comment, getboolean(mgroup.Active));
|
||||
|
||||
@ -704,7 +704,7 @@ int mail_group_doc(FILE *fp, FILE *toc, int page)
|
||||
fprintf(wp, "<HR>\n");
|
||||
fprintf(wp, "<H3>Message Areas Reference</H3>\n");
|
||||
refs = 0;
|
||||
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
|
||||
if ((ti = fopen(temp, "r"))) {
|
||||
fread(&tichdr, sizeof(tichdr), 1, ti);
|
||||
fseek(ti, 0, SEEK_SET);
|
||||
@ -735,7 +735,7 @@ int mail_group_doc(FILE *fp, FILE *toc, int page)
|
||||
fprintf(wp, "<HR>\n");
|
||||
fprintf(wp, "<H3>Nodes Reference</H3>\n");
|
||||
refs = 0;
|
||||
sprintf(temp, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
|
||||
if ((ti = fopen(temp, "r"))) {
|
||||
fread(&nodeshdr, sizeof(nodeshdr), 1, ti);
|
||||
fseek(ti, 0, SEEK_SET);
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Setup Modem structure.
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -52,7 +52,7 @@ int CountModem(void)
|
||||
char ffile[PATH_MAX];
|
||||
int count;
|
||||
|
||||
sprintf(ffile, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "r")) == NULL) {
|
||||
if ((fil = fopen(ffile, "a+")) != NULL) {
|
||||
Syslog('+', "Created new %s", ffile);
|
||||
@ -64,78 +64,78 @@ int CountModem(void)
|
||||
* Create some default modem types
|
||||
*/
|
||||
memset(&modem, 0, sizeof(modem));
|
||||
sprintf(modem.modem, "Dynalink 1428EXTRA");
|
||||
sprintf(modem.init[0], "AT Z\\r");
|
||||
sprintf(modem.init[1], "AT &F &C1 &D2 X4 W2 B0 M0 \\\\V1 \\\\G0 &K3 S37=0\\r");
|
||||
sprintf(modem.ok, "OK");
|
||||
sprintf(modem.dial, "ATDT\\T\\r");
|
||||
sprintf(modem.connect[0], "CONNECT 56000");
|
||||
sprintf(modem.connect[1], "CONNECT 48000");
|
||||
sprintf(modem.connect[2], "CONNECT 44000");
|
||||
sprintf(modem.connect[3], "CONNECT 41333");
|
||||
sprintf(modem.connect[4], "CONNECT 38000");
|
||||
sprintf(modem.connect[5], "CONNECT 33600");
|
||||
sprintf(modem.connect[6], "CONNECT 31200");
|
||||
sprintf(modem.connect[7], "CONNECT 28800");
|
||||
sprintf(modem.connect[8], "CONNECT 26400");
|
||||
sprintf(modem.connect[9], "CONNECT 24000");
|
||||
sprintf(modem.connect[10], "CONNECT 21600");
|
||||
sprintf(modem.connect[11], "CONNECT 19200");
|
||||
sprintf(modem.connect[12], "CONNECT 16800");
|
||||
sprintf(modem.connect[13], "CONNECT 14400");
|
||||
sprintf(modem.connect[14], "CONNECT 12000");
|
||||
sprintf(modem.connect[15], "CONNECT 9600");
|
||||
sprintf(modem.connect[16], "CONNECT 7200");
|
||||
sprintf(modem.connect[17], "CONNECT 4800");
|
||||
sprintf(modem.connect[18], "CONNECT 2400");
|
||||
sprintf(modem.connect[19], "CONNECT");
|
||||
sprintf(modem.reset, "AT&F&C1&D2X4W2B0M0&K3\\r");
|
||||
sprintf(modem.error[0], "BUSY");
|
||||
sprintf(modem.error[1], "NO CARRIER");
|
||||
sprintf(modem.error[2], "NO DIALTONE");
|
||||
sprintf(modem.error[3], "NO ANSWER");
|
||||
sprintf(modem.error[4], "RING\\r");
|
||||
sprintf(modem.error[5], "ERROR");
|
||||
sprintf(modem.error[6], "CONNECT VOICE");
|
||||
sprintf(modem.speed, "28800");
|
||||
snprintf(modem.modem, 31, "Dynalink 1428EXTRA");
|
||||
snprintf(modem.init[0], 61, "AT Z\\r");
|
||||
snprintf(modem.init[1], 61, "AT &F &C1 &D2 X4 W2 B0 M0 \\\\V1 \\\\G0 &K3 S37=0\\r");
|
||||
snprintf(modem.ok, 11, "OK");
|
||||
snprintf(modem.dial, 41, "ATDT\\T\\r");
|
||||
snprintf(modem.connect[0], 31, "CONNECT 56000");
|
||||
snprintf(modem.connect[1], 31, "CONNECT 48000");
|
||||
snprintf(modem.connect[2], 31, "CONNECT 44000");
|
||||
snprintf(modem.connect[3], 31, "CONNECT 41333");
|
||||
snprintf(modem.connect[4], 31, "CONNECT 38000");
|
||||
snprintf(modem.connect[5], 31, "CONNECT 33600");
|
||||
snprintf(modem.connect[6], 31, "CONNECT 31200");
|
||||
snprintf(modem.connect[7], 31, "CONNECT 28800");
|
||||
snprintf(modem.connect[8], 31, "CONNECT 26400");
|
||||
snprintf(modem.connect[9], 31, "CONNECT 24000");
|
||||
snprintf(modem.connect[10], 31, "CONNECT 21600");
|
||||
snprintf(modem.connect[11], 31, "CONNECT 19200");
|
||||
snprintf(modem.connect[12], 31, "CONNECT 16800");
|
||||
snprintf(modem.connect[13], 31, "CONNECT 14400");
|
||||
snprintf(modem.connect[14], 31, "CONNECT 12000");
|
||||
snprintf(modem.connect[15], 31, "CONNECT 9600");
|
||||
snprintf(modem.connect[16], 31, "CONNECT 7200");
|
||||
snprintf(modem.connect[17], 31, "CONNECT 4800");
|
||||
snprintf(modem.connect[18], 31, "CONNECT 2400");
|
||||
snprintf(modem.connect[19], 31, "CONNECT");
|
||||
snprintf(modem.reset, 61, "AT&F&C1&D2X4W2B0M0&K3\\r");
|
||||
snprintf(modem.error[0], 21, "BUSY");
|
||||
snprintf(modem.error[1], 21, "NO CARRIER");
|
||||
snprintf(modem.error[2], 21, "NO DIALTONE");
|
||||
snprintf(modem.error[3], 21, "NO ANSWER");
|
||||
snprintf(modem.error[4], 21, "RING\\r");
|
||||
snprintf(modem.error[5], 21, "ERROR");
|
||||
snprintf(modem.error[6], 21, "CONNECT VOICE");
|
||||
snprintf(modem.speed, 16, "28800");
|
||||
modem.available = TRUE;
|
||||
modem.costoffset = 6;
|
||||
fwrite(&modem, sizeof(modem), 1, fil);
|
||||
|
||||
sprintf(modem.modem, "ISDN Dynalink");
|
||||
sprintf(modem.init[0], "ATZ\\r");
|
||||
sprintf(modem.init[1], "AT&E3306018793\\r");
|
||||
sprintf(modem.init[2], "AT&B512\\r");
|
||||
sprintf(modem.hangup, "ATH0\\r");
|
||||
sprintf(modem.speed, "64000");
|
||||
snprintf(modem.modem, 31, "ISDN Dynalink");
|
||||
snprintf(modem.init[0], 61, "ATZ\\r");
|
||||
snprintf(modem.init[1], 61, "AT&E3306018793\\r");
|
||||
snprintf(modem.init[2], 61, "AT&B512\\r");
|
||||
snprintf(modem.hangup, 41, "ATH0\\r");
|
||||
snprintf(modem.speed, 16, "64000");
|
||||
modem.costoffset = 1;
|
||||
fwrite(&modem, sizeof(modem), 1, fil);
|
||||
|
||||
sprintf(modem.modem, "Standard Hayes V34");
|
||||
sprintf(modem.init[0], "ATZ\\r");
|
||||
snprintf(modem.modem, 31, "Standard Hayes V34");
|
||||
snprintf(modem.init[0], 61, "ATZ\\r");
|
||||
memset(&modem.init[1], 0, sizeof(modem.init[1]));
|
||||
memset(&modem.init[2], 0, sizeof(modem.init[2]));
|
||||
memset(&modem.hangup, 0, sizeof(modem.hangup));
|
||||
sprintf(modem.speed, "33600");
|
||||
snprintf(modem.speed, 16, "33600");
|
||||
modem.costoffset = 6;
|
||||
fwrite(&modem, sizeof(modem), 1, fil);
|
||||
|
||||
memset(&modem, 0, sizeof(modem));
|
||||
sprintf(modem.modem, "ISDN Linux");
|
||||
sprintf(modem.init[0], "AT Z\\r");
|
||||
sprintf(modem.ok, "OK");
|
||||
sprintf(modem.dial, "ATDT\\T\\r");
|
||||
sprintf(modem.info, "ATI2\\r");
|
||||
sprintf(modem.hangup, "\\d\\p\\p\\p+++\\d\\p\\p\\pATH0\\r");
|
||||
sprintf(modem.connect[0], "CONNECT 64000");
|
||||
sprintf(modem.connect[1], "CONNECT");
|
||||
sprintf(modem.error[0], "BUSY");
|
||||
sprintf(modem.error[1], "NO CARRIER");
|
||||
sprintf(modem.error[2], "NO DIALTONE");
|
||||
sprintf(modem.error[3], "NO ANSWER");
|
||||
sprintf(modem.error[4], "RING\\r");
|
||||
sprintf(modem.error[5], "ERROR");
|
||||
sprintf(modem.speed, "64000");
|
||||
snprintf(modem.modem, 31, "ISDN Linux");
|
||||
snprintf(modem.init[0], 61, "AT Z\\r");
|
||||
snprintf(modem.ok, 11, "OK");
|
||||
snprintf(modem.dial, 41, "ATDT\\T\\r");
|
||||
snprintf(modem.info, 41, "ATI2\\r");
|
||||
snprintf(modem.hangup, 41, "\\d\\p\\p\\p+++\\d\\p\\p\\pATH0\\r");
|
||||
snprintf(modem.connect[0], 31, "CONNECT 64000");
|
||||
snprintf(modem.connect[1], 31, "CONNECT");
|
||||
snprintf(modem.error[0], 21, "BUSY");
|
||||
snprintf(modem.error[1], 21, "NO CARRIER");
|
||||
snprintf(modem.error[2], 21, "NO DIALTONE");
|
||||
snprintf(modem.error[3], 21, "NO ANSWER");
|
||||
snprintf(modem.error[4], 21, "RING\\r");
|
||||
snprintf(modem.error[5], 21, "ERROR");
|
||||
snprintf(modem.speed, 16, "64000");
|
||||
modem.available = TRUE;
|
||||
modem.costoffset = 1;
|
||||
fwrite(&modem, sizeof(modem), 1, fil);
|
||||
@ -169,8 +169,8 @@ int OpenModem(void)
|
||||
char fnin[PATH_MAX], fnout[PATH_MAX];
|
||||
long oldsize;
|
||||
|
||||
sprintf(fnin, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fnout, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fnin, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fnout, PATH_MAX, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
if ((fin = fopen(fnin, "r")) != NULL) {
|
||||
if ((fout = fopen(fnout, "w")) != NULL) {
|
||||
fread(&modemhdr, sizeof(modemhdr), 1, fin);
|
||||
@ -218,8 +218,8 @@ void CloseModem(int force)
|
||||
FILE *fi, *fo;
|
||||
st_list *mdm = NULL, *tmp;
|
||||
|
||||
sprintf(fin, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fout,"%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fin, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fout, PATH_MAX, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
|
||||
if (ModemUpdated == 1) {
|
||||
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
|
||||
@ -263,40 +263,40 @@ int AppendModem(void)
|
||||
FILE *fil;
|
||||
char ffile[PATH_MAX];
|
||||
|
||||
sprintf(ffile, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "a")) != NULL) {
|
||||
memset(&modem, 0, sizeof(modem));
|
||||
sprintf(modem.init[0], "ATZ\\r");
|
||||
sprintf(modem.ok, "OK");
|
||||
sprintf(modem.dial, "ATDT\\T\\r");
|
||||
sprintf(modem.connect[0], "CONNECT 56000");
|
||||
sprintf(modem.connect[1], "CONNECT 48000");
|
||||
sprintf(modem.connect[2], "CONNECT 44000");
|
||||
sprintf(modem.connect[3], "CONNECT 41333");
|
||||
sprintf(modem.connect[4], "CONNECT 38000");
|
||||
sprintf(modem.connect[5], "CONNECT 33600");
|
||||
sprintf(modem.connect[6], "CONNECT 31200");
|
||||
sprintf(modem.connect[7], "CONNECT 28800");
|
||||
sprintf(modem.connect[8], "CONNECT 26400");
|
||||
sprintf(modem.connect[9], "CONNECT 24000");
|
||||
sprintf(modem.connect[10], "CONNECT 21600");
|
||||
sprintf(modem.connect[11], "CONNECT 19200");
|
||||
sprintf(modem.connect[12], "CONNECT 16800");
|
||||
sprintf(modem.connect[13], "CONNECT 14400");
|
||||
sprintf(modem.connect[14], "CONNECT 12000");
|
||||
sprintf(modem.connect[15], "CONNECT 9600");
|
||||
sprintf(modem.connect[16], "CONNECT 7200");
|
||||
sprintf(modem.connect[17], "CONNECT 4800");
|
||||
sprintf(modem.connect[18], "CONNECT 2400");
|
||||
sprintf(modem.connect[19], "CONNECT");
|
||||
sprintf(modem.error[0], "BUSY");
|
||||
sprintf(modem.error[1], "NO CARRIER");
|
||||
sprintf(modem.error[2], "NO DIALTONE");
|
||||
sprintf(modem.error[3], "NO ANSWER");
|
||||
sprintf(modem.error[4], "RING\\r");
|
||||
sprintf(modem.error[5], "ERROR");
|
||||
sprintf(modem.speed, "28800");
|
||||
sprintf(modem.reset, "AT\\r");
|
||||
snprintf(modem.init[0], 61, "ATZ\\r");
|
||||
snprintf(modem.ok, 11, "OK");
|
||||
snprintf(modem.dial, 41, "ATDT\\T\\r");
|
||||
snprintf(modem.connect[0], 31, "CONNECT 56000");
|
||||
snprintf(modem.connect[1], 31, "CONNECT 48000");
|
||||
snprintf(modem.connect[2], 31, "CONNECT 44000");
|
||||
snprintf(modem.connect[3], 31, "CONNECT 41333");
|
||||
snprintf(modem.connect[4], 31, "CONNECT 38000");
|
||||
snprintf(modem.connect[5], 31, "CONNECT 33600");
|
||||
snprintf(modem.connect[6], 31, "CONNECT 31200");
|
||||
snprintf(modem.connect[7], 31, "CONNECT 28800");
|
||||
snprintf(modem.connect[8], 31, "CONNECT 26400");
|
||||
snprintf(modem.connect[9], 31, "CONNECT 24000");
|
||||
snprintf(modem.connect[10], 31, "CONNECT 21600");
|
||||
snprintf(modem.connect[11], 31, "CONNECT 19200");
|
||||
snprintf(modem.connect[12], 31, "CONNECT 16800");
|
||||
snprintf(modem.connect[13], 31, "CONNECT 14400");
|
||||
snprintf(modem.connect[14], 31, "CONNECT 12000");
|
||||
snprintf(modem.connect[15], 31, "CONNECT 9600");
|
||||
snprintf(modem.connect[16], 31, "CONNECT 7200");
|
||||
snprintf(modem.connect[17], 31, "CONNECT 4800");
|
||||
snprintf(modem.connect[18], 31, "CONNECT 2400");
|
||||
snprintf(modem.connect[19], 31, "CONNECT");
|
||||
snprintf(modem.error[0], 21, "BUSY");
|
||||
snprintf(modem.error[1], 21, "NO CARRIER");
|
||||
snprintf(modem.error[2], 21, "NO DIALTONE");
|
||||
snprintf(modem.error[3], 21, "NO ANSWER");
|
||||
snprintf(modem.error[4], 21, "RING\\r");
|
||||
snprintf(modem.error[5], 21, "ERROR");
|
||||
snprintf(modem.speed, 16, "28800");
|
||||
snprintf(modem.reset, 61, "AT\\r");
|
||||
modem.available = TRUE;
|
||||
fwrite(&modem, sizeof(modem), 1, fil);
|
||||
fclose(fil);
|
||||
@ -409,7 +409,7 @@ int EditModemRec(int Area)
|
||||
working(1, 0, 0);
|
||||
IsDoing("Edit Modem");
|
||||
|
||||
sprintf(mfile, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
@ -532,7 +532,7 @@ void EditModem(void)
|
||||
mbse_mvprintw( 5, 4, "5. MODEM TYPES SETUP");
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
sprintf(temp, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/modem.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&modemhdr, sizeof(modemhdr), 1, fil);
|
||||
x = 2;
|
||||
@ -550,7 +550,7 @@ void EditModem(void)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-30s", i, modem.modem);
|
||||
snprintf(temp, 81, "%3d. %-30s", i, modem.modem);
|
||||
temp[37] = 0;
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -617,11 +617,11 @@ char *PickModem(char *shdr)
|
||||
for (;;) {
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
sprintf(temp, "%s. MODEM SELECT", shdr);
|
||||
snprintf(temp, 81, "%s. MODEM SELECT", shdr);
|
||||
mbse_mvprintw(5,3,temp);
|
||||
set_color(CYAN, BLACK);
|
||||
if (records) {
|
||||
sprintf(temp, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&modemhdr, sizeof(modemhdr), 1, fil);
|
||||
@ -641,7 +641,7 @@ char *PickModem(char *shdr)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-31s", o + i, modem.modem);
|
||||
snprintf(temp, 81, "%3d. %-31s", o + i, modem.modem);
|
||||
temp[38] = '\0';
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -664,14 +664,14 @@ char *PickModem(char *shdr)
|
||||
o -= 20;
|
||||
|
||||
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
|
||||
sprintf(temp, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
offset = modemhdr.hdrsize + ((atoi(pick) - 1) * modemhdr.recsize);
|
||||
fseek(fil, offset, SEEK_SET);
|
||||
fread(&modem, modemhdr.recsize, 1, fil);
|
||||
fclose(fil);
|
||||
if (modem.available) {
|
||||
sprintf(buf, "%s", modem.modem);
|
||||
snprintf(buf, 31, "%s", modem.modem);
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
@ -687,7 +687,7 @@ int modem_doc(FILE *fp, FILE *toc, int page)
|
||||
FILE *ti, *wp, *ip, *mdm;
|
||||
int refs, nr = 0, i, j;
|
||||
|
||||
sprintf(temp, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/modem.data", getenv("MBSE_ROOT"));
|
||||
if ((mdm = fopen(temp, "r")) == NULL)
|
||||
return page;
|
||||
|
||||
@ -715,7 +715,7 @@ int modem_doc(FILE *fp, FILE *toc, int page)
|
||||
nr++;
|
||||
fprintf(ip, " <TR><TD><A HREF=\"modem_%d.html\">%d</A></TD><TD>%s</TD><TD>%s</TD></TR>\n",
|
||||
nr, nr, modem.modem, getboolean(modem.available));
|
||||
sprintf(temp, "modem_%d.html", nr);
|
||||
snprintf(temp, 81, "modem_%d.html", nr);
|
||||
if ((wp = open_webdoc(temp, (char *)"Modem", modem.modem))) {
|
||||
fprintf(wp, "<A HREF=\"index.html\">Main</A> <A HREF=\"modem.html\">Back</A>\n");
|
||||
fprintf(wp, "<P>\n");
|
||||
@ -725,7 +725,7 @@ int modem_doc(FILE *fp, FILE *toc, int page)
|
||||
add_webtable(wp, (char *)"Modem type", modem.modem);
|
||||
for (i = 0; i < 3; i++)
|
||||
if (strlen(modem.init[i])) {
|
||||
sprintf(temp, "Init string %d", i+1);
|
||||
snprintf(temp, 81, "Init string %d", i+1);
|
||||
add_webtable(wp, temp, modem.init[i]);
|
||||
}
|
||||
add_webtable(wp, (char *)"OK string", modem.ok);
|
||||
@ -748,7 +748,7 @@ int modem_doc(FILE *fp, FILE *toc, int page)
|
||||
fprintf(wp, "<HR>\n");
|
||||
fprintf(wp, "<H3>TTY Lines Reference</H3>\n");
|
||||
refs = 0;
|
||||
sprintf(temp, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT"));
|
||||
if ((ti = fopen(temp, "r"))) {
|
||||
fread(&ttyinfohdr, sizeof(ttyinfohdr), 1, ti);
|
||||
fseek(ti, 0, SEEK_SET);
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Newfiles Setup
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2004
|
||||
* Copyright (C) 1997-2005
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -55,7 +55,7 @@ int CountNewfiles(void)
|
||||
char ffile[PATH_MAX], group[13];
|
||||
int count, i;
|
||||
|
||||
sprintf(ffile, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "r")) == NULL) {
|
||||
if ((fil = fopen(ffile, "a+")) != NULL) {
|
||||
Syslog('+', "Created new %s", ffile);
|
||||
@ -65,17 +65,18 @@ int CountNewfiles(void)
|
||||
fwrite(&newfileshdr, sizeof(newfileshdr), 1, fil);
|
||||
memset(&newfiles, 0, sizeof(newfiles));
|
||||
|
||||
sprintf(newfiles.Comment, "General newfiles announce");
|
||||
sprintf(newfiles.Area, "%s/var/mail/local/users", getenv("MBSE_ROOT"));
|
||||
sprintf(newfiles.Origin, "%s", CFG.origin);
|
||||
sprintf(newfiles.From, "Sysop");
|
||||
sprintf(newfiles.Too, "All");
|
||||
sprintf(newfiles.Subject, "New files found");
|
||||
snprintf(newfiles.Comment, 56, "General newfiles announce");
|
||||
snprintf(newfiles.Area, 51, "%s/var/mail/local/users", getenv("MBSE_ROOT"));
|
||||
snprintf(newfiles.Origin, 51, "%s", CFG.origin);
|
||||
snprintf(newfiles.From, 36, "Sysop");
|
||||
snprintf(newfiles.Too, 36, "All");
|
||||
snprintf(newfiles.Subject, 61, "New files found");
|
||||
snprintf(newfiles.Template, 15, "newfiles");
|
||||
newfiles.Language = 'E';
|
||||
newfiles.Active = TRUE;
|
||||
newfiles.HiAscii = TRUE;
|
||||
fwrite(&newfiles, sizeof(newfiles), 1, fil);
|
||||
sprintf(group, "LOCAL");
|
||||
snprintf(group, 13, "LOCAL");
|
||||
fwrite(&group, 13, 1, fil);
|
||||
memset(&group, 0, sizeof(group));
|
||||
for (i = 1; i < CFG.new_groups; i++)
|
||||
@ -111,8 +112,8 @@ int OpenNewfiles(void)
|
||||
long oldgroup;
|
||||
char group[13];
|
||||
|
||||
sprintf(fnin, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fnout, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fnin, PATH_MAX, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fnout, PATH_MAX, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
if ((fin = fopen(fnin, "r")) != NULL) {
|
||||
if ((fout = fopen(fnout, "w")) != NULL) {
|
||||
fread(&newfileshdr, sizeof(newfileshdr), 1, fin);
|
||||
@ -146,7 +147,7 @@ int OpenNewfiles(void)
|
||||
memset(&newfiles, 0, sizeof(newfiles));
|
||||
while (fread(&newfiles, oldsize, 1, fin) == 1) {
|
||||
if (!strlen(newfiles.Template)) {
|
||||
sprintf(newfiles.Template, "newfiles");
|
||||
snprintf(newfiles.Template, 15, "newfiles");
|
||||
NewUpdated = 1;
|
||||
}
|
||||
fwrite(&newfiles, sizeof(newfiles), 1, fout);
|
||||
@ -187,8 +188,8 @@ void CloseNewfiles(int force)
|
||||
st_list *new = NULL, *tmp;
|
||||
int i;
|
||||
|
||||
sprintf(fin, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
sprintf(fout,"%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(fin, PATH_MAX, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
snprintf(fout, PATH_MAX, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
|
||||
if (NewUpdated == 1) {
|
||||
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
|
||||
@ -239,15 +240,15 @@ int AppendNewfiles(void)
|
||||
char ffile[PATH_MAX], group[13];
|
||||
int i;
|
||||
|
||||
sprintf(ffile, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(ffile, PATH_MAX, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(ffile, "a")) != NULL) {
|
||||
memset(&newfiles, 0, sizeof(newfiles));
|
||||
/*
|
||||
* Fill in default values
|
||||
*/
|
||||
sprintf(newfiles.From, "%s", CFG.sysop_name);
|
||||
snprintf(newfiles.From, 36, "%s", CFG.sysop_name);
|
||||
newfiles.Language = 'E';
|
||||
sprintf(newfiles.Template, "newfiles");
|
||||
snprintf(newfiles.Template, 15, "newfiles");
|
||||
strncpy(newfiles.Origin, CFG.origin, 50);
|
||||
fwrite(&newfiles, sizeof(newfiles), 1, fil);
|
||||
memset(&group, 0, 13);
|
||||
@ -302,7 +303,7 @@ int EditNewRec(int Area)
|
||||
working(1, 0, 0);
|
||||
IsDoing("Edit Newfiles");
|
||||
|
||||
sprintf(mfile, "%s/etc/ngroups.data", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/ngroups.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) != NULL) {
|
||||
fread(&ngrouphdr, sizeof(ngrouphdr), 1, fil);
|
||||
|
||||
@ -313,7 +314,7 @@ int EditNewRec(int Area)
|
||||
sort_grlist(&fgr);
|
||||
}
|
||||
|
||||
sprintf(mfile, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(mfile, PATH_MAX, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
tidy_grlist(&fgr);
|
||||
@ -353,7 +354,7 @@ int EditNewRec(int Area)
|
||||
show_str( 10,18,35, newfiles.From);
|
||||
show_str( 11,18,35, newfiles.Too);
|
||||
show_str( 12,18,60, newfiles.Subject);
|
||||
sprintf(temp1, "%c", newfiles.Language);
|
||||
snprintf(temp1, 2, "%c", newfiles.Language);
|
||||
show_str( 13,18,2, temp1);
|
||||
show_str( 14,18,14, newfiles.Template);
|
||||
show_str( 15,18,35, aka2str(newfiles.UseAka));
|
||||
@ -386,7 +387,7 @@ int EditNewRec(int Area)
|
||||
if (tmp->tagged) {
|
||||
i++;
|
||||
memset(&group, 0, 13);
|
||||
sprintf(group, "%s", tmp->group);
|
||||
snprintf(group, 13, "%s", tmp->group);
|
||||
fwrite(&group, 13, 1, fil);
|
||||
}
|
||||
|
||||
@ -462,7 +463,7 @@ void EditNewfiles(void)
|
||||
mbse_mvprintw( 5, 4, "12. NEWFILES REPORTS");
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
sprintf(temp, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/newfiles.temp", getenv("MBSE_ROOT"));
|
||||
working(1, 0, 0);
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&newfileshdr, sizeof(newfileshdr), 1, fil);
|
||||
@ -482,7 +483,7 @@ void EditNewfiles(void)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
sprintf(temp, "%3d. %-32s", o + i, newfiles.Comment);
|
||||
snprintf(temp, 81, "%3d. %-32s", o + i, newfiles.Comment);
|
||||
temp[37] = 0;
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
@ -543,7 +544,7 @@ int new_doc(FILE *fp, FILE *toc, int page)
|
||||
FILE *wp, *ip, *no;
|
||||
int groups, i, j, nr = 0;
|
||||
|
||||
sprintf(temp, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
snprintf(temp, PATH_MAX, "%s/etc/newfiles.data", getenv("MBSE_ROOT"));
|
||||
if ((no = fopen(temp, "r")) == NULL)
|
||||
return page;
|
||||
|
||||
@ -566,7 +567,7 @@ int new_doc(FILE *fp, FILE *toc, int page)
|
||||
j = 0;
|
||||
}
|
||||
nr++;
|
||||
sprintf(temp, "newfiles_%d.html", nr);
|
||||
snprintf(temp, 81, "newfiles_%d.html", nr);
|
||||
fprintf(ip, " <LI><A HREF=\"%s\">Report %d</A> %s</LI>\n", temp, nr, newfiles.Comment);
|
||||
if ((wp = open_webdoc(temp, (char *)"Newfiles report", newfiles.Comment))) {
|
||||
fprintf(wp, "<A HREF=\"index.html\">Main</A> <A HREF=\"newfiles.html\">Back</A>\n");
|
||||
@ -580,7 +581,7 @@ int new_doc(FILE *fp, FILE *toc, int page)
|
||||
add_webtable(wp, (char *)"From name", newfiles.From);
|
||||
add_webtable(wp, (char *)"To name", newfiles.Too);
|
||||
add_webtable(wp, (char *)"Subject", newfiles.Subject);
|
||||
sprintf(temp, "%c", newfiles.Language);
|
||||
snprintf(temp, 81, "%c", newfiles.Language);
|
||||
add_webtable(wp, (char *)"Language", temp);
|
||||
add_webtable(wp, (char *)"Aka to use", aka2str(newfiles.UseAka));
|
||||
add_webtable(wp, (char *)"Active", getboolean(newfiles.Active));
|
||||
|
Reference in New Issue
Block a user