aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-23 21:27:47 +0000
committerDavid Robillard <d@drobilla.net>2011-04-23 21:27:47 +0000
commitc8bca421254840c7eb249e138d06f6ae0b008290 (patch)
tree8336af934b9db34bde70372c13ee792630ceaf3b
parent82fdce9e8aa514710b349d3862148c7309d0ba36 (diff)
downloadserd-c8bca421254840c7eb249e138d06f6ae0b008290.tar.gz
serd-c8bca421254840c7eb249e138d06f6ae0b008290.tar.bz2
serd-c8bca421254840c7eb249e138d06f6ae0b008290.zip
Improve node struct alignment
git-svn-id: http://svn.drobilla.net/serd/trunk@147 490d8e77-9747-427b-9fa3-0b8f29cee8a0
-rw-r--r--serd/serd.h6
-rw-r--r--src/node.c4
-rw-r--r--src/reader.c6
3 files changed, 8 insertions, 8 deletions
diff --git a/serd/serd.h b/serd/serd.h
index 120273c0..6865a1c7 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -186,10 +186,10 @@ typedef enum {
A syntactic RDF node.
*/
typedef struct {
- SerdType type;
+ const uint8_t* buf; /**< Buffer */
size_t n_bytes; /**< Size in bytes (including null) */
size_t n_chars; /**< Length in characters */
- const uint8_t* buf; /**< Buffer */
+ SerdType type; /**< Node type */
} SerdNode;
/**
@@ -277,7 +277,7 @@ serd_uri_serialise(const SerdURI* uri, SerdSink sink, void* stream);
@{
*/
-static const SerdNode SERD_NODE_NULL = { SERD_NOTHING, 0, 0, 0 };
+static const SerdNode SERD_NODE_NULL = { 0, 0, 0, SERD_NOTHING };
/**
Make a (shallow) node from @a str.
diff --git a/src/node.c b/src/node.c
index 0e95942f..5901f159 100644
--- a/src/node.c
+++ b/src/node.c
@@ -25,7 +25,7 @@ serd_node_from_string(SerdType type, const uint8_t* buf)
{
size_t buf_n_bytes;
const size_t buf_n_chars = serd_strlen(buf, &buf_n_bytes);
- SerdNode ret = { type, buf_n_bytes, buf_n_chars, buf };
+ SerdNode ret = { buf, buf_n_bytes, buf_n_chars, type };
return ret;
}
@@ -105,7 +105,7 @@ serd_node_new_uri(const SerdURI* uri, const SerdURI* base, SerdURI* out)
const size_t len = serd_uri_string_length(&abs_uri);
uint8_t* buf = malloc(len + 1);
- SerdNode node = { SERD_URI, len + 1, len, buf }; // FIXME: UTF-8
+ SerdNode node = { buf, len + 1, len, SERD_URI }; // FIXME: UTF-8
uint8_t* ptr = buf;
const size_t actual_len = serd_uri_serialise(&abs_uri, string_sink, &ptr);
diff --git a/src/reader.c b/src/reader.c
index 615f4d46..10b812e9 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -288,7 +288,7 @@ public_node_from_ref(SerdReader reader, SerdType type, Ref ref)
return SERD_NODE_NULL;
}
const SerdString* str = deref(reader, ref);
- const SerdNode public = { type, str->n_bytes, str->n_chars, str->buf };
+ const SerdNode public = { str->buf, str->n_bytes, str->n_chars, type };
return public;
}
@@ -1484,10 +1484,10 @@ serd_read_state_expand(SerdReadState state,
SerdChunk prefix;
SerdChunk suffix;
serd_env_expand(state->env, node, &prefix, &suffix);
- SerdNode ret = { SERD_URI,
+ SerdNode ret = { NULL,
prefix.len + suffix.len + 1,
prefix.len + suffix.len, // FIXME: UTF-8
- NULL };
+ SERD_URI };
ret.buf = malloc(ret.n_bytes);
snprintf((char*)ret.buf, ret.n_bytes, "%s%s", prefix.buf, suffix.buf);
return ret;