summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/param/loadparm.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index 6c3dee239b..2dbf7cd60a 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -2540,25 +2540,9 @@ struct loadparm_service *lp_servicebynum(int snum)
struct loadparm_service *lp_service(const char *service_name)
{
- int snum = lp_servicenumber(service_name);
- if (snum < 0)
- return NULL;
- return loadparm.ServicePtrs[snum];
-}
-
-/***************************************************************************
-Return the number of the service with the given name, or -1 if it doesn't
-exist. Note that this is a DIFFERENT ANIMAL from the internal function
-getservicebyname()! This works ONLY if all services have been loaded, and
-does not copy the found service.
-***************************************************************************/
-
-int lp_servicenumber(const char *pszServiceName)
-{
int iService;
char *serviceName;
-
for (iService = loadparm.iNumServices - 1; iService >= 0; iService--) {
if (loadparm.ServicePtrs[iService] &&
loadparm.ServicePtrs[iService]->szService) {
@@ -2568,17 +2552,16 @@ int lp_servicenumber(const char *pszServiceName)
*/
serviceName = standard_sub_basic(loadparm.ServicePtrs[iService],
loadparm.ServicePtrs[iService]->szService);
- if (strequal(serviceName, pszServiceName))
- break;
+ if (strequal(serviceName, service_name))
+ return loadparm.ServicePtrs[iService];
}
}
- if (iService < 0)
- DEBUG(7,("lp_servicenumber: couldn't find %s\n", pszServiceName));
-
- return iService;
+ DEBUG(7,("lp_servicenumber: couldn't find %s\n", service_name));
+ return NULL;
}
+
/*******************************************************************
A useful volume label function.
********************************************************************/