MCPcopy Create free account
hub / github.com/ElementsProject/lightning / ringbuf_span

Function ringbuf_span

lightningd/log.c:109–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109static void ringbuf_span(const struct log_book *log,
110 size_t start, size_t len,
111 void **buf1, size_t *buf1len,
112 void **buf2, size_t *buf2len)
113{
114 size_t size = sizeof(log->ringbuf);
115 size_t off = start % size;
116 size_t first = size - off;
117
118 assert(len <= size);
119
120 if (first > len)
121 first = len;
122
123 *buf1 = (void *)(log->ringbuf + off);
124 *buf1len = first;
125
126 if (first == len) {
127 *buf2 = NULL;
128 *buf2len = 0;
129 } else {
130 *buf2 = (void *)log->ringbuf;
131 *buf2len = len - first;
132 }
133}
134
135/* buf1/buf1len & buf2/buf2len -> dest/destlen */
136static size_t copy_from(void *dest, size_t destlen,

Callers 3

get_log_entryFunction · 0.85
del_front_logFunction · 0.85
add_entryFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected