diff --git a/src/lib66/parse/parse_module.c b/src/lib66/parse/parse_module.c index 992b6ef52d9986c994041c9d94de18091071d0dd..a2c82b257ded08f0fb2c847781ed6f622c4e8ed8 100644 --- a/src/lib66/parse/parse_module.c +++ b/src/lib66/parse/parse_module.c @@ -118,28 +118,6 @@ static void parse_module_check_name(char const *src, char const *name) log_die(LOG_EXIT_USER, "invalid directory name for module: ", name, " -- directory name must start with a '@' character") ; } -static int parse_module_ownerhome(char *store) -{ - log_flow() ; - - char const *user_home = 0 ; - int e = errno ; - struct passwd *st = getpwuid(getuid()) ; - errno = 0 ; - if (!st) { - if (!errno) errno = ESRCH ; - return 0 ; - } - user_home = st->pw_dir ; - errno = e ; - if (!user_home) - return 0 ; - - auto_strings(store, user_home, "/") ; - - return 1 ; -} - /* 0 filename undefine * -1 system error * should return at least 2 meaning :: no file define*/ @@ -292,6 +270,7 @@ static void regex_replace(stralloc *list, resolve_service_t *res) } } + stralloc_free(&frontend) ; stralloc_free(&sa) ; } @@ -507,7 +486,7 @@ void parse_module(resolve_service_t *res, resolve_service_t *ares, unsigned int } else { - if (!parse_module_ownerhome(path)) + if (!set_ownerhome_stack(path)) log_dieusys(LOG_EXIT_SYS, "unable to find the home directory of the user") ; pathlen = strlen(path) ;