Move thread_id generation code from database.cc to message.cc
authorCarl Worth <cworth@cworth.org>
Fri, 23 Oct 2009 12:25:58 +0000 (05:25 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 23 Oct 2009 12:25:58 +0000 (05:25 -0700)
It's really up to the message to decide how to generate these.

database.cc
message.cc
notmuch-private.h

index a6539ffe0fd9869268ea14c43336d4b0b28a4e45..c5d774763307ab8b9c1b862ef7c0b4371d586511 100644 (file)
@@ -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
index 74a173e1ec2060d2bfbe7b2cc498cac5ddcfae85..4e59fce09d980c75687641457195e76e71b00c1f 100644 (file)
@@ -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)
index 2d64a458684ae092ae530ea354dd4ca4c65b8191..c8f53a74160e6ba3fe1fc2cab51353cfa39c6072 100644 (file)
@@ -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