From f754c661f57225b92ab72ce8867607341efa0c53 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Wed, 11 Apr 2007 07:15:02 +0000 Subject: Add new service hooks, remove pmake stuff from our Makefile and fix rc_services_in_state for scheduled. --- src/librc-strlist.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/librc-strlist.c') diff --git a/src/librc-strlist.c b/src/librc-strlist.c index 042b2097..2fcf0b95 100644 --- a/src/librc-strlist.c +++ b/src/librc-strlist.c @@ -34,7 +34,8 @@ char **rc_strlist_add (char **list, const char *item) static char **_rc_strlist_addsort (char **list, const char *item, int (*sortfunc) (const char *s1, - const char *s2)) + const char *s2), + bool uniq) { char **newlist; int i = 0; @@ -45,7 +46,11 @@ static char **_rc_strlist_addsort (char **list, const char *item, return (list); while (list && list[i]) - i++; + { + if (uniq && strcmp (list[i], item) == 0) + return (list); + i++; + } newlist = rc_xrealloc (list, sizeof (char *) * (i + 2)); @@ -72,12 +77,17 @@ static char **_rc_strlist_addsort (char **list, const char *item, char **rc_strlist_addsort (char **list, const char *item) { - return (_rc_strlist_addsort (list, item, strcoll)); + return (_rc_strlist_addsort (list, item, strcoll, false)); } char **rc_strlist_addsortc (char **list, const char *item) { - return (_rc_strlist_addsort (list, item, strcmp)); + return (_rc_strlist_addsort (list, item, strcmp, false)); +} + +char **rc_strlist_addsortu (char **list, const char *item) +{ + return (_rc_strlist_addsort (list, item, strcmp, true)); } char **rc_strlist_delete (char **list, const char *item) -- cgit v1.2.3