I'm trying to make it so that the mud logs all the info to a file, instead
of to the screen.
The ported version for win95 just printed the log command to the screen.
Information :- using vc4.0 in win95. Compiles fine (no warnings). Credit
is also given to Christopher M. Ryan whose has helped me by suggesting
these changes which I added.
Thanks to those who can help.
What i've done is this.
in utils.c
------------
void log(char *str)
// Added the use of LOGGING stuff to a SYSLOG file.
{
time_t ct;
char *tmstr;
/*added here*/ FILE *log;
ct = time(0);
tmstr = asctime(localtime(&ct));
*(tmstr + strlen(tmstr) - 1) = '\0';
/*added here*/ fprintf(log, "%-19.19s :: %s\n", tmstr, str);
// fprintf(stderr, "%-19.19s :: %s\n", tmstr, str);
}
Then in comm.c
-----------------------
<snip>
extern FILE* log;
<snip>
int main(int argc, char **argv)
{
int port;
char buf[512];
int pos = 1;
char *dir;
port = DFLT_PORT;
dir = DFLT_DIR;
// Open the Log File to log all information.
/*Added this in .. This is where I get an error (the if statement (first
line)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/ if ( (log = fopen("circle.log","w")) == NULL) {
printf ("creating new log file\n");
}
else {
printf ("overwriting old file\n");
}
while ((pos < argc) && (*(argv[pos]) == '-')) {
switch (*(argv[pos] + 1)) {
case 'd':
<etc.etc>
/*now at the end of main */
<sinp snip>
} else {
sprintf(buf, "Running game on port %d.", port);
log(buf);
init_game(port);
}
return 0;
/ADDED THIS IN TO CLOSE THE FILE ALSO*/
// Must close the file when finished.
fclose(log);
}
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST