Move the prefix-string arrays back into database.cc from message.cc

Yes, I'm being wishy-washy here, moving code back and forth. But
this is where these really do belong.
This commit is contained in:
Carl Worth 2009-10-24 21:52:48 -07:00
parent e1e1f0cb3b
commit e37b7cc2da
2 changed files with 57 additions and 57 deletions

View file

@ -28,6 +28,63 @@
using namespace std; using namespace std;
#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0]))
/* These prefix values are specifically chosen to be compatible
* with sup, (http://sup.rubyforge.org), written by
* William Morgan <wmorgan-sup@masanjin.net>, and released
* under the GNU GPL v2.
*/
typedef struct {
const char *name;
const char *prefix;
} prefix_t;
prefix_t NORMAL_PREFIX[] = {
{ "subject", "S" },
{ "body", "B" },
{ "from_name", "FN" },
{ "to_name", "TN" },
{ "name", "N" },
{ "attachment", "A" }
};
prefix_t BOOLEAN_PREFIX[] = {
{ "type", "K" },
{ "from_email", "FE" },
{ "to_email", "TE" },
{ "email", "E" },
{ "date", "D" },
{ "label", "L" },
{ "tag", "L" },
{ "source_id", "I" },
{ "attachment_extension", "O" },
{ "msgid", "Q" },
{ "thread", "H" },
{ "ref", "R" },
{ "timestamp", "KTS" },
};
const char *
_find_prefix (const char *name)
{
unsigned int i;
for (i = 0; i < ARRAY_SIZE (NORMAL_PREFIX); i++)
if (strcmp (name, NORMAL_PREFIX[i].name) == 0)
return NORMAL_PREFIX[i].prefix;
for (i = 0; i < ARRAY_SIZE (BOOLEAN_PREFIX); i++)
if (strcmp (name, BOOLEAN_PREFIX[i].name) == 0)
return BOOLEAN_PREFIX[i].prefix;
fprintf (stderr, "Internal error: No prefix exists for '%s'\n", name);
exit (1);
return "";
}
const char * const char *
notmuch_status_to_string (notmuch_status_t status) notmuch_status_to_string (notmuch_status_t status)
{ {

View file

@ -48,63 +48,6 @@ typedef struct _thread_id {
char str[NOTMUCH_THREAD_ID_DIGITS + 1]; char str[NOTMUCH_THREAD_ID_DIGITS + 1];
} thread_id_t; } thread_id_t;
#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0]))
/* These prefix values are specifically chosen to be compatible
* with sup, (http://sup.rubyforge.org), written by
* William Morgan <wmorgan-sup@masanjin.net>, and released
* under the GNU GPL v2.
*/
typedef struct {
const char *name;
const char *prefix;
} prefix_t;
prefix_t NORMAL_PREFIX[] = {
{ "subject", "S" },
{ "body", "B" },
{ "from_name", "FN" },
{ "to_name", "TN" },
{ "name", "N" },
{ "attachment", "A" }
};
prefix_t BOOLEAN_PREFIX[] = {
{ "type", "K" },
{ "from_email", "FE" },
{ "to_email", "TE" },
{ "email", "E" },
{ "date", "D" },
{ "label", "L" },
{ "tag", "L" },
{ "source_id", "I" },
{ "attachment_extension", "O" },
{ "msgid", "Q" },
{ "thread", "H" },
{ "ref", "R" },
{ "timestamp", "KTS" },
};
const char *
_find_prefix (const char *name)
{
unsigned int i;
for (i = 0; i < ARRAY_SIZE (NORMAL_PREFIX); i++)
if (strcmp (name, NORMAL_PREFIX[i].name) == 0)
return NORMAL_PREFIX[i].prefix;
for (i = 0; i < ARRAY_SIZE (BOOLEAN_PREFIX); i++)
if (strcmp (name, BOOLEAN_PREFIX[i].name) == 0)
return BOOLEAN_PREFIX[i].prefix;
fprintf (stderr, "Internal error: No prefix exists for '%s'\n", name);
exit (1);
return "";
}
/* We end up having to call the destructor explicitly because we had /* We end up having to call the destructor explicitly because we had
* to use "placement new" in order to initialize C++ objects within a * to use "placement new" in order to initialize C++ objects within a
* block that we allocated with talloc. So C++ is making talloc * block that we allocated with talloc. So C++ is making talloc