diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-09-19 04:11:23 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-09-19 04:11:23 +0000 |
commit | 0deae6c407faa86ea871a219ad52fdd285166274 (patch) | |
tree | 7607b0e7d97ab0643f376c1c16474e19c21d8a9a /source/smbd/service.c | |
parent | 0e75c0fc1aa742fb0c29716c99a81cf5b33ef6e6 (diff) | |
download | samba-0deae6c407faa86ea871a219ad52fdd285166274.tar.gz samba-0deae6c407faa86ea871a219ad52fdd285166274.tar.xz samba-0deae6c407faa86ea871a219ad52fdd285166274.zip |
got rid of bogus write list substitution error messages
Diffstat (limited to 'source/smbd/service.c')
-rw-r--r-- | source/smbd/service.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/source/smbd/service.c b/source/smbd/service.c index 4765844460f..beb2d76b44c 100644 --- a/source/smbd/service.c +++ b/source/smbd/service.c @@ -259,27 +259,30 @@ static NTSTATUS share_sanity_checks(int snum, char* service, char *dev) ****************************************************************************/ static void set_read_only(connection_struct *conn) { + char **list; char *service = lp_servicename(conn->service); conn->read_only = lp_readonly(conn->service); - { - char **list; + if (!service) return; - lp_list_copy(&list, lp_readlist(conn->service)); - if(list && lp_list_substitute(list, "%S", service)) { - if (user_in_list(conn->user, list)) - conn->read_only = True; + lp_list_copy(&list, lp_readlist(conn->service)); + if (list) { + if (!lp_list_substitute(list, "%S", service)) { + DEBUG(0, ("ERROR: read list substitution failed\n")); } - else DEBUG(0, ("ERROR: read list substitution failed\n")); - if (list) lp_list_free(&list); - - lp_list_copy(&list, lp_writelist(conn->service)); - if(list && lp_list_substitute(list, "%S", service)) { - if (user_in_list(conn->user, list)) - conn->read_only = False; + if (user_in_list(conn->user, list)) + conn->read_only = True; + lp_list_free(&list); + } + + lp_list_copy(&list, lp_writelist(conn->service)); + if (list) { + if (!lp_list_substitute(list, "%S", service)) { + DEBUG(0, ("ERROR: write list substitution failed\n")); } - else DEBUG(0, ("ERROR: write list substitution failed\n")); - if (list) lp_list_free(&list); + if (user_in_list(conn->user, list)) + conn->read_only = False; + lp_list_free(&list); } } |