Factor out new function rc_deptree_load_file to aid in debugging deptree files from users. Loads from a given filename instead of the hardcoded RC_DEPTREE_CACHE define.

This commit is contained in:
Robin H. Johnson 2011-01-17 06:32:46 +00:00
parent b113ad49e9
commit 0e90ae266a
5 changed files with 17 additions and 3 deletions

View File

@ -114,7 +114,13 @@ get_deptype(const RC_DEPINFO *depinfo, const char *type)
} }
RC_DEPTREE * RC_DEPTREE *
rc_deptree_load(void) rc_deptree_load(void) {
return rc_deptree_load_file(RC_DEPTREE_CACHE);
}
librc_hidden_def(rc_deptree_load)
RC_DEPTREE *
rc_deptree_load_file(const char *deptree_file)
{ {
FILE *fp; FILE *fp;
RC_DEPTREE *deptree; RC_DEPTREE *deptree;
@ -127,7 +133,7 @@ rc_deptree_load(void)
char *e; char *e;
int i; int i;
if (!(fp = fopen(RC_DEPTREE_CACHE, "r"))) if (!(fp = fopen(deptree_file, "r")))
return NULL; return NULL;
deptree = xmalloc(sizeof(*deptree)); deptree = xmalloc(sizeof(*deptree));
@ -175,7 +181,6 @@ rc_deptree_load(void)
return deptree; return deptree;
} }
librc_hidden_def(rc_deptree_load)
static bool static bool
valid_service(const char *runlevel, const char *service, const char *type) valid_service(const char *runlevel, const char *service, const char *type)

View File

@ -375,6 +375,11 @@ bool rc_deptree_update_needed(time_t *, char *);
* @return pointer to the dependency tree */ * @return pointer to the dependency tree */
RC_DEPTREE *rc_deptree_load(void); RC_DEPTREE *rc_deptree_load(void);
/*! Load a cached dependency tree from the specified file and return a pointer
* to it. This pointer should be freed with rc_deptree_free when done.
* @return pointer to the dependency tree */
RC_DEPTREE *rc_deptree_load_file(const char *);
/*! List the depend for the type of service /*! List the depend for the type of service
* @param deptree to search * @param deptree to search
* @param type to use (keywords, etc) * @param type to use (keywords, etc)

View File

@ -7,6 +7,7 @@ global:
rc_deptree_depends; rc_deptree_depends;
rc_deptree_free; rc_deptree_free;
rc_deptree_load; rc_deptree_load;
rc_deptree_load_file;
rc_deptree_order; rc_deptree_order;
rc_deptree_update; rc_deptree_update;
rc_deptree_update_needed; rc_deptree_update_needed;

View File

@ -5,6 +5,7 @@ rc_deptree_depend
rc_deptree_depends rc_deptree_depends
rc_deptree_free rc_deptree_free
rc_deptree_load rc_deptree_load
rc_deptree_load_file
rc_deptree_order rc_deptree_order
rc_deptree_update rc_deptree_update
rc_deptree_update_needed rc_deptree_update_needed

View File

@ -12,6 +12,8 @@ rc_deptree_free
rc_deptree_free@@RC_1.0 rc_deptree_free@@RC_1.0
rc_deptree_load rc_deptree_load
rc_deptree_load@@RC_1.0 rc_deptree_load@@RC_1.0
rc_deptree_load_file
rc_deptree_load_file@@RC_1.0
rc_deptree_order rc_deptree_order
rc_deptree_order@@RC_1.0 rc_deptree_order@@RC_1.0
rc_deptree_update rc_deptree_update