Rename proc_getent to rc_proc_getent and make it global
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
|
||||
#include "librc.h"
|
||||
#include "einfo.h"
|
||||
|
||||
bool
|
||||
rc_yesno(const char *value)
|
||||
@@ -127,6 +128,53 @@ rc_getline(char **line, size_t *len, FILE *fp)
|
||||
}
|
||||
librc_hidden_def(rc_getline)
|
||||
|
||||
#ifdef __linux__
|
||||
char *
|
||||
rc_proc_getent(const char *ent)
|
||||
{
|
||||
FILE *fp;
|
||||
char *proc, *p, *value = NULL;
|
||||
size_t i, len;
|
||||
|
||||
if (!exists("/proc/cmdline"))
|
||||
return NULL;
|
||||
|
||||
if (!(fp = fopen("/proc/cmdline", "r"))) {
|
||||
eerror("failed to open `/proc/cmdline': %s", strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
proc = NULL;
|
||||
i = 0;
|
||||
if (rc_getline(&proc, &i, fp) == -1 || proc == NULL)
|
||||
eerror("rc_getline: %s", strerror(errno));
|
||||
|
||||
if (proc != NULL) {
|
||||
len = strlen(ent);
|
||||
|
||||
while ((p = strsep(&proc, " "))) {
|
||||
if (strncmp(ent, p, len) == 0 && (p[len] == '\0' || p[len] == ' ' || p[len] == '=')) {
|
||||
p += len;
|
||||
|
||||
if (*p == '=')
|
||||
p++;
|
||||
|
||||
value = xstrdup(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!value)
|
||||
errno = ENOENT;
|
||||
|
||||
fclose(fp);
|
||||
free(proc);
|
||||
|
||||
return value;
|
||||
}
|
||||
librc_hidden_def(rc_proc_getent)
|
||||
#endif
|
||||
|
||||
RC_STRINGLIST *
|
||||
rc_config_list(const char *file)
|
||||
{
|
||||
|
||||
@@ -87,6 +87,7 @@ librc_hidden_proto(rc_find_pids)
|
||||
librc_hidden_proto(rc_getfile)
|
||||
librc_hidden_proto(rc_getline)
|
||||
librc_hidden_proto(rc_newer_than)
|
||||
librc_hidden_proto(rc_proc_getent)
|
||||
librc_hidden_proto(rc_older_than)
|
||||
librc_hidden_proto(rc_runlevel_exists)
|
||||
librc_hidden_proto(rc_runlevel_get)
|
||||
|
||||
@@ -361,6 +361,13 @@ bool rc_newer_than(const char *, const char *, time_t *, char *);
|
||||
* @return true if source is older than target, otherwise false */
|
||||
bool rc_older_than(const char *, const char *, time_t *, char *);
|
||||
|
||||
#ifdef __linux__
|
||||
/*! Read variables/values from /proc/cmdline
|
||||
* @param value
|
||||
* @return pointer to the value, otherwise NULL */
|
||||
char *rc_proc_getent(const char *);
|
||||
#endif
|
||||
|
||||
/*! Update the cached dependency tree if it's older than any init script,
|
||||
* its configuration file or an external configuration file the init script
|
||||
* has specified.
|
||||
|
||||
@@ -18,6 +18,7 @@ global:
|
||||
rc_getline;
|
||||
rc_newer_than;
|
||||
rc_older_than;
|
||||
rc_proc_getent;
|
||||
rc_runlevel_exists;
|
||||
rc_runlevel_get;
|
||||
rc_runlevel_list;
|
||||
|
||||
Reference in New Issue
Block a user