2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* command.h: Remove fields log_stdout and log_syslog from struct host,
	  since they are just trying to duplicate information in the
	  zlog_default structure.  Note that this fixes a bug since those
	  fields were not registering any logging that was established
	  in the initial call to openzlog (this affects only the zebra and
	  ospf6d daemons).  It is probably a bug to turn on any logging by
	  default in the call to openzlog.
	* command.c: (config_write_host) Get logging info from zlog_default
	  instead of now-removed fields host.log_stdout and host.log_syslog.
	  (config_log_stdout,no_config_log_stdout) Do not set now-removed field
	  host.log_stdout, since this info is recorded in zlog_default.
	  (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
	  (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
	  Do not set now-removed field host.log_syslog, since this info is
	  recorded in zlog_default.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 84a578d..d334b04 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,23 @@
 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
+	* command.h: Remove fields log_stdout and log_syslog from struct host,
+	  since they are just trying to duplicate information in the
+	  zlog_default structure.  Note that this fixes a bug since those
+	  fields were not registering any logging that was established
+	  in the initial call to openzlog (this affects only the zebra and
+	  ospf6d daemons).  It is probably a bug to turn on any logging by
+	  default in the call to openzlog.
+	* command.c: (config_write_host) Get logging info from zlog_default
+	  instead of now-removed fields host.log_stdout and host.log_syslog.
+	  (config_log_stdout,no_config_log_stdout) Do not set now-removed field
+	  host.log_stdout, since this info is recorded in zlog_default.
+	  (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
+	  (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
+	  Do not set now-removed field host.log_syslog, since this info is
+	  recorded in zlog_default.
+
+2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
 	* version.h.in: Remove declaration for pid_output_lock, this function
 	  is now static, not global.
 	* pid_output.c: (pid_output_lock) This function should be static, not
diff --git a/lib/command.c b/lib/command.c
index 60b0124..99036d1 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -545,10 +545,10 @@
   if (host.logfile)
     vty_out (vty, "log file %s%s", host.logfile, VTY_NEWLINE);
 
-  if (host.log_stdout)
+  if (zlog_default->flags & ZLOG_STDOUT)
     vty_out (vty, "log stdout%s", VTY_NEWLINE);
 
-  if (host.log_syslog)
+  if (zlog_default->flags & ZLOG_SYSLOG)
     {
       vty_out (vty, "log syslog");
       if (zlog_default->facility != LOG_DAEMON)
@@ -2966,7 +2966,6 @@
        "Logging goes to stdout\n")
 {
   zlog_set_flag (NULL, ZLOG_STDOUT);
-  host.log_stdout = 1;
   return CMD_SUCCESS;
 }
 
@@ -2978,7 +2977,6 @@
        "Cancel logging to stdout\n")
 {
   zlog_reset_flag (NULL, ZLOG_STDOUT);
-  host.log_stdout = 0;
   return CMD_SUCCESS;
 }
 
@@ -3031,7 +3029,7 @@
   if (host.logfile)
     XFREE (MTYPE_TMP, host.logfile);
 
-  host.logfile = strdup (argv[0]);
+  host.logfile = XSTRDUP (MTYPE_TMP, argv[0]);
 
   return CMD_SUCCESS;
 }
@@ -3061,7 +3059,6 @@
        "Logging goes to syslog\n")
 {
   zlog_set_flag (NULL, ZLOG_SYSLOG);
-  host.log_syslog = 1;
   zlog_default->facility = LOG_DAEMON;
   return CMD_SUCCESS;
 }
@@ -3094,7 +3091,6 @@
   int facility = LOG_DAEMON;
 
   zlog_set_flag (NULL, ZLOG_SYSLOG);
-  host.log_syslog = 1;
 
   if (strncmp (argv[0], "kern", 1) == 0)
     facility = LOG_KERN;
@@ -3146,7 +3142,6 @@
        "Cancel logging to syslog\n")
 {
   zlog_reset_flag (NULL, ZLOG_SYSLOG);
-  host.log_syslog = 0;
   zlog_default->facility = LOG_DAEMON;
   return CMD_SUCCESS;
 }
diff --git a/lib/command.h b/lib/command.h
index ceb9c6f..52cfded 100644
--- a/lib/command.h
+++ b/lib/command.h
@@ -46,12 +46,6 @@
   /* Log filename. */
   char *logfile;
 
-  /* Log stdout. */
-  u_char log_stdout;
-
-  /* Log syslog. */
-  u_char log_syslog;
-  
   /* config file name of this host */
   char *config;