diff options
author | Gerald Carter <jerry@samba.org> | 2004-10-25 19:25:54 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2004-10-25 19:25:54 +0000 |
commit | 317ab676bf28d3922dc0fba02e908a766035872f (patch) | |
tree | d9ea00a371f92740e58b95991b4b56723454304d /source/lib/substitute.c | |
parent | 943c0aaaeb5a24a9501a164e9a765384e8e8a2ff (diff) | |
download | samba-317ab676bf28d3922dc0fba02e908a766035872f.tar.gz |
r3220: merging current 3.0 code to release branch
Diffstat (limited to 'source/lib/substitute.c')
-rw-r--r-- | source/lib/substitute.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/lib/substitute.c b/source/lib/substitute.c index 44e791b7907..92eff625f39 100644 --- a/source/lib/substitute.c +++ b/source/lib/substitute.c @@ -446,7 +446,8 @@ static void standard_sub_advanced(int snum, const char *user, string_sub(p,"%P", connectpath, l); break; case 'S': - string_sub(p,"%S", lp_servicename(snum), l); + if ( snum != -1 ) + string_sub(p,"%S", lp_servicename(snum), l); break; case 'g': string_sub(p,"%g", gidtoname(gid), l); @@ -463,7 +464,8 @@ static void standard_sub_advanced(int snum, const char *user, * "path =" string in [homes] and so needs the * service name, not the username. */ case 'p': - string_sub(p,"%p", automount_path(lp_servicename(snum)), l); + if ( snum != -1 ) + string_sub(p,"%p", automount_path(lp_servicename(snum)), l); break; case '\0': p++; @@ -797,6 +799,6 @@ void standard_sub_snum(int snum, char *str, size_t len) cached_uid = current_user.uid; } - standard_sub_advanced(snum, cached_user, "", -1, + standard_sub_advanced(snum, cached_user, "", current_user.gid, smb_user_name, str, len); } |