summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-10-27 23:02:20 -0400
committerAdam <Adam@anope.org>2010-10-27 23:02:20 -0400
commit180aa6b67b45bb92b1403b58a1b50d92f1eea4ea (patch)
treeb57f7e7bf9ffec261d4dedd433d774c59869ae9a
parenta26f119bc8666642a54564763626e52e5c72b030 (diff)
Removed memo number from databases. Since we already have db-upgrade we might as well make that update memos too.
Users using the top of git will need to run sed -i 's/MD MI [0-9]* /MD MI /' anope.db on their database.
-rw-r--r--modules/core/db_plain.cpp18
-rw-r--r--src/tools/db-upgrade.cpp6
2 files changed, 14 insertions, 10 deletions
diff --git a/modules/core/db_plain.cpp b/modules/core/db_plain.cpp
index 080d4c2ae..041ea752e 100644
--- a/modules/core/db_plain.cpp
+++ b/modules/core/db_plain.cpp
@@ -595,10 +595,9 @@ class DBPlain : public Module
else if (key.equals_ci("MI"))
{
Memo *m = new Memo;
- // params[0] is the old number of the memo, no longer used
- m->time = params[1].is_pos_number_only() ? convertTo<time_t>(params[1]) : 0;
- m->sender = params[2];
- for (unsigned j = 3; params[j].equals_ci("UNREAD") || params[j].equals_ci("RECEIPT") || params[j].equals_ci("NOTIFYS"); ++j)
+ m->time = params[0].is_pos_number_only() ? convertTo<time_t>(params[0]) : 0;
+ m->sender = params[1];
+ for (unsigned j = 2; params[j].equals_ci("UNREAD") || params[j].equals_ci("RECEIPT") || params[j].equals_ci("NOTIFYS"); ++j)
{
if (params[j].equals_ci("UNREAD"))
m->SetFlag(MF_UNREAD);
@@ -753,10 +752,9 @@ class DBPlain : public Module
else if (key.equals_ci("MI"))
{
Memo *m = new Memo;
- // params[0] is the old number of the memo, no longer used
- m->time = params[1].is_pos_number_only() ? convertTo<time_t>(params[1]) : 0;
- m->sender = params[2];
- for (unsigned j = 3; params[j].equals_ci("UNREAD") || params[j].equals_ci("RECEIPT") || params[j].equals_ci("NOTIFYS"); ++j)
+ m->time = params[0].is_pos_number_only() ? convertTo<time_t>(params[0]) : 0;
+ m->sender = params[1];
+ for (unsigned j = 2; params[j].equals_ci("UNREAD") || params[j].equals_ci("RECEIPT") || params[j].equals_ci("NOTIFYS"); ++j)
{
if (params[j].equals_ci("UNREAD"))
m->SetFlag(MF_UNREAD);
@@ -891,7 +889,7 @@ class DBPlain : public Module
MemoInfo *mi = &nc->memos;
for (unsigned k = 0, end = mi->memos.size(); k < end; ++k)
{
- db << "MD MI 0 " << mi->memos[k]->time << " " << mi->memos[k]->sender;
+ db << "MD MI " << mi->memos[k]->time << " " << mi->memos[k]->sender;
if (mi->memos[k]->HasFlag(MF_UNREAD))
db << " UNREAD";
if (mi->memos[k]->HasFlag(MF_RECEIPT))
@@ -1038,7 +1036,7 @@ class DBPlain : public Module
for (unsigned k = 0, end = memos->memos.size(); k < end; ++k)
{
- db << "MD MI 0 " << memos->memos[k]->time << " " << memos->memos[k]->sender;
+ db << "MD MI " << memos->memos[k]->time << " " << memos->memos[k]->sender;
if (memos->memos[k]->HasFlag(MF_UNREAD))
db << " UNREAD";
if (memos->memos[k]->HasFlag(MF_RECEIPT))
diff --git a/src/tools/db-upgrade.cpp b/src/tools/db-upgrade.cpp
index 599441a6a..d5973f4e6 100644
--- a/src/tools/db-upgrade.cpp
+++ b/src/tools/db-upgrade.cpp
@@ -260,6 +260,12 @@ int main(int argc, char *argv[])
line += parts[part];
}
}
+ else if (line.substr(0, 5) == "MD MI")
+ {
+ while (isdigit(line[6]))
+ line.erase(line.begin() + 6);
+ line.erase(line.begin() + 6);
+ }
out << line << std::endl;
if (!lang.empty())