diff options
author | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-09 01:28:14 +0100 |
---|---|---|
committer | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-09 01:28:14 +0100 |
commit | e60beb5af7fed4a916bf327f7244e454656b17b3 (patch) | |
tree | 70aaa0b2e430f59570a9e6c5e9edac374fc466fa | |
parent | 9dde5a07118b8829ddaf3bb07651b72680434d58 (diff) |
Correctly check for element type when reading raw record
-rw-r--r-- | src/libtidbit/tidbit-record.c | 11 |
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(); |