diff options
author | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-02 22:08:38 +0100 |
---|---|---|
committer | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-02 22:08:38 +0100 |
commit | 0dc063f5cae12bacd3c44b8bdcf271fa015f85b9 (patch) | |
tree | 721e393f668135d7de097bb4ba052bd1a142045a | |
parent | e9eb91b95128e4063200e8875427417c024cf6e3 (diff) |
Add a header to raw records with a version number
-rw-r--r-- | src/libtidbit/tidbit-record.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libtidbit/tidbit-record.c b/src/libtidbit/tidbit-record.c index fb2ea4f..2af6944 100644 --- a/src/libtidbit/tidbit-record.c +++ b/src/libtidbit/tidbit-record.c @@ -41,6 +41,10 @@ #define TIDBIT_RECORD_ELEMENT_KEY_CHAR_IS_VALID(_chr) (((_chr) >= 'a' && (_chr) <= 'z') || (_chr) == '_') #define TIDBIT_RECORD_ELEMENT_VALUE_CHAR_IS_VALID(_chr) ((_chr) >= 0x20) +#define TIDBIT_RECORD_HEADER_V0_1 "TIDBIT/0.1" + +#define TIDBIT_RECORD_HEADER TIDBIT_RECORD_HEADER_V0_1 + static PtrTidbitRecord tidbit_record_new_raw (void) { PtrTidbitRecord record = g_new(TidbitRecord, 1); @@ -116,6 +120,7 @@ void tidbit_record_sign (PtrTidbitRecord record, PtrTidbitKey key) g_assert(record->status == TIDBIT_RECORD_STATUS_NEW); record->user_name = g_strdup(key->public_key_string); //FIXME use function GString* rec_str = g_string_sized_new (TIDBIT_RECORD_MAX_SIZE); + g_string_append (rec_str, TIDBIT_RECORD_HEADER "\n"); g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_USERKEY TIDBIT_RECORD_ELEMENT_SEPARATOR "%s\n", record->user_name); g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_TABLE TIDBIT_RECORD_ELEMENT_SEPARATOR "%s\n", record->table_name); @@ -177,6 +182,9 @@ PtrTidbitRecord tidbit_record_from_raw (char* raw) PtrTidbitRecord record = tidbit_record_new_raw (); record->raw = g_strdup(raw); + g_str_has_prefix(data, TIDBIT_RECORD_HEADER "\n"); + data += strlen(TIDBIT_RECORD_HEADER "\n"); + if (!tidbit_record_extract_pair_from_raw (data, &data, &key, &value)) return record; if (!g_str_equal(key, TIDBIT_RECORD_ELEMENT_KEY_USERKEY)) |