aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/rbuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/rbuffer.h')
-rw-r--r--src/nvim/rbuffer.h44
1 files changed, 25 insertions, 19 deletions
diff --git a/src/nvim/rbuffer.h b/src/nvim/rbuffer.h
index 35fb16508e..a8dfcac580 100644
--- a/src/nvim/rbuffer.h
+++ b/src/nvim/rbuffer.h
@@ -1,4 +1,4 @@
-// Ring buffer implementation. This is basically an array that wraps read/write
+// Specialized ring buffer. This is basically an array that wraps read/write
// pointers around the memory region. It should be more efficient than the old
// RBuffer which required memmove() calls to relocate read/write positions.
//
@@ -36,30 +36,36 @@
//
// Note that the rbuffer_{produced,consumed} calls are necessary or these macros
// create infinite loops
-#define RBUFFER_UNTIL_EMPTY(buf, rptr, rcnt) \
- for (size_t rcnt = 0, _r = 1; _r; _r = 0) \
- for (char *rptr = rbuffer_read_ptr(buf, &rcnt); \
- buf->size; \
- rptr = rbuffer_read_ptr(buf, &rcnt))
+#define RBUFFER_UNTIL_EMPTY(buf, rptr, rcnt) \
+ for (size_t rcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
+ for ( /* NOLINT(readability/braces) */ \
+ char *rptr = rbuffer_read_ptr(buf, &rcnt); \
+ buf->size; \
+ rptr = rbuffer_read_ptr(buf, &rcnt))
-#define RBUFFER_UNTIL_FULL(buf, wptr, wcnt) \
- for (size_t wcnt = 0, _r = 1; _r; _r = 0) \
- for (char *wptr = rbuffer_write_ptr(buf, &wcnt); \
- rbuffer_space(buf); \
- wptr = rbuffer_write_ptr(buf, &wcnt))
+#define RBUFFER_UNTIL_FULL(buf, wptr, wcnt) \
+ for (size_t wcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
+ for ( /* NOLINT(readability/braces) */ \
+ char *wptr = rbuffer_write_ptr(buf, &wcnt); \
+ rbuffer_space(buf); \
+ wptr = rbuffer_write_ptr(buf, &wcnt))
// Iteration
-#define RBUFFER_EACH(buf, c, i) \
- for (size_t i = 0; i < buf->size; i = buf->size) \
- for (char c = 0; \
- i < buf->size ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
+#define RBUFFER_EACH(buf, c, i) \
+ for (size_t i = 0; /* NOLINT(readability/braces) */ \
+ i < buf->size; \
+ i = buf->size) \
+ for (char c = 0; /* NOLINT(readability/braces) */ \
+ i < buf->size ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
i++)
-#define RBUFFER_EACH_REVERSE(buf, c, i) \
- for (size_t i = buf->size; i != SIZE_MAX; i = SIZE_MAX) \
- for (char c = 0; \
- i-- > 0 ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
+#define RBUFFER_EACH_REVERSE(buf, c, i) \
+ for (size_t i = buf->size; /* NOLINT(readability/braces) */ \
+ i != SIZE_MAX; \
+ i = SIZE_MAX) \
+ for (char c = 0; /* NOLINT(readability/braces) */ \
+ i-- > 0 ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
)
typedef struct rbuffer RBuffer;