New function, pid_runpath(), figures out /var/run or /run prefix

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson
2018-01-13 21:42:13 +01:00
parent d87af8270e
commit 91b550662e
2 changed files with 23 additions and 0 deletions
+21
View File
@@ -92,6 +92,27 @@ char *pid_get_name(pid_t pid, char *name, size_t len)
return pname;
}
char *pid_runpath(char *file, char *path, size_t len)
{
static int unknown = 1;
static char *prefix = "/var/run";
if (unknown) {
if (fisdir("/run"))
prefix = "/run";
unknown = 0;
}
if (!strncmp(file, "/var/run/", 9))
file += 9;
else if (!strncmp(file, "/run/", 5))
file += 5;
snprintf(path, len, "%s/%s", prefix, file);
return path;
}
char *pid_file(svc_t *svc)
{
static char fn[MAX_ARG_LEN];
+2
View File
@@ -29,6 +29,8 @@ char *pid_file (svc_t *svc);
int pid_file_create (svc_t *svc);
int pid_file_parse (svc_t *svc, char *arg);
char *pid_runpath (char *file, char *path, size_t len);
/**
* Local Variables:
* indent-tabs-mode: t