From 747d4a8f044adeb43dd251e2e6a44641c838785b Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 15 Apr 2008 16:06:57 +0200 Subject: libsmbconf: make sure to always list the NULL section first in text backend. Michael (This used to be commit b50fdf321dc8056caa2b057cbd7f83792dfbcd4d) --- source3/lib/smbconf/smbconf_txt_simple.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'source3/lib/smbconf') diff --git a/source3/lib/smbconf/smbconf_txt_simple.c b/source3/lib/smbconf/smbconf_txt_simple.c index bd7693047c..d2dc24a117 100644 --- a/source3/lib/smbconf/smbconf_txt_simple.c +++ b/source3/lib/smbconf/smbconf_txt_simple.c @@ -307,10 +307,21 @@ static WERROR smbconf_txt_get_share_names(struct smbconf_ctx *ctx, goto done; } - /* make sure "global" is always listed first */ + /* make sure "global" is always listed first, + * possibly after NULL section */ + + if (smbconf_share_exists(ctx, NULL)) { + werr = smbconf_add_string_to_array(tmp_ctx, &tmp_share_names, + 0, NULL); + if (!W_ERROR_IS_OK(werr)) { + goto done; + } + added_count++; + } + if (smbconf_share_exists(ctx, GLOBAL_NAME)) { werr = smbconf_add_string_to_array(tmp_ctx, &tmp_share_names, - 0, GLOBAL_NAME); + added_count, GLOBAL_NAME); if (!W_ERROR_IS_OK(werr)) { goto done; } @@ -318,7 +329,9 @@ static WERROR smbconf_txt_get_share_names(struct smbconf_ctx *ctx, } for (count = 0; count < pd(ctx)->cache->num_shares; count++) { - if (strequal(pd(ctx)->cache->share_names[count], GLOBAL_NAME)) { + if (strequal(pd(ctx)->cache->share_names[count], GLOBAL_NAME) || + (pd(ctx)->cache->share_names[count] == NULL)) + { continue; } -- cgit