diff options
| author | Garming Sam <garming@catalyst.net.nz> | 2014-02-24 12:31:43 +1300 |
|---|---|---|
| committer | Jeremy Allison <jra@samba.org> | 2014-05-07 19:49:16 +0200 |
| commit | ad09b3e608f498b4f7a05fa3fce0648c99a533ea (patch) | |
| tree | 6c0246af1e2e0d4c059fb1b774eee1504ecdac74 /lib | |
| parent | db19d744799d44ced56d33553194b603691f6822 (diff) | |
| download | samba-ad09b3e608f498b4f7a05fa3fce0648c99a533ea.tar.gz samba-ad09b3e608f498b4f7a05fa3fce0648c99a533ea.tar.xz samba-ad09b3e608f498b4f7a05fa3fce0648c99a533ea.zip | |
param: correctly use param_table.c as a regular C file
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/param/loadparm.c | 8 | ||||
| -rw-r--r-- | lib/param/loadparm.h | 4 | ||||
| -rw-r--r-- | lib/param/param_table.c | 16 | ||||
| -rw-r--r-- | lib/param/wscript_build | 2 |
4 files changed, 21 insertions, 9 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 811d802779..d503534eac 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -75,13 +75,7 @@ static bool defaults_saved = false; #include "lib/param/param_global.h" -#define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct)) - -#ifndef N_ -#define N_(x) x -#endif - -#include "lib/param/param_table.c" +#define NUMPARAMETERS (num_parameters()) struct loadparm_service *lpcfg_default_service(struct loadparm_context *lp_ctx) { diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h index 9be01ef7b9..4b3e68e2f6 100644 --- a/lib/param/loadparm.h +++ b/lib/param/loadparm.h @@ -84,6 +84,8 @@ struct parm_struct { } def; }; +extern struct parm_struct parm_table[]; + struct file_lists { struct file_lists *next; char *name; @@ -282,6 +284,8 @@ int getservicebyname(const char *, struct loadparm_service *); bool lp_include(struct loadparm_context *, int, const char *, char **); void init_printer_values(TALLOC_CTX *, struct loadparm_service *); +int num_parameters(void); + /** * Check if two parameters are equal. */ diff --git a/lib/param/param_table.c b/lib/param/param_table.c index 8df7d1b5fa..578b154e4b 100644 --- a/lib/param/param_table.c +++ b/lib/param/param_table.c @@ -27,6 +27,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "includes.h" +#include "lib/param/param.h" +#include "lib/param/loadparm.h" +#include "lib/param/param_global.h" +#include "libcli/smb/smb_constants.h" + +#ifndef N_ +#define N_(x) x +#endif + static const struct enum_list enum_protocol[] = { {PROTOCOL_SMB2_10, "SMB2"}, /* for now keep PROTOCOL_SMB2_10 */ {PROTOCOL_SMB3_00, "SMB3"}, /* for now keep PROTOCOL_SMB3_00 */ @@ -276,7 +286,7 @@ static const struct enum_list enum_case[] = { #define LOCAL_VAR(name) offsetof(struct loadparm_service, name) -static struct parm_struct parm_table[] = { +struct parm_struct parm_table[] = { {N_("Base Options"), P_SEP, P_SEPARATOR}, { @@ -4398,3 +4408,7 @@ static struct parm_struct parm_table[] = { {NULL, P_BOOL, P_NONE, 0, NULL, NULL, 0} }; +int num_parameters(void) +{ + return (sizeof(parm_table) / sizeof(struct parm_struct)); +} diff --git a/lib/param/wscript_build b/lib/param/wscript_build index 3c72a73dff..69746bc83e 100644 --- a/lib/param/wscript_build +++ b/lib/param/wscript_build @@ -30,7 +30,7 @@ bld.SAMBA_LIBRARY('server-role', private_library=True) bld.SAMBA_LIBRARY('samba-hostconfig', - source='loadparm.c generic.c util.c', + source='loadparm.c generic.c util.c param_table.c', pc_files='samba-hostconfig.pc', vnum='0.0.1', deps='DYNCONFIG server-role tdb', |
