diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/sids.c | 3 | ||||
-rw-r--r-- | source3/lib/util_pwdb.c | 3 | ||||
-rw-r--r-- | source3/lib/util_str.c | 34 |
3 files changed, 37 insertions, 3 deletions
diff --git a/source3/lib/sids.c b/source3/lib/sids.c index 052c05cb01..c18734c705 100644 --- a/source3/lib/sids.c +++ b/source3/lib/sids.c @@ -139,7 +139,8 @@ BOOL get_member_domain_sid(void) } } - return get_domain_sids(NULL, &global_member_sid, lp_passwordserver()); + return get_domain_sids(global_myname, NULL, + &global_member_sid, lp_passwordserver()); } diff --git a/source3/lib/util_pwdb.c b/source3/lib/util_pwdb.c index f27cce8fba..d80ec5f689 100644 --- a/source3/lib/util_pwdb.c +++ b/source3/lib/util_pwdb.c @@ -634,7 +634,8 @@ BOOL pwdb_initialise(BOOL is_server) { srvs = lp_passwordserver(); } - if (!get_domain_sids(&global_member_sid, &global_sam_sid, srvs)) + if (!get_domain_sids(global_myname, &global_member_sid, + &global_sam_sid, srvs)) { return False; } diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index 43e3224df4..a25043df78 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -1066,6 +1066,38 @@ void all_string_sub(char *s,const char *pattern,const char *insert) /**************************************************************************** splits out the front and back at a separator. ****************************************************************************/ +void split_at_first_component(char *path, char *front, char sep, char *back) +{ + char *p = strchr(path, sep); + + if (p != NULL) + { + *p = 0; + } + if (front != NULL) + { + pstrcpy(front, path); + } + if (p != NULL) + { + if (back != NULL) + { + pstrcpy(back, p+1); + } + *p = sep; + } + else + { + if (back != NULL) + { + back[0] = 0; + } + } +} + +/**************************************************************************** + splits out the front and back at a separator. +****************************************************************************/ void split_at_last_component(char *path, char *front, char sep, char *back) { char *p = strrchr(path, sep); @@ -1084,7 +1116,7 @@ void split_at_last_component(char *path, char *front, char sep, char *back) { pstrcpy(back, p+1); } - *p = '\\'; + *p = sep; } else { |