Author: abartlet Date: 2006-01-06 02:50:46 +0000 (Fri, 06 Jan 2006) New Revision: 12731
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12731 Log: Simplify and re-implemenet support for --parameter-name=foo --service-name=bar in testparm. Andrew Bartlett Modified: branches/SAMBA_4_0/source/param/loadparm.c branches/SAMBA_4_0/source/utils/testparm.c Changeset: Modified: branches/SAMBA_4_0/source/param/loadparm.c =================================================================== --- branches/SAMBA_4_0/source/param/loadparm.c 2006-01-06 02:28:36 UTC (rev 12730) +++ branches/SAMBA_4_0/source/param/loadparm.c 2006-01-06 02:50:46 UTC (rev 12731) @@ -2231,40 +2231,31 @@ BOOL lp_dump_a_parameter(int snum, char *parm_name, FILE * f, BOOL isGlobal) { service * pService = ServicePtrs[snum]; - int i, result = False; parm_class p_class; unsigned flag = 0; - + struct parm_struct *parm; + void *ptr; 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].class == p_class || parm_table[i].flags & flag) && - parm_table[i].ptr && - (*parm_table[i].label != '-') && - (i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr))) - { - void *ptr; - - if (isGlobal) - ptr = parm_table[i].ptr; - else - ptr = ((char *)pService) + - PTR_DIFF(parm_table[i].ptr, &sDefault); - - print_parameter(&parm_table[i], - ptr, f); - fprintf(f, "\n"); - result = True; - break; - } + parm = lp_parm_struct(parm_name); + if (!parm) { + return False; } - - return result; + + if (isGlobal) + ptr = parm->ptr; + else + ptr = ((char *)pService) + + PTR_DIFF(parm->ptr, &sDefault); + + print_parameter(parm, + ptr, f); + fprintf(f, "\n"); + return True; } /*************************************************************************** Modified: branches/SAMBA_4_0/source/utils/testparm.c =================================================================== --- branches/SAMBA_4_0/source/utils/testparm.c 2006-01-06 02:28:36 UTC (rev 12730) +++ branches/SAMBA_4_0/source/utils/testparm.c 2006-01-06 02:50:46 UTC (rev 12731) @@ -215,7 +215,7 @@ lp_dump_one(stdout, show_defaults, s); } } else { - ret = lp_dump_a_parameter(s, parameter_name, stdout, isGlobal); + ret = !lp_dump_a_parameter(s, parameter_name, stdout, isGlobal); } } else { lp_dump(stdout, show_defaults, lp_numservices());