fix for checking closing input (similar to 4eb1803, see pull request #15)
This commit is contained in:
@@ -121,7 +121,7 @@ string fetchData(TCPSocket* socket, bool& listening)
|
|||||||
char data[1024];
|
char data[1024];
|
||||||
ssize_t datalen;
|
ssize_t datalen;
|
||||||
ostringstream ostream;
|
ostringstream ostream;
|
||||||
string message;
|
string message, sendmessage;
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
struct timespec tdiff;
|
struct timespec tdiff;
|
||||||
@@ -212,14 +212,15 @@ string fetchData(TCPSocket* socket, bool& listening)
|
|||||||
}
|
}
|
||||||
else if (newInput) {
|
else if (newInput) {
|
||||||
getline(cin, message);
|
getline(cin, message);
|
||||||
message += '\n';
|
sendmessage = message+'\n';
|
||||||
|
socket->send(sendmessage.c_str(), sendmessage.size());
|
||||||
socket->send(message.c_str(), message.size());
|
|
||||||
|
|
||||||
if (strcasecmp(message.c_str(), "Q") == 0
|
if (strcasecmp(message.c_str(), "Q") == 0
|
||||||
|| strcasecmp(message.c_str(), "QUIT") == 0
|
|| strcasecmp(message.c_str(), "QUIT") == 0
|
||||||
|| strcasecmp(message.c_str(), "STOP") == 0)
|
|| strcasecmp(message.c_str(), "STOP") == 0) {
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
message.clear();
|
message.clear();
|
||||||
}
|
}
|
||||||
@@ -236,8 +237,8 @@ void connect(const char* host, uint16_t port, char* const *args, int argCount)
|
|||||||
|
|
||||||
bool once = args != NULL && argCount > 0;
|
bool once = args != NULL && argCount > 0;
|
||||||
if (socket != NULL) {
|
if (socket != NULL) {
|
||||||
|
string message, sendmessage;
|
||||||
do {
|
do {
|
||||||
string message;
|
|
||||||
bool listening = false;
|
bool listening = false;
|
||||||
|
|
||||||
if (!once) {
|
if (!once) {
|
||||||
@@ -257,8 +258,8 @@ void connect(const char* host, uint16_t port, char* const *args, int argCount)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message += '\n';
|
sendmessage = message+'\n';
|
||||||
socket->send(message.c_str(), message.size());
|
socket->send(sendmessage.c_str(), sendmessage.size());
|
||||||
|
|
||||||
if (strcasecmp(message.c_str(), "Q") == 0
|
if (strcasecmp(message.c_str(), "Q") == 0
|
||||||
|| strcasecmp(message.c_str(), "QUIT") == 0
|
|| strcasecmp(message.c_str(), "QUIT") == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user