summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/client/client.c8
-rw-r--r--source3/lib/debug.c7
-rw-r--r--source3/lib/popt_common.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 214b787297..1da35fcc43 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -2853,6 +2853,7 @@ static int do_message_op(void)
int main(int argc,char *argv[])
{
extern BOOL AllowDebugChange;
+ extern BOOL override_logfile;
pstring base_directory;
int opt;
pstring query_host;
@@ -2989,11 +2990,14 @@ static int do_message_op(void)
/* save the workgroup...
- FIXME!! do we need to do tyhis for other options as well
+ FIXME!! do we need to do this for other options as well
(or maybe a generic way to keep lp_load() from overwriting
everything)? */
- fstrcpy( new_workgroup, lp_workgroup() );
+ fstrcpy( new_workgroup, lp_workgroup() );
+
+ if ( override_logfile )
+ setup_logging( lp_logfile(), False );
if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
fprintf(stderr, "%s: Can't load %s - run testparm to debug it\n",
diff --git a/source3/lib/debug.c b/source3/lib/debug.c
index 0050761e9a..1a926053bb 100644
--- a/source3/lib/debug.c
+++ b/source3/lib/debug.c
@@ -84,6 +84,13 @@ BOOL debug_warn_unknown_class = True;
BOOL debug_auto_add_unknown_class = True;
BOOL AllowDebugChange = True;
+/*
+ used to check if the user specified a
+ logfile on the command line
+*/
+BOOL override_logfile;
+
+
/*
* This is to allow assignment to DEBUGLEVEL before the debug
* system has been initialised.
diff --git a/source3/lib/popt_common.c b/source3/lib/popt_common.c
index 9a5a112022..6c35213d43 100644
--- a/source3/lib/popt_common.c
+++ b/source3/lib/popt_common.c
@@ -35,6 +35,7 @@
extern pstring user_socket_options;
extern BOOL AllowDebugChange;
+extern BOOL override_logfile;
struct user_auth_info cmdline_auth_info;
@@ -95,6 +96,7 @@ static void popt_common_callback(poptContext con,
if (arg) {
pstr_sprintf(logfile, "%s/log.%s", arg, pname);
lp_set_logfile(logfile);
+ override_logfile = True;
}
break;