diff options
-rw-r--r-- | source4/param/loadparm.c | 27 |
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. ********************************************************************/ |