aboutsummaryrefslogtreecommitdiffstats
path: root/src/n3.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2024-06-24 15:01:11 -0400
committerDavid Robillard <d@drobilla.net>2024-06-25 15:54:43 -0400
commit47f30703ee6935de393303b7a4d6bab8ce7780f4 (patch)
tree3f0a8ed8c40bb2970962c5f3c62e17f654d59263 /src/n3.c
parent032abfdff61056a7029a440fc1895bbe41ec964a (diff)
downloadserd-47f30703ee6935de393303b7a4d6bab8ce7780f4.tar.gz
serd-47f30703ee6935de393303b7a4d6bab8ce7780f4.tar.bz2
serd-47f30703ee6935de393303b7a4d6bab8ce7780f4.zip
Replace questionable switch statements with shorter conditionals
Diffstat (limited to 'src/n3.c')
-rw-r--r--src/n3.c45
1 files changed, 12 insertions, 33 deletions
diff --git a/src/n3.c b/src/n3.c
index a3cb93a6..3c63cffb 100644
--- a/src/n3.c
+++ b/src/n3.c
@@ -571,14 +571,10 @@ static SerdStatus
read_PLX(SerdReader* const reader, const Ref dest)
{
const int c = peek_byte(reader);
- switch (c) {
- case '%':
- return read_PERCENT(reader, dest);
- case '\\':
- return read_PN_LOCAL_ESC(reader, dest);
- default:
- return SERD_FAILURE;
- }
+
+ return (c == '%') ? read_PERCENT(reader, dest)
+ : (c == '\\') ? read_PN_LOCAL_ESC(reader, dest)
+ : SERD_FAILURE;
}
static SerdStatus
@@ -753,18 +749,12 @@ read_IRIREF(SerdReader* const reader, Ref* const dest)
return r_err(reader, SERD_ERR_BAD_SYNTAX, "invalid IRI escape\n");
}
- switch (code) {
- case 0:
- case ' ':
- case '<':
- case '>':
+ if (code == ' ' || code == '<' || code == '>') {
*dest = pop_node(reader, *dest);
return r_err(reader,
SERD_ERR_BAD_SYNTAX,
"invalid escaped IRI character U+%04X\n",
code);
- default:
- break;
}
break;
@@ -886,13 +876,9 @@ read_number(SerdReader* const reader,
if (c == 'e' || c == 'E') {
// double
push_byte(reader, *dest, eat_byte_safe(reader, c));
- switch ((c = peek_byte(reader))) {
- case '+':
- case '-':
+ c = peek_byte(reader);
+ if (c == '+' || c == '-') {
push_byte(reader, *dest, eat_byte_safe(reader, c));
- break;
- default:
- break;
}
TRY(st, read_0_9(reader, *dest, true));
*datatype = push_node(reader, SERD_URI, XSD_DOUBLE, sizeof(XSD_DOUBLE) - 1);
@@ -910,13 +896,12 @@ read_number(SerdReader* const reader,
static SerdStatus
read_iri(SerdReader* const reader, Ref* const dest, bool* const ate_dot)
{
- switch (peek_byte(reader)) {
- case '<':
+ if (peek_byte(reader) == '<') {
return read_IRIREF(reader, dest);
- default:
- *dest = push_node(reader, SERD_CURIE, "", 0);
- return read_PrefixedName(reader, *dest, true, ate_dot);
}
+
+ *dest = push_node(reader, SERD_CURIE, "", 0);
+ return read_PrefixedName(reader, *dest, true, ate_dot);
}
static SerdStatus
@@ -1152,13 +1137,7 @@ read_object(SerdReader* const reader,
uint32_t flags = 0;
const int c = peek_byte(reader);
if (!fancy_syntax(reader)) {
- switch (c) {
- case '"':
- case ':':
- case '<':
- case '_':
- break;
- default:
+ if (c != '"' && c != ':' && c != '<' && c != '_') {
return r_err(reader, SERD_ERR_BAD_SYNTAX, "expected: ':', '<', or '_'\n");
}
}