diff options
-rw-r--r-- | include/serd/serd.h | 5 | ||||
-rw-r--r-- | src/n3.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/include/serd/serd.h b/include/serd/serd.h index b125bb3d..f3402dd1 100644 --- a/include/serd/serd.h +++ b/include/serd/serd.h @@ -304,8 +304,9 @@ typedef struct { /// Reader options typedef enum { - SERD_READ_LAX = 1u << 0u, ///< Tolerate invalid input where possible - SERD_READ_VARIABLES = 1u << 1u ///< Support variable nodes + SERD_READ_LAX = 1u << 0u, ///< Tolerate invalid input where possible + SERD_READ_VARIABLES = 1u << 1u, ///< Support variable nodes + SERD_READ_EXACT_BLANKS = 1u << 2u, ///< Allow clashes with generated blanks } SerdReaderFlag; /// Bitwise OR of SerdReaderFlag values @@ -1043,7 +1043,7 @@ read_BLANK_NODE_LABEL(SerdReader* reader, SerdNode** dest, bool* ate_dot) *ate_dot = true; } - if (fancy_syntax(reader)) { + if (fancy_syntax(reader) && !(reader->flags & SERD_READ_EXACT_BLANKS)) { if (is_digit(buf[reader->bprefix_len + 1])) { if ((buf[reader->bprefix_len]) == 'b') { buf[reader->bprefix_len] = 'B'; // Prevent clash |