Added message splitting for areamgr/filemgr mails

This commit is contained in:
Michiel Broek
2002-03-02 23:07:30 +00:00
parent 4f5c7d9201
commit 42b41acfa6
4 changed files with 106 additions and 5 deletions

View File

@@ -142,12 +142,18 @@ void A_Query(faddr *t, char *replyid)
char Stat[5];
faddr *f, *g;
sysconnect System;
long msgptr;
Syslog('+', "AreaMgr: Query");
f = bestaka_s(t);
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"Your query request", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
if ((mp = fopen(temp, "r")) == NULL) {
@@ -222,6 +228,15 @@ void A_Query(faddr *t, char *replyid)
fprintf(qp, "----------------------------------------------------------------------------\r");
fprintf(qp, "%d connected area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"Your query request", replyid);
msgptr = ftell(qp);
}
}
}
}
@@ -253,6 +268,7 @@ void A_List(faddr *t, char *replyid, int Notify)
char Stat[5];
faddr *f, *g;
sysconnect System;
long msgptr;
if (Notify)
Syslog('+', "AreaMgr: Notify to %s", ascfnode(t, 0xff));
@@ -262,6 +278,11 @@ void A_List(faddr *t, char *replyid, int Notify)
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"AreaMgr List", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
WriteMailGroups(qp, f);
temp = calloc(PATH_MAX, sizeof(char));
@@ -335,6 +356,15 @@ void A_List(faddr *t, char *replyid, int Notify)
fprintf(qp, "----------------------------------------------------------------------------\r");
fprintf(qp, "%d available area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"AreaMgr List", replyid);
msgptr = ftell(qp);
}
}
}
}
@@ -370,6 +400,7 @@ void A_Flow(faddr *t, char *replyid, int Notify)
struct tm *tt;
int lmonth;
long lw, lm;
long msgptr;
Now = time(NULL);
tt = localtime(&Now);
@@ -387,6 +418,11 @@ void A_Flow(faddr *t, char *replyid, int Notify)
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"AreaMgr Flow report", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT"));
if ((mp = fopen(temp, "r")) == NULL) {
@@ -455,6 +491,15 @@ void A_Flow(faddr *t, char *replyid, int Notify)
fprintf(qp, "---------------------------------------------------------------------------\r");
fprintf(qp, "Total %58lu %10lu\r\r\r", lw, lm);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"AreaMgr Flow report", replyid);
msgptr = ftell(qp);
}
}
}
}
@@ -525,12 +570,18 @@ void A_Unlinked(faddr *t, char *replyid)
char Stat[5];
faddr *f, *g;
sysconnect System;
long msgptr;
Syslog('+', "AreaMgr: Unlinked");
f = bestaka_s(t);
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"Your unlinked request", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
WriteMailGroups(qp, f);
temp = calloc(PATH_MAX, sizeof(char));
@@ -609,6 +660,15 @@ void A_Unlinked(faddr *t, char *replyid)
fprintf(qp, "----------------------------------------------------------------------------\r");
fprintf(qp, "%d available area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Areamgr", (char *)"Your unlinked request", replyid);
msgptr = ftell(qp);
}
}
}
}

View File

@@ -141,6 +141,7 @@ void F_Query(faddr *t, char *replyid)
char Stat[4];
faddr *f, *g;
sysconnect System;
long msgptr;
Syslog('+', "FileMgr: Query");
f = bestaka_s(t);
@@ -148,6 +149,11 @@ void F_Query(faddr *t, char *replyid)
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"Your query request", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((fp = fopen(temp, "r")) == NULL) {
@@ -222,6 +228,15 @@ void F_Query(faddr *t, char *replyid)
fprintf(qp, "------------------------------------------------------------------------\r");
fprintf(qp, "%d available area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"Your query request", replyid);
msgptr = ftell(qp);
}
}
}
}
@@ -251,6 +266,7 @@ void F_List(faddr *t, char *replyid, int Notify)
char Stat[4];
faddr *f, *g;
sysconnect System;
long msgptr;
if (Notify)
Syslog('+', "FileMgr: Notify to %s", ascfnode(t, 0xff));
@@ -260,6 +276,10 @@ void F_List(faddr *t, char *replyid, int Notify)
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"FileMgr List", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
WriteFileGroups(qp, f);
temp = calloc(PATH_MAX, sizeof(char));
@@ -331,6 +351,15 @@ void F_List(faddr *t, char *replyid, int Notify)
fprintf(qp, "------------------------------------------------------------------------\r");
fprintf(qp, "%d available area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"FileMgr List", replyid);
msgptr = ftell(qp);
}
}
}
}
@@ -414,12 +443,17 @@ void F_Unlinked(faddr *t, char *replyid)
char Stat[4];
faddr *f, *g;
sysconnect System;
long msgptr;
Syslog('+', "FileMgr: Unlinked");
f = bestaka_s(t);
if ((qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"Your unlinked request", replyid)) != NULL) {
/*
* Mark begin of message in .pkt
*/
msgptr = ftell(qp);
temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((fp = fopen(temp, "r")) == NULL) {
@@ -492,6 +526,15 @@ void F_Unlinked(faddr *t, char *replyid)
fprintf(qp, "------------------------------------------------------------------------\r");
fprintf(qp, "%d available area(s)\r\r\r", SubTot);
if (((ftell(qp) - msgptr) / 1024) >= CFG.new_split) {
fprintf(qp, "To be continued....\r\r");
Syslog('-', " Splitting message at %ld bytes", ftell(qp) - msgptr);
CloseMail(qp, t);
net_out++;
qp = SendMgrMail(t, CFG.ct_KeepMgr, FALSE, (char *)"Filemgr", (char *)"Your unlinked request", replyid);
msgptr = ftell(qp);
}
}
}
}