]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/core-util.h
Merge commit 'origin/master-tx'
[pulseaudio] / src / pulsecore / core-util.h
index 2ed81fc59172bb1efe8176bd3fe46417c0cf0db0..c9e307f5da131ea2efb5ee691ed5a5cb02c7a83d 100644 (file)
@@ -121,14 +121,14 @@ char* pa_find_config_file(const char *global, const char *local, const char *env
 char *pa_get_runtime_dir(void);
 char *pa_get_state_dir(void);
 char *pa_runtime_path(const char *fn);
-char *pa_state_path(const char *fn);
+char *pa_state_path(const char *fn, pa_bool_t prepend_machine_id);
 
 int pa_atoi(const char *s, int32_t *ret_i);
 int pa_atou(const char *s, uint32_t *ret_u);
 int pa_atod(const char *s, double *ret_d);
 
-int pa_snprintf(char *str, size_t size, const char *format, ...);
-int pa_vsnprintf(char *str, size_t size, const char *format, va_list ap);
+size_t pa_snprintf(char *str, size_t size, const char *format, ...);
+size_t pa_vsnprintf(char *str, size_t size, const char *format, va_list ap);
 
 char *pa_truncate_utf8(char *c, size_t l);
 
@@ -142,29 +142,35 @@ static inline int pa_is_power_of_two(unsigned n) {
     return !(n & (n - 1));
 }
 
-static inline unsigned pa_make_power_of_two(unsigned n) {
-    unsigned j = n;
+static inline unsigned pa_ulog2(unsigned n) {
 
-    if (pa_is_power_of_two(n))
-        return n;
+    if (n <= 1)
+        return 0;
 
-    while (j) {
-        j = j >> 1;
-        n = n | j;
-    }
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+    return 8U * (unsigned) sizeof(unsigned) - (unsigned) __builtin_clz(n) - 1;
+#else
+{
+    unsigned r = 0;
 
-    return n + 1;
-}
+    for (;;) {
+        n = n >> 1;
 
-static inline unsigned pa_ulog2(unsigned n) {
-    unsigned r = 0;
+        if (!n)
+            return r;
 
-    while (n) {
         r++;
-        n = n >> 1;
     }
+}
+#endif
+}
+
+static inline unsigned pa_make_power_of_two(unsigned n) {
 
-    return r;
+    if (pa_is_power_of_two(n))
+        return n;
+
+    return 1U << (pa_ulog2(n) + 1);
 }
 
 void pa_close_pipe(int fds[2]);
@@ -184,4 +190,6 @@ pa_bool_t pa_in_system_mode(void);
 
 #define pa_streq(a,b) (!strcmp((a),(b)))
 
+char *pa_machine_id(void);
+
 #endif