From a3aff5d83cc3cbe2db1515e4a9ae7c7bd66d55c6 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 3 Aug 2007 10:14:38 +0000 Subject: Wups, these definitions need to be in rc.h really --- src/rc.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src/rc.h') diff --git a/src/rc.h b/src/rc.h index a22353e1..9920901c 100644 --- a/src/rc.h +++ b/src/rc.h @@ -164,5 +164,48 @@ typedef enum * they wish. At this time we only support the setting of one env var. */ extern FILE *rc_environ_fd; +/* RC utility functions. + Although not directly related to RC in general, they are used by RC + itself and the supporting applications. */ +void *rc_xcalloc (size_t n, size_t size); +void *rc_xmalloc (size_t size); +void *rc_xrealloc (void *ptr, size_t size); +char *rc_xstrdup (const char *str); + +/* Concat paths adding '/' if needed. */ +char *rc_strcatpaths (const char *path1, const char *paths, ...) SENTINEL; + +bool rc_is_env (const char *variable, const char *value); +bool rc_exists (const char *pathname); +bool rc_is_file (const char *pathname); +bool rc_is_link (const char *pathname); +bool rc_is_dir (const char *pathname); +bool rc_is_exec (const char *pathname); + +#define RC_LS_INITD 0x01 +char **rc_ls_dir (char **list, const char *dir, int options); + +bool rc_rm_dir (const char *pathname, bool top); + +/* Config file functions */ +char **rc_get_list (char **list, const char *file); +char **rc_get_config (char **list, const char *file); +char *rc_get_config_entry (char **list, const char *entry); + +/* Make an environment list which filters out all unwanted values + and loads it up with our RC config */ +char **rc_filter_env (void); +char **rc_config_env (char **env); + +/* Handy functions for dealing with string arrays of char ** */ +char **rc_strlist_add (char **list, const char *item); +char **rc_strlist_addu (char **list, const char *item); +char **rc_strlist_addsort (char **list, const char *item); +char **rc_strlist_addsortc (char **list, const char *item); +char **rc_strlist_addsortu (char **list, const char *item); +char **rc_strlist_delete (char **list, const char *item); +char **rc_strlist_join (char **list1, char **list2); +void rc_strlist_reverse (char **list); +void rc_strlist_free (char **list); #endif -- cgit v1.2.3