diff options
author | Gerald Carter <jerry@samba.org> | 2003-08-25 17:55:33 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-08-25 17:55:33 +0000 |
commit | 79efe7d72ba503b58c8ad3b9b1c711f5ebb33521 (patch) | |
tree | ee1153b562182b062c17c2c765110fa0bfb09b6e | |
parent | 017133ea0c3eb0579710727379585df2b585614d (diff) | |
download | samba-79efe7d72ba503b58c8ad3b9b1c711f5ebb33521.tar.gz samba-79efe7d72ba503b58c8ad3b9b1c711f5ebb33521.tar.xz samba-79efe7d72ba503b58c8ad3b9b1c711f5ebb33521.zip |
fix bug #39; save the -W value and restore it after lp_load()
-rw-r--r-- | source/client/client.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/source/client/client.c b/source/client/client.c index 949933b890b..67931b00b4d 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -2779,6 +2779,7 @@ static void remember_query_host(const char *arg, poptContext pc; char *p; int rc = 0; + fstring new_workgroup; struct poptOption long_options[] = { POPT_AUTOHELP @@ -2809,6 +2810,11 @@ static void remember_query_host(const char *arg, *query_host = 0; *base_directory = 0; + + /* initialize the workgroup name so we can determine whether or + not it was set by a command line option */ + + set_global_myworkgroup( "" ); /* set default debug level to 0 regardless of what smb.conf sets */ DEBUGLEVEL_CLASS[DBGC_ALL] = 0; @@ -2891,13 +2897,24 @@ static void remember_query_host(const char *arg, * set by cmdline arg or remain default (0) */ AllowDebugChange = False; - + + /* save the workgroup... + + FIXME!! do we need to do tyhis for other options as well + (or maybe a generic way to keep lp_load() from overwriting + everything)? */ + + fstrcpy( new_workgroup, lp_workgroup() ); + if (!lp_load(dyn_CONFIGFILE,True,False,False)) { fprintf(stderr, "%s: Can't load %s - run testparm to debug it\n", argv[0], dyn_CONFIGFILE); } load_interfaces(); + + if ( strlen(new_workgroup) != 0 ) + set_global_myworkgroup( new_workgroup ); if(poptPeekArg(pc)) { pstrcpy(service,poptGetArg(pc)); |