mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 12:28:09 +01:00
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:
parent
e1e1f0cb3b
commit
e37b7cc2da
2 changed files with 57 additions and 57 deletions
57
database.cc
57
database.cc
|
@ -28,6 +28,63 @@
|
|||
|
||||
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 *
|
||||
notmuch_status_to_string (notmuch_status_t status)
|
||||
{
|
||||
|
|
57
message.cc
57
message.cc
|
@ -48,63 +48,6 @@ typedef struct _thread_id {
|
|||
char str[NOTMUCH_THREAD_ID_DIGITS + 1];
|
||||
} 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
|
||||
* to use "placement new" in order to initialize C++ objects within a
|
||||
* block that we allocated with talloc. So C++ is making talloc
|
||||
|
|
Loading…
Reference in a new issue