Author: lmuelle Date: 2006-04-02 21:12:23 +0000 (Sun, 02 Apr 2006) New Revision: 14869
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14869 Log: Allow to dump a paramatrical option. Flaw: We print an empty line if the paramatrical option is not defined in the requested section. Modified: branches/SAMBA_3_0/source/param/loadparm.c trunk/source/param/loadparm.c Changeset: Modified: branches/SAMBA_3_0/source/param/loadparm.c =================================================================== --- branches/SAMBA_3_0/source/param/loadparm.c 2006-04-02 19:45:42 UTC (rev 14868) +++ branches/SAMBA_3_0/source/param/loadparm.c 2006-04-02 21:12:23 UTC (rev 14869) @@ -3880,13 +3880,31 @@ int i, result = False; parm_class p_class; unsigned flag = 0; + fstring local_parm_name; + char *parm_opt; + /* check for parametrical option */ + fstrcpy( local_parm_name, parm_name); + parm_opt = strchr( local_parm_name, ':'); + + if (parm_opt) { + *parm_opt = '\0'; + parm_opt++; + if (strlen(parm_opt)) { + printf( "%s\n", lp_parm_const_string( snum, + local_parm_name, parm_opt, "")); + result = True; + } + return result; + } + + /* check for a key and print the value */ if (isGlobal) { p_class = P_GLOBAL; flag = FLAG_GLOBAL; } else p_class = P_LOCAL; - + for (i = 0; parm_table[i].label; i++) { if (strwicmp(parm_table[i].label, parm_name) == 0 && (parm_table[i].p_class == p_class || parm_table[i].flags & flag) && Modified: trunk/source/param/loadparm.c =================================================================== --- trunk/source/param/loadparm.c 2006-04-02 19:45:42 UTC (rev 14868) +++ trunk/source/param/loadparm.c 2006-04-02 21:12:23 UTC (rev 14869) @@ -3880,13 +3880,31 @@ int i, result = False; parm_class p_class; unsigned flag = 0; + fstring local_parm_name; + char *parm_opt; + /* check for parametrical option */ + fstrcpy( local_parm_name, parm_name); + parm_opt = strchr( local_parm_name, ':'); + + if (parm_opt) { + *parm_opt = '\0'; + parm_opt++; + if (strlen(parm_opt)) { + printf( "%s\n", lp_parm_const_string( snum, + local_parm_name, parm_opt, "")); + result = True; + } + return result; + } + + /* check for a key and print the value */ if (isGlobal) { p_class = P_GLOBAL; flag = FLAG_GLOBAL; } else p_class = P_LOCAL; - + for (i = 0; parm_table[i].label; i++) { if (strwicmp(parm_table[i].label, parm_name) == 0 && (parm_table[i].p_class == p_class || parm_table[i].flags & flag) &&