Skip to content

Commit

Permalink
sysrpeo-plugind BUGFIX create plugins dir recursively
Browse files Browse the repository at this point in the history
Refs #1719
  • Loading branch information
michalvasko committed Dec 20, 2019
1 parent b7b3d4a commit 353faff
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion src/executables/sysrepo-plugind.c
Expand Up @@ -206,6 +206,34 @@ daemon_init(int debug, sr_log_level_t log_level)
sr_log_syslog("sysrepo-plugind", log_level);
}

/* from src/common.c */
int
sr_mkpath(const char *path, mode_t mode)
{
char *p, *dup;

dup = strdup(path);
for (p = strchr(dup + 1, '/'); p; p = strchr(p + 1, '/')) {
*p = '\0';
if (mkdir(dup, mode) == -1) {
if (errno != EEXIST) {
*p = '/';
return -1;
}
}
*p = '/';
}
free(dup);

if (mkdir(path, mode) == -1) {
if (errno != EEXIST) {
return -1;
}
}

return 0;
}

static int
load_plugins(struct srpd_plugin_s **plugins, int *plugin_count)
{
Expand All @@ -231,7 +259,7 @@ load_plugins(struct srpd_plugin_s **plugins, int *plugin_count)
error_print(0, "Checking plugins dir existence failed (%s).", strerror(errno));
return -1;
}
if (mkdir(plugins_dir, 00777) == -1) {
if (sr_mkpath(plugins_dir, 00777) == -1) {
error_print(0, "Creating plugins dir \"%s\" failed (%s).", plugins_dir, strerror(errno));
return -1;
}
Expand Down

0 comments on commit 353faff

Please sign in to comment.