summaryrefslogtreecommitdiffstats
path: root/lib/param/loadparm.c
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2014-02-21 17:59:41 +1300
committerJeremy Allison <jra@samba.org>2014-05-07 19:49:16 +0200
commitdce3bcd00ff0e63548b9d2849238d0ba68137481 (patch)
tree5ed0b91c501a087053f8eb38d2d1ddc10eacbb32 /lib/param/loadparm.c
parent74e0a37fd34791099a32591ab607e9444fd441fe (diff)
downloadsamba-dce3bcd00ff0e63548b9d2849238d0ba68137481.tar.gz
samba-dce3bcd00ff0e63548b9d2849238d0ba68137481.tar.xz
samba-dce3bcd00ff0e63548b9d2849238d0ba68137481.zip
param: move handle printing into lib/param
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/param/loadparm.c')
-rw-r--r--lib/param/loadparm.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 2b8ea237a06..5b89a4f1dba 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -81,7 +81,6 @@ static bool defaults_saved = false;
* non-source3 code
*/
#define handle_netbios_aliases NULL
-#define handle_printing NULL
#define handle_ldap_debug_level NULL
#define handle_idmap_backend NULL
#define handle_idmap_uid NULL
@@ -1262,6 +1261,34 @@ bool handle_dos_charset(struct loadparm_context *lp_ctx, int snum,
return lpcfg_string_set(lp_ctx, ptr, pszParmValue);
}
+bool handle_printing(struct loadparm_context *lp_ctx, int snum,
+ const char *pszParmValue, char **ptr)
+{
+ static int parm_num = -1;
+ struct loadparm_service *s;
+
+ if (parm_num == -1) {
+ parm_num = lpcfg_map_parameter("printing");
+ }
+
+ if (!lp_set_enum_parm(&parm_table[parm_num], pszParmValue, (int*)ptr)) {
+ return false;
+ }
+
+ if (lp_ctx->s3_fns) {
+ if ( snum < 0 ) {
+ s = lp_ctx->sDefault;
+ lp_ctx->s3_fns->init_printer_values(lp_ctx->globals->ctx, s);
+ } else {
+ s = lp_ctx->services[snum];
+ lp_ctx->s3_fns->init_printer_values(s, s);
+ }
+ }
+
+ return true;
+}
+
+
/***************************************************************************
Initialise a copymap.
***************************************************************************/