summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Brej <cbrej@cs.man.ac.uk>2010-08-07 22:24:49 +0100
committerCharlie Brej <cbrej@cs.man.ac.uk>2010-08-07 22:24:49 +0100
commitc4aea293ec316ef27e26cd2117913b8155af880a (patch)
tree56d8a190de8b0655391584b134bfc2f9aa1a7326
parent88058cc095ed2a1eaf4606cdd8c9463e7e953645 (diff)
Use 64bit values for time in records
Also add a get guid function. (too lazy to split into two patches)
-rw-r--r--src/libtidbit/tidbit-record.c14
-rw-r--r--src/libtidbit/tidbit-record.h5
2 files changed, 13 insertions, 6 deletions
diff --git a/src/libtidbit/tidbit-record.c b/src/libtidbit/tidbit-record.c
index a7bf434..23668d5 100644
--- a/src/libtidbit/tidbit-record.c
+++ b/src/libtidbit/tidbit-record.c
@@ -83,8 +83,8 @@ void tidbit_record_unref (PtrTidbitRecord record)
void tidbit_record_set_ttl (PtrTidbitRecord record, int seconds, int days, int years)
{
g_assert(record->status == TIDBIT_RECORD_STATUS_NEW); //FIXME error, not assert
- long long ttl = seconds + (long long) days * SECONDS_PER_DAY + (long long) years * SECONDS_PER_YEAR;
- ttl = MIN(ttl, (long long) 100 * SECONDS_PER_YEAR);
+ unsigned long long ttl = seconds + (unsigned long long) days * SECONDS_PER_DAY + (unsigned long long) years * SECONDS_PER_YEAR;
+ ttl = MIN(ttl, (unsigned long long) 100 * SECONDS_PER_YEAR);
record->end_time = record->start_time + ttl;
}
@@ -136,8 +136,8 @@ void tidbit_record_sign (PtrTidbitRecord record, PtrTidbitKey key)
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);
- g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_CREATED TIDBIT_RECORD_ELEMENT_SEPARATOR "%ld\n", record->start_time);
- g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_EXPIRES TIDBIT_RECORD_ELEMENT_SEPARATOR "%ld\n", record->end_time);
+ g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_CREATED TIDBIT_RECORD_ELEMENT_SEPARATOR "%lld\n", (unsigned long long) record->start_time);
+ g_string_append_printf (rec_str, TIDBIT_RECORD_ELEMENT_KEY_EXPIRES TIDBIT_RECORD_ELEMENT_SEPARATOR "%lld\n", (unsigned long long) record->end_time);
for (GList* element_itter = record->elements; element_itter; element_itter = g_list_next(element_itter)){
PtrTidbitRecordElement element = element_itter->data;
@@ -158,6 +158,12 @@ char* tidbit_record_get_raw (PtrTidbitRecord record)
return record->raw;
}
+PtrTidbitGuid tidbit_record_get_guid (PtrTidbitRecord record)
+{
+ g_assert(record->status == TIDBIT_RECORD_STATUS_SIGNED);
+ return record->guid;
+}
+
static gboolean tidbit_record_extract_pair_from_raw (char* data, char** rest, char** key, char** value)
{
int i=0;
diff --git a/src/libtidbit/tidbit-record.h b/src/libtidbit/tidbit-record.h
index a22898d..c45ee5e 100644
--- a/src/libtidbit/tidbit-record.h
+++ b/src/libtidbit/tidbit-record.h
@@ -42,8 +42,8 @@ struct _TidbitRecord{
int ref_count;
char* user_name;
char* table_name;
- time_t start_time;
- time_t end_time;
+ unsigned long long start_time;
+ unsigned long long end_time;
GList* elements;
PtrTidbitGuid guid;
TidbitRecordStatus status;
@@ -61,6 +61,7 @@ void tidbit_record_sign (PtrTidbitRecord record, PtrTidbitKey key);
*/
char* tidbit_record_get_raw (PtrTidbitRecord record);
+PtrTidbitGuid tidbit_record_get_guid (PtrTidbitRecord record);
PtrTidbitRecord tidbit_record_from_raw (char* raw);
#endif