summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Brej <cbrej@cs.man.ac.uk>2010-08-09 01:28:14 +0100
committerCharlie Brej <cbrej@cs.man.ac.uk>2010-08-09 01:28:14 +0100
commite60beb5af7fed4a916bf327f7244e454656b17b3 (patch)
tree70aaa0b2e430f59570a9e6c5e9edac374fc466fa
parent9dde5a07118b8829ddaf3bb07651b72680434d58 (diff)
Correctly check for element type when reading raw record
-rw-r--r--src/libtidbit/tidbit-record.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libtidbit/tidbit-record.c b/src/libtidbit/tidbit-record.c
index 2f70c94..ece393e 100644
--- a/src/libtidbit/tidbit-record.c
+++ b/src/libtidbit/tidbit-record.c
@@ -186,13 +186,14 @@ PtrTidbitGuid tidbit_record_get_guid (PtrTidbitRecord record)
static gboolean tidbit_record_extract_pair_from_raw (char* data, char** rest, char** key, char** value, TidbitRecordElementType* type)
{
- int i=0;
- for (i=0; TIDBIT_RECORD_ELEMENT_KEY_CHAR_IS_VALID (data[i]); i++){
- }
+ int i = 0;
+
+ while (TIDBIT_RECORD_ELEMENT_KEY_CHAR_IS_VALID (data[i]))
+ i++;
- if (data[i] == TIDBIT_RECORD_ELEMENT_SEPARATOR_KEY[0] && data[i + 1] == TIDBIT_RECORD_ELEMENT_SEPARATOR_KEY[0])
+ if (data[i] == TIDBIT_RECORD_ELEMENT_SEPARATOR_KEY[0] && data[i + 1] == TIDBIT_RECORD_ELEMENT_SEPARATOR_KEY[1])
*type = TIDBIT_RECORD_ELEMENT_TYPE_KEY;
- else if (data[i] == TIDBIT_RECORD_ELEMENT_SEPARATOR_VALUE[0] && data[i + 1] == TIDBIT_RECORD_ELEMENT_SEPARATOR_VALUE[0])
+ else if (data[i] == TIDBIT_RECORD_ELEMENT_SEPARATOR_VALUE[0] && data[i + 1] == TIDBIT_RECORD_ELEMENT_SEPARATOR_VALUE[1])
*type = TIDBIT_RECORD_ELEMENT_TYPE_VALUE;
else
g_assert_not_reached();