aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database.cc36
-rw-r--r--message.cc29
-rw-r--r--notmuch-private.h12
3 files changed, 41 insertions, 36 deletions
diff --git a/database.cc b/database.cc
index a6539ff..c5d7747 100644
--- a/database.cc
+++ b/database.cc
@@ -50,42 +50,6 @@ notmuch_status_to_string (notmuch_status_t status)
}
}
-/* "128 bits of thread-id ought to be enough for anybody" */
-#define NOTMUCH_THREAD_ID_BITS 128
-#define NOTMUCH_THREAD_ID_DIGITS (NOTMUCH_THREAD_ID_BITS / 4)
-typedef struct _thread_id {
- char str[NOTMUCH_THREAD_ID_DIGITS + 1];
-} thread_id_t;
-
-static void
-thread_id_generate (thread_id_t *thread_id)
-{
- static int seeded = 0;
- FILE *dev_random;
- uint32_t value;
- char *s;
- int i;
-
- if (! seeded) {
- dev_random = fopen ("/dev/random", "r");
- if (dev_random == NULL) {
- srand (time (NULL));
- } else {
- fread ((void *) &value, sizeof (value), 1, dev_random);
- srand (value);
- fclose (dev_random);
- }
- seeded = 1;
- }
-
- s = thread_id->str;
- for (i = 0; i < NOTMUCH_THREAD_ID_DIGITS; i += 8) {
- value = rand ();
- sprintf (s, "%08x", value);
- s += 8;
- }
-}
-
/* XXX: We should drop this function and convert all callers to call
* _notmuch_message_add_term instead. */
static void
diff --git a/message.cc b/message.cc
index 74a173e..4e59fce 100644
--- a/message.cc
+++ b/message.cc
@@ -205,6 +205,35 @@ notmuch_message_get_thread_ids (notmuch_message_t *message)
return thread_ids;
}
+void
+thread_id_generate (thread_id_t *thread_id)
+{
+ static int seeded = 0;
+ FILE *dev_random;
+ uint32_t value;
+ char *s;
+ int i;
+
+ if (! seeded) {
+ dev_random = fopen ("/dev/random", "r");
+ if (dev_random == NULL) {
+ srand (time (NULL));
+ } else {
+ fread ((void *) &value, sizeof (value), 1, dev_random);
+ srand (value);
+ fclose (dev_random);
+ }
+ seeded = 1;
+ }
+
+ s = thread_id->str;
+ for (i = 0; i < NOTMUCH_THREAD_ID_DIGITS; i += 8) {
+ value = rand ();
+ sprintf (s, "%08x", value);
+ s += 8;
+ }
+}
+
/* Synchronize changes made to message->doc into the database. */
static void
_notmuch_message_sync (notmuch_message_t *message)
diff --git a/notmuch-private.h b/notmuch-private.h
index 2d64a45..c8f53a7 100644
--- a/notmuch-private.h
+++ b/notmuch-private.h
@@ -102,6 +102,18 @@ _notmuch_message_create (const void *talloc_owner,
notmuch_database_t *notmuch,
unsigned int doc_id);
+/* XXX: Here temporarily during code movement only. */
+/* "128 bits of thread-id ought to be enough for anybody" */
+#define NOTMUCH_THREAD_ID_BITS 128
+#define NOTMUCH_THREAD_ID_DIGITS (NOTMUCH_THREAD_ID_BITS / 4)
+typedef struct _thread_id {
+ char str[NOTMUCH_THREAD_ID_DIGITS + 1];
+} thread_id_t;
+
+
+void
+thread_id_generate (thread_id_t *thread_id);
+
/* Lookup a prefix value by name.
*
* XXX: This should really be static inside of message.cc, and we can