summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-05-14 20:54:14 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-05-14 20:54:14 +0000
commitede341d0d121a842ad6ec8060931863cdc8021c1 (patch)
tree1f40029dcb0632ab23b96e9dd89acadcffa34250
parent26d2810437fbfbb42225c47b358794008f94bc5e (diff)
downloadmanaserv-ede341d0d121a842ad6ec8060931863cdc8021c1.tar.gz
manaserv-ede341d0d121a842ad6ec8060931863cdc8021c1.tar.bz2
manaserv-ede341d0d121a842ad6ec8060931863cdc8021c1.tar.xz
manaserv-ede341d0d121a842ad6ec8060931863cdc8021c1.zip
Prevent account from being created when an error is detected.
Improve support of chat messages in client.
-rw-r--r--ChangeLog8
-rw-r--r--src/accounthandler.cpp2
-rw-r--r--src/client.cpp17
3 files changed, 22 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 911bb42b..ca04bb40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-05-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
+
+ * src/accounthandler.cpp: Prevented accounts from being incorrectly
+ created when errors were detected.
+ * src/client.cpp: Prevented input from looping on error, allowed
+ client to read spaces as part of chat messages, added output of chat
+ messages received from server.
+
2006-05-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/utils/timer.cpp, tmwserv.dev: Replaced nanosleep with Sleep in
diff --git a/src/accounthandler.cpp b/src/accounthandler.cpp
index 90327118..389bed13 100644
--- a/src/accounthandler.cpp
+++ b/src/accounthandler.cpp
@@ -223,7 +223,7 @@ void AccountHandler::receiveMessage(NetComputer &computer, MessageIn &message)
result.writeByte(REGISTER_INVALID_EMAIL);
LOG_INFO(email << ": Email Invalid, only a@b.c format is accepted.", 1)
}
- if (stringFilter->findDoubleQuotes(email))
+ else if (stringFilter->findDoubleQuotes(email))
{
result.writeByte(REGISTER_INVALID_EMAIL);
LOG_INFO(email << ": has got double quotes in it.", 1)
diff --git a/src/client.cpp b/src/client.cpp
index ce134427..b9c9ea71 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -104,6 +104,7 @@ int main(int argc, char *argv[])
std::cout << "8) Create character" << std::endl;
std::cout << "Choose your option: ";
std::cin >> answer;
+ std::cin.getline(line, 256); // skip the remaining of the line
MessageOut msg;
@@ -124,7 +125,7 @@ int main(int argc, char *argv[])
std::cout << "Account name: ";
std::cin >> line;
msg.writeString(line);
- std::cout <<"Password: ";
+ std::cout << "Password: ";
std::cin >> line;
msg.writeString(line);
std::cout << "Email address: ";
@@ -275,14 +276,16 @@ int main(int argc, char *argv[])
} break;
case 13:
+ {
// Chat
msg.writeShort(CMSG_SAY);
std::cout << "Chat: ";
- std::cin >> line;
+ std::cin.getline(line, 256);
+ line[255] = '\0';
msg.writeString(line);
msg.writeShort(0);
responseRequired = false;
- break;
+ } break;
case 14:
{
@@ -346,7 +349,7 @@ int main(int argc, char *argv[])
break;
case ENET_EVENT_TYPE_DISCONNECT:
- printf("Disconected.\n");
+ printf("Disconnected.\n");
connected = false;
break;
@@ -694,6 +697,12 @@ void parsePacket(char *data, int recvLength) {
}
} break;
+ case SMSG_CHAT:
+ {
+ short channel = msg.readShort();
+ std::cout << "Chat on channel " << channel << ':' << std::endl
+ << msg.readString() << std::endl;
+ } break;
default:
break;