aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/reader.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/reader.c b/src/reader.c
index 5ce81962..ce87a6f0 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -68,16 +68,22 @@ set_blank_id(SerdReader* const reader,
SerdNode* const node,
const size_t buf_size)
{
- char* const buf = (char*)(node + 1);
-
- node->length = (size_t)snprintf(
- buf, buf_size, "%sb%u", reader->bprefix, reader->next_id++);
+ char* const buf = (char*)(node + 1);
+ const unsigned id = reader->next_id++;
+
+ if ((reader->flags & SERD_READ_ORDERED)) {
+ node->length =
+ (size_t)snprintf(buf, buf_size, "%sb%09u", reader->bprefix, id);
+ } else {
+ node->length =
+ (size_t)snprintf(buf, buf_size, "%sb%u", reader->bprefix, id);
+ }
}
size_t
genid_length(const SerdReader* const reader)
{
- return reader->bprefix_len + 10; // + "b" + UINT32_MAX
+ return reader->bprefix_len + 11;
}
bool