minor changes

This commit is contained in:
cvs
2000-05-24 15:11:09 +00:00
parent 9053ae4e2d
commit 1a56fbc568
14 changed files with 643 additions and 212 deletions

View File

@@ -43,7 +43,7 @@ void logfileOpen(int first) {
if (logfileStd) {
fil=stdout;
return;
str_copy(filnam, "<stdout>");
}
assert(fil==NULL);
if (first) {
@@ -83,13 +83,14 @@ void logfileStatusBuffer(char *buffer, int bufsize) {
statusSize=bufsize-1;
}
void logfileInit(char *path, int nodate, int use_stdout, int write_all) {
char *logfileInit(char *path, int nodate, int use_stdout, int write_all) {
str_copy(lnam, path);
lastStamp=-1;
lastStamp=-2;
logfileStd=use_stdout;
writeAll=write_all;
notDated=nodate;
logfileOpen(1);
return(filnam);
}
void logfileOut(int mask, const char *fmt, ...)
@@ -144,7 +145,7 @@ void logfileMask(int mask) {
logMask=logMask | mask;
}
void logfileStamp(void) {
void logfileStamp(char *text) {
struct tm *tim;
struct timeb btim;
int stamp;
@@ -152,16 +153,17 @@ void logfileStamp(void) {
ftime(&btim);
tim=localtime(&btim.time);
stamp=tim->tm_hour*60+tim->tm_min;
if (stamp!=lastStamp) {
if (stamp<lastStamp) { /* time smaller than last time -> new day -> new logfile */
if (fil!=NULL) { fclose(fil); fil=NULL; }
logfileOpen(1);
}
if (stamp<lastStamp) { /* time smaller than last time -> new day -> new logfile */
if (fil!=NULL) { fclose(fil); fil=NULL; }
logfileOpen(1);
lastStamp=-2;
}
if (stamp>lastStamp+1) {
#ifdef __VMS
else if (fil==NULL) logfileOpen(0);
if (fil==NULL) logfileOpen(0);
#endif
lastStamp=stamp;
fprintf(fil, "--- %02d:%02d:%02d ---\n", tim->tm_hour, tim->tm_min, tim->tm_sec);
fprintf(fil, "%02d:%02d:%02d --- %s", tim->tm_hour, tim->tm_min, tim->tm_sec, text);
dirty=0;
}
}
@@ -170,18 +172,23 @@ void logfileWrite0(int mask) {
char *s, *next;
logMask=logMask | mask;
if (dirty) logfileStamp(); /* there was something written since last time */
if (dirty) logfileStamp("\n"); /* there was something written since last time */
s=ebuf;
if (writeAll || *s!='\0' && wrtMask & logMask) {
logfileStamp(); /* write stamp before write something */
next=strchr(s, '\1');
while (next!=NULL) {
*next='\0';
next++;
if (*next & logMask) {
fprintf(fil, "%s", s);
dirty=1;
if (*s=='@') { /* write out time */
lastStamp=-2;
logfileStamp(s+1);
} else {
logfileStamp("\n"); /* write stamp before write something */
fprintf(fil, "%s", s);
dirty=1;
}
}
s=next+1;
next=strchr(s, '\1');
@@ -213,7 +220,7 @@ void logfileShowErr(char *text)
if (fil==NULL) logfileOpen(0);
#endif
logfileWrite0(LOG_ALL); /* write all */
ErrWrite(text);
ErrShow(text);
#ifdef __VMS
if (!logfileStd) { fclose(fil); fil=NULL; }
#else
@@ -227,8 +234,8 @@ void logfileClose()
if (fil==NULL) logfileOpen(0);
#endif
logfileWrite0(LOG_MAIN+LOG_INFO);
lastStamp-=1;
logfileStamp();
lastStamp=-2;
logfileStamp("\n");
if (fil!=NULL) { fclose(fil); fil=NULL; }
filnam[0]='\0';
}