chiark / gitweb /
journal: guarantee async-signal-safety in sd_journald_sendv
[elogind.git] / src / shared / util.h
index ebc765da35668e4759093d4dbfcbb700183b4819..1169864c3a5853f0d301855253616d0cd346fac9 100644 (file)
@@ -295,7 +295,8 @@ static inline uint32_t random_u32(void) {
         }                                                               \
         scope type name##_from_string(const char *s) {                  \
                 type i;                                                 \
-                assert(s);                                              \
+                if (!s)                                                 \
+                        return (type) -1;                               \
                 for (i = 0; i < (type)ELEMENTSOF(name##_table); i++)    \
                         if (name##_table[i] &&                          \
                             streq(name##_table[i], s))                  \
@@ -848,3 +849,8 @@ bool pid_valid(pid_t pid);
 
 int getpeercred(int fd, struct ucred *ucred);
 int getpeersec(int fd, char **ret);
+
+int writev_safe(int fd, const struct iovec *w, int j);
+
+int mkostemp_safe(char *pattern, int flags);
+int open_tmpfile(const char *path, int flags);