MCPcopy Create free account
hub / github.com/audacity/audacity / serd_node_new_integer

Function serd_node_new_integer

lib-src/lv2/serd/src/node.c:312–335  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

310}
311
312SerdNode
313serd_node_new_integer(int64_t i)
314{
315 int64_t abs_i = (i < 0) ? -i : i;
316 const unsigned digits = serd_digits(abs_i);
317 char* buf = (char*)calloc(digits + 2, 1);
318 SerdNode node = { (const uint8_t*)buf, 0, 0, 0, SERD_LITERAL };
319
320 // Point s to the end
321 char* s = buf + digits - 1;
322 if (i < 0) {
323 *buf = '-';
324 ++s;
325 }
326
327 node.n_bytes = node.n_chars = (s - buf) + 1;
328
329 // Write integer part (right to left)
330 do {
331 *s-- = '0' + (abs_i % 10);
332 } while ((abs_i /= 10) > 0);
333
334 return node;
335}
336
337/**
338 Base64 encoding table.

Callers 4

mainFunction · 0.85
sratom_writeFunction · 0.85
integerMethod · 0.85

Calls 1

serd_digitsFunction · 0.85

Tested by 1

mainFunction · 0.68