summaryrefslogtreecommitdiff
path: root/source4/libnet
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-28 14:11:45 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-28 14:11:45 +0100
commit76d6c43ef28ef06d8b2e603da0fa8e5c6faf5fdd (patch)
tree69042d3212d9046f65fe3123fb0f1b6b46dbfd8b /source4/libnet
parent517bf7aa4f77ac0ef421f960f5610b185f6e598e (diff)
parentc3ce0a0b95b6051a356c72424c2d62b77a0e81df (diff)
downloadsamba-76d6c43ef28ef06d8b2e603da0fa8e5c6faf5fdd.tar.gz
samba-76d6c43ef28ef06d8b2e603da0fa8e5c6faf5fdd.tar.bz2
samba-76d6c43ef28ef06d8b2e603da0fa8e5c6faf5fdd.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit 84b677285250d9b9a1120fcfd6e4bbbb8f939fe8)
Diffstat (limited to 'source4/libnet')
-rw-r--r--source4/libnet/libnet_user.c2
-rw-r--r--source4/libnet/libnet_user.h8
2 files changed, 9 insertions, 1 deletions
diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c
index d5ccf34a57..678c7a226e 100644
--- a/source4/libnet/libnet_user.c
+++ b/source4/libnet/libnet_user.c
@@ -534,7 +534,7 @@ static NTSTATUS set_user_changes(TALLOC_CTX *mem_ctx, struct usermod_change *mod
SET_FIELD_NTTIME(r->in, user, mod, acct_expiry, USERMOD_FIELD_ACCT_EXPIRY);
/* account flags change */
- SET_FIELD_UINT32(r->in, user, mod, acct_flags, USERMOD_FIELD_ACCT_FLAGS);
+ SET_FIELD_ACCT_FLAGS(r->in, user, mod, acct_flags, USERMOD_FIELD_ACCT_FLAGS);
return NT_STATUS_OK;
}
diff --git a/source4/libnet/libnet_user.h b/source4/libnet/libnet_user.h
index ece06f08fc..94aa38464f 100644
--- a/source4/libnet/libnet_user.h
+++ b/source4/libnet/libnet_user.h
@@ -91,6 +91,14 @@ struct libnet_ModifyUser {
mod->fields |= flag; \
}
+#define SET_FIELD_ACCT_FLAGS(new, current, mod, field, flag) \
+ if (new.field) { \
+ if (current->field != new.field) { \
+ mod->field = new.field; \
+ mod->fields |= flag; \
+ } \
+ }
+
struct libnet_UserInfo {
struct {