From: Andrew Bartlett Date: Fri, 26 Nov 2010 21:17:09 +0000 (+1100) Subject: s3-param Fix lp_set_cmdline() to set the flag on alias values too X-Git-Url: http://git.samba.org/samba.git/?p=kai%2Fsamba.git;a=commitdiff_plain;h=1e96da556acc021ed296551f137d5600e2c1a58c s3-param Fix lp_set_cmdline() to set the flag on alias values too Otherwise, -d10 would be overridden by 'debug level = 1', because debug level is an alias of 'log level' which -d was setting. Andrew Bartlett Autobuild-User: Andrew Bartlett Autobuild-Date: Sat Nov 27 01:02:40 CET 2010 on sn-devel-104 --- diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 31402cc0a24..0bc27dca033 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -7891,7 +7891,7 @@ FLAG_CMDLINE won't be overridden by loads from smb.conf. static bool lp_set_cmdline_helper(const char *pszParmName, const char *pszParmValue, bool store_values) { - int parmnum; + int parmnum, i; parmnum = map_parameter(pszParmName); if (parmnum >= 0) { parm_table[parmnum].flags &= ~FLAG_CMDLINE; @@ -7900,6 +7900,16 @@ static bool lp_set_cmdline_helper(const char *pszParmName, const char *pszParmVa } parm_table[parmnum].flags |= FLAG_CMDLINE; + /* we have to also set FLAG_CMDLINE on aliases. Aliases must + * be grouped in the table, so we don't have to search the + * whole table */ + for (i=parmnum-1;i>=0 && parm_table[i].ptr == parm_table[parmnum].ptr;i--) { + parm_table[i].flags |= FLAG_CMDLINE; + } + for (i=parmnum+1;i