summaryrefslogtreecommitdiff
path: root/src/librc
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-01-13 09:11:31 +0000
committerRoy Marples <roy@marples.name>2009-01-13 09:11:31 +0000
commitfcf1cce549542bc6948c8b808becbd5933f15bf4 (patch)
treeba57b784f27e07a7f479fc8c319b26a6ef610977 /src/librc
parent3d37005a3d0c9a90578fcb249b823f08a6c58f49 (diff)
downloadopenrc-fcf1cce549542bc6948c8b808becbd5933f15bf4.tar.gz
openrc-fcf1cce549542bc6948c8b808becbd5933f15bf4.tar.bz2
openrc-fcf1cce549542bc6948c8b808becbd5933f15bf4.tar.xz
rc_newer/older_than only report file if time_t is a pointer, so it
should take precedence in the argument list.
Diffstat (limited to 'src/librc')
-rw-r--r--src/librc/librc-depend.c30
-rw-r--r--src/librc/rc.h.in22
2 files changed, 29 insertions, 23 deletions
diff --git a/src/librc/librc-depend.c b/src/librc/librc-depend.c
index dcb54f5..0af7391 100644
--- a/src/librc/librc-depend.c
+++ b/src/librc/librc-depend.c
@@ -545,7 +545,7 @@ librc_hidden_def(rc_deptree_order)
static bool
mtime_check(const char *source, const char *target, bool newer,
- char *file, time_t *rel)
+ time_t *rel, char *file)
{
struct stat buf;
time_t mtime;
@@ -599,7 +599,7 @@ mtime_check(const char *source, const char *target, bool newer,
if (d->d_name[0] == '.')
continue;
snprintf(path, sizeof(path), "%s/%s", target, d->d_name);
- if (!mtime_check(source, path, newer, file, rel)) {
+ if (!mtime_check(source, path, newer, rel, file)) {
retval = false;
if (rel == NULL)
break;
@@ -611,18 +611,18 @@ mtime_check(const char *source, const char *target, bool newer,
bool
rc_newer_than(const char *source, const char *target,
- char *file, time_t *newest)
+ time_t *newest, char *file)
{
- return mtime_check(source, target, true, file, newest);
+ return mtime_check(source, target, true, newest, file);
}
librc_hidden_def(rc_newer_than)
bool
rc_older_than(const char *source, const char *target,
- char *file, time_t *oldest)
+ time_t *oldest, char *file)
{
- return mtime_check(source, target, false, file, oldest);
+ return mtime_check(source, target, false, oldest, file);
}
librc_hidden_def(rc_older_than)
@@ -659,7 +659,7 @@ static const char *const depdirs[] =
};
bool
-rc_deptree_update_needed(char *file, time_t *newest)
+rc_deptree_update_needed(time_t *newest, char *file)
{
bool newer = false;
RC_STRINGLIST *config;
@@ -675,34 +675,34 @@ rc_deptree_update_needed(char *file, time_t *newest)
* data in our deptree */
if (!existss(RC_DEPTREE_CACHE))
return true;
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_INITDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_INITDIR, newest, file))
newer = true;
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_CONFDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_CONFDIR, newest, file))
newer = true;
#ifdef RC_PKG_INITDIR
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_PKG_INITDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_PKG_INITDIR, newest, file))
newer = true;
#endif
#ifdef RC_PKG_CONFDIR
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_PKG_CONFDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_PKG_CONFDIR, newest, file))
newer = true;
#endif
#ifdef RC_LOCAL_INITDIR
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_LOCAL_INITDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_LOCAL_INITDIR, newest, file))
newer = true;
#endif
#ifdef RC_LOCAL_CONFDIR
- if (!rc_newer_than(RC_DEPTREE_CACHE, RC_LOCAL_CONFDIR, file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, RC_LOCAL_CONFDIR, newest, file))
newer = true;
#endif
- if (!rc_newer_than(RC_DEPTREE_CACHE, "/etc/rc.conf", file, newest))
+ if (!rc_newer_than(RC_DEPTREE_CACHE, "/etc/rc.conf", newest, file))
newer = true;
/* Some init scripts dependencies change depending on config files
* outside of baselayout, like syslog-ng, so we check those too. */
config = rc_config_list(RC_DEPCONFIG);
TAILQ_FOREACH(s, config, entries) {
- if (!rc_newer_than(RC_DEPTREE_CACHE, s->value, file, newest)) {
+ if (!rc_newer_than(RC_DEPTREE_CACHE, s->value, newest, file)) {
newer = true;
if (newest == NULL)
break;
diff --git a/src/librc/rc.h.in b/src/librc/rc.h.in
index 1012274..dff1665 100644
--- a/src/librc/rc.h.in
+++ b/src/librc/rc.h.in
@@ -304,15 +304,21 @@ typedef void *RC_DEPTREE;
/*! Check to see if source is newer than target.
* If target is a directory then we traverse it and it's children.
- * time_t returns the time of the newest file found if newer.
-* @return true if source is newer than target, otherwise false */
-bool rc_newer_than(const char *, const char *, char *, time_t *);
+ * @param source
+ * @param target
+ * @param mtime of newest target
+ * @param filename of the newest target (needs mtime param)
+ * @return true if source is newer than target, otherwise false */
+bool rc_newer_than(const char *, const char *, time_t *, char *);
/*! Check to see if source is older than target.
* If target is a directory then we traverse it and it's children.
- * time_t returns the time of the oldest file found if older.
-* @return true if source is older than target, otherwise false */
-bool rc_older_than(const char *, const char *, char *, time_t *);
+ * @param source
+ * @param target
+ * @param mtime of oldest target
+ * @param filename of the oldest target (needs mtime param)
+ * @return true if source is older than target, otherwise false */
+bool rc_older_than(const char *, const char *, time_t *, char *);
/*! Update the cached dependency tree if it's older than any init script,
* its configuration file or an external configuration file the init script
@@ -325,10 +331,10 @@ bool rc_deptree_update(void);
/*! Check if the cached dependency tree is older than any init script,
* its configuration file or an external configuration file the init script
* has specified.
- * @param buffer of PATH_MAX to store newest file
* @param mtime of newest file
+ * @param buffer of PATH_MAX to store newest file
* @return true if it needs updating, otherwise false */
-bool rc_deptree_update_needed(char *, time_t *);
+bool rc_deptree_update_needed(time_t *, char *);
/*! Load the cached dependency tree and return a pointer to it.
* This pointer should be freed with rc_deptree_free when done.