summaryrefslogtreecommitdiffstats
path: root/src/shared/strv.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-05-03 04:51:50 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-05-03 04:52:09 +0200
commit44a6b1b68029833893f6e9cee35aa27a974038f6 (patch)
tree170b79abd66a206598ac095156a6c4012d0583f4 /src/shared/strv.h
parenthashmap.h: fix coding style issue (diff)
downloadsystemd-44a6b1b68029833893f6e9cee35aa27a974038f6.tar.xz
systemd-44a6b1b68029833893f6e9cee35aa27a974038f6.zip
Add __attribute__((const, pure, format)) in various places
I'm assuming that it's fine if a _const_ or _pure_ function calls assert. It is assumed that the assert won't trigger, and even if it does, it can only trigger on the first call with a given set of parameters, and we don't care if the compiler moves the order of calls.
Diffstat (limited to 'src/shared/strv.h')
-rw-r--r--src/shared/strv.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/shared/strv.h b/src/shared/strv.h
index 73ee416b1b..e35118752f 100644
--- a/src/shared/strv.h
+++ b/src/shared/strv.h
@@ -26,8 +26,8 @@
#include "macro.h"
-char *strv_find(char **l, const char *name);
-char *strv_find_prefix(char **l, const char *name);
+char *strv_find(char **l, const char *name) _pure_;
+char *strv_find_prefix(char **l, const char *name) _pure_;
void strv_free(char **l);
static inline void strv_freep(char ***l) {
@@ -37,7 +37,7 @@ static inline void strv_freep(char ***l) {
#define _cleanup_strv_free_ _cleanup_(strv_freep)
char **strv_copy(char * const *l);
-unsigned strv_length(char * const *l);
+unsigned strv_length(char * const *l) _pure_;
char **strv_merge(char **a, char **b);
char **strv_merge_concat(char **a, char **b, const char *suffix);
@@ -71,7 +71,7 @@ char *strv_join(char **l, const char *separator);
char **strv_parse_nulstr(const char *s, size_t l);
char **strv_split_nulstr(const char *s);
-bool strv_overlap(char **a, char **b);
+bool strv_overlap(char **a, char **b) _pure_;
#define STRV_FOREACH(s, l) \
for ((s) = (l); (s) && *(s); (s)++)