From ede341d0d121a842ad6ec8060931863cdc8021c1 Mon Sep 17 00:00:00 2001 From: Guillaume Melquiond Date: Sun, 14 May 2006 20:54:14 +0000 Subject: Prevent account from being created when an error is detected. Improve support of chat messages in client. --- src/accounthandler.cpp | 2 +- src/client.cpp | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src') 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; -- cgit v1.2.3-70-g09d2