]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/ratelimit.h
core-util: ensure that we chmod only the dir we ourselves created
[pulseaudio] / src / pulsecore / ratelimit.h
index e652c5208274e354ac80ee094e79ba80aadeb509..9857a291bf2600853a54820be2d8fd58dc280004 100644 (file)
@@ -8,7 +8,7 @@
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as
-  published by the Free Software Foundation; either version 2 of the
+  published by the Free Software Foundation; either version 2.1 of the
   License, or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
   License, or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
 #include <pulsecore/macro.h>
 
 typedef struct pa_ratelimit {
 #include <pulsecore/macro.h>
 
 typedef struct pa_ratelimit {
-    const pa_usec_t interval;
-    const unsigned burst;
+    pa_usec_t interval;
+    unsigned burst;
     unsigned n_printed, n_missed;
     pa_usec_t begin;
 } pa_ratelimit;
 
 #define PA_DEFINE_RATELIMIT(_name, _interval, _burst)   \
     pa_ratelimit _name = {                              \
     unsigned n_printed, n_missed;
     pa_usec_t begin;
 } pa_ratelimit;
 
 #define PA_DEFINE_RATELIMIT(_name, _interval, _burst)   \
     pa_ratelimit _name = {                              \
-        .interval = _interval,                          \
-        .burst = _burst,                                \
+        .interval = (_interval),                        \
+        .burst = (_burst),                              \
         .n_printed = 0,                                 \
         .n_missed = 0,                                  \
         .begin = 0                                      \
     }
 
         .n_printed = 0,                                 \
         .n_missed = 0,                                  \
         .begin = 0                                      \
     }
 
+#define PA_INIT_RATELIMIT(v, _interval, _burst)         \
+    do {                                                \
+        pa_ratelimit *r = &(v);                         \
+        r->interval = (_interval);                      \
+        r->burst = (_burst);                            \
+        r->n_printed = 0;                               \
+        r->n_missed = 0;                                \
+        r->begin = 0;                                   \
+    } while (FALSE);
+
 pa_bool_t pa_ratelimit_test(pa_ratelimit *r);
 
 #endif
 pa_bool_t pa_ratelimit_test(pa_ratelimit *r);
 
 #endif