Skip to content

Commit e783d7d

Browse files
committed
Fixed issues with Unicode
1 parent cc93afb commit e783d7d

File tree

2 files changed

+50
-50
lines changed

2 files changed

+50
-50
lines changed

redis-desktop-manager/include/redis/Response.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ class Response
1010

1111
public:
1212
Response();
13-
Response(QString &);
13+
Response(const QByteArray &);
1414
~Response(void);
1515

1616
QVariant getValue();
1717
bool isValid();
1818

19-
void setSource(QString&);
20-
QString source();
19+
void setSource(const QByteArray&);
20+
QByteArray source();
2121

2222
void clear();
2323

@@ -32,7 +32,7 @@ class Response
3232

3333
private:
3434

35-
QString responseString;
35+
QByteArray responseSource;
3636

3737
//type
3838
enum ResponseType
@@ -44,24 +44,24 @@ class Response
4444
int lastValidPos;
4545
int itemsCount;
4646

47-
ResponseType getResponseType(const QString&) const;
48-
ResponseType getResponseType(const QChar) const;
47+
ResponseType getResponseType(const QByteArray&) const;
48+
ResponseType getResponseType(const char) const;
4949

5050
//parsers
51-
QVariant parseBulk(const QString& response);
52-
QStringList parseMultiBulk(const QString& response);
53-
QString getStringResponse(QString response);
51+
QString parseBulk(const QByteArray& response);
52+
QStringList parseMultiBulk(const QByteArray& response);
53+
QString getStringResponse(const QByteArray& response);
5454

55-
int getSizeOfBulkReply(const QString& reply, int endOfFirstLine = -1, int beginFrom = 0);
55+
int getSizeOfBulkReply(const QByteArray& reply, int endOfFirstLine = -1, int beginFrom = 0);
5656

5757
//validations
58-
bool isReplyValid(const QString&);
58+
bool isReplyValid(const QByteArray&);
5959

6060
/** checks general validation rules **/
61-
bool isReplyGeneralyValid(const QString& );
62-
bool isIntReplyValid(const QString&);
63-
bool isBulkReplyValid(const QString&);
64-
bool isMultiBulkReplyValid(const QString&);
61+
bool isReplyGeneralyValid(const QByteArray& );
62+
bool isIntReplyValid(const QByteArray&);
63+
bool isBulkReplyValid(const QByteArray&);
64+
bool isMultiBulkReplyValid(const QByteArray&);
6565

66-
int getPosOfNextItem(const QString &, int);
66+
int getPosOfNextItem(const QByteArray &, int);
6767
};

redis-desktop-manager/source/redis/Response.cpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,73 @@
22
#include "RedisException.h"
33

44
Response::Response()
5-
: responseString(""), lastValidPos(0), itemsCount(0)
5+
: responseSource(""), lastValidPos(0), itemsCount(0)
66
{
77
}
88

9-
Response::Response(QString & src)
10-
: responseString(src), lastValidPos(0), itemsCount(0)
9+
Response::Response(const QByteArray & src)
10+
: responseSource(src), lastValidPos(0), itemsCount(0)
1111
{
1212
}
1313

1414
Response::~Response(void)
1515
{
1616
}
1717

18-
void Response::setSource(QString& str)
18+
void Response::setSource(const QByteArray& src)
1919
{
20-
responseString = str;
20+
responseSource = src;
2121
}
2222

2323
void Response::clear()
2424
{
25-
responseString.clear();
25+
responseSource.clear();
2626
lastValidPos = 0;
2727
itemsCount = 0;
2828
}
2929

30-
QString Response::source()
30+
QByteArray Response::source()
3131
{
32-
return responseString;
32+
return responseSource;
3333
}
3434

3535
void Response::appendToSource(QString& src)
3636
{
37-
responseString.append(src);
37+
responseSource.append(src);
3838
}
3939

4040
void Response::appendToSource(QByteArray& src)
4141
{
42-
responseString.append(src);
42+
responseSource.append(src);
4343
}
4444

4545
QVariant Response::getValue()
4646
{
47-
if (responseString.isEmpty()) {
47+
if (responseSource.isEmpty()) {
4848
return QVariant();
4949
}
5050

51-
ResponseType t = getResponseType(responseString);
51+
ResponseType t = getResponseType(responseSource);
5252

5353
QVariant parsedResponse;
5454

5555
switch (t) {
5656

5757
case Status:
5858
case Error:
59-
parsedResponse = QVariant(getStringResponse(responseString));
59+
parsedResponse = QVariant(getStringResponse(responseSource));
6060
break;
6161

6262
case Integer:
63-
parsedResponse = QVariant(getStringResponse(responseString).toInt());
63+
parsedResponse = QVariant(getStringResponse(responseSource).toInt());
6464
break;
6565

6666
case Bulk:
67-
parsedResponse = parseBulk(responseString);
67+
parsedResponse = QVariant(parseBulk(responseSource));
6868
break;
6969

7070
case MultiBulk:
71-
parsedResponse = QVariant(parseMultiBulk(responseString));
71+
parsedResponse = QVariant(parseMultiBulk(responseSource));
7272
break;
7373
case Unknown:
7474
break;
@@ -77,19 +77,19 @@ QVariant Response::getValue()
7777
return parsedResponse;
7878
}
7979

80-
QVariant Response::parseBulk(const QString& response)
80+
QString Response::parseBulk(const QByteArray& response)
8181
{
8282
int endOfFirstLine = response.indexOf("\r\n");
8383
int responseSize = getSizeOfBulkReply(response, endOfFirstLine);
8484

8585
if (responseSize != -1) {
86-
return QVariant(response.mid(endOfFirstLine + 2, responseSize));
86+
return response.mid(endOfFirstLine + 2, responseSize);
8787
}
8888

89-
return QVariant();
89+
return "";
9090
}
9191

92-
QStringList Response::parseMultiBulk(const QString& response)
92+
QStringList Response::parseMultiBulk(const QByteArray& response)
9393
{
9494
int endOfFirstLine = response.indexOf("\r\n");
9595
int responseSize = getSizeOfBulkReply(response, endOfFirstLine);
@@ -138,12 +138,12 @@ QStringList Response::parseMultiBulk(const QString& response)
138138
return parsedResult;
139139
}
140140

141-
Response::ResponseType Response::getResponseType(const QString & r) const
141+
Response::ResponseType Response::getResponseType(const QByteArray & r) const
142142
{
143143
return getResponseType(r.at(0));
144144
}
145145

146-
Response::ResponseType Response::getResponseType(const QChar typeChar) const
146+
Response::ResponseType Response::getResponseType(const char typeChar) const
147147
{
148148
if (typeChar == '+') return Status;
149149
if (typeChar == '-') return Error;
@@ -154,17 +154,17 @@ Response::ResponseType Response::getResponseType(const QChar typeChar) const
154154
return Unknown;
155155
}
156156

157-
QString Response::getStringResponse(QString response)
157+
QString Response::getStringResponse(const QByteArray& response)
158158
{
159-
return response.mid(1, response.length() - 3);
159+
return response.mid(1, response.length() - 3);
160160
}
161161

162162
bool Response::isValid()
163163
{
164-
return isReplyValid(responseString);
164+
return isReplyValid(responseSource);
165165
}
166166

167-
bool Response::isReplyValid(const QString & responseString)
167+
bool Response::isReplyValid(const QByteArray & responseString)
168168
{
169169
if (responseString.isEmpty())
170170
{
@@ -195,12 +195,12 @@ bool Response::isReplyValid(const QString & responseString)
195195
}
196196
}
197197

198-
bool Response::isReplyGeneralyValid(const QString& r)
198+
bool Response::isReplyGeneralyValid(const QByteArray& r)
199199
{
200200
return r.endsWith("\r\n");
201201
}
202202

203-
int Response::getPosOfNextItem(const QString &r, int startPos = 0)
203+
int Response::getPosOfNextItem(const QByteArray &r, int startPos = 0)
204204
{
205205
if (startPos >= r.size()) {
206206
return -1;
@@ -232,12 +232,12 @@ int Response::getPosOfNextItem(const QString &r, int startPos = 0)
232232

233233
}
234234

235-
bool Response::isIntReplyValid(const QString& r)
235+
bool Response::isIntReplyValid(const QByteArray& r)
236236
{
237237
return !r.isEmpty();
238238
}
239239

240-
bool Response::isBulkReplyValid(const QString& r)
240+
bool Response::isBulkReplyValid(const QByteArray& r)
241241
{
242242
int endOfFirstLine = r.indexOf("\r\n");
243243
int responseSize = getSizeOfBulkReply(r, endOfFirstLine);
@@ -256,7 +256,7 @@ bool Response::isBulkReplyValid(const QString& r)
256256
return true;
257257
}
258258

259-
bool Response::isMultiBulkReplyValid(const QString& r)
259+
bool Response::isMultiBulkReplyValid(const QByteArray& r)
260260
{
261261
int endOfFirstLine = r.indexOf("\r\n");
262262
int responseSize = getSizeOfBulkReply(r, endOfFirstLine);
@@ -300,7 +300,7 @@ bool Response::isMultiBulkReplyValid(const QString& r)
300300
return true;
301301
}
302302

303-
int Response::getSizeOfBulkReply(const QString& reply, int endOfFirstLine, int beginFrom)
303+
int Response::getSizeOfBulkReply(const QByteArray& reply, int endOfFirstLine, int beginFrom)
304304
{
305305
if (endOfFirstLine == -1) {
306306
endOfFirstLine = reply.indexOf("\r\n", beginFrom);
@@ -334,7 +334,7 @@ int Response::getLoadedItemsCount()
334334

335335
bool Response::isErrorMessage() const
336336
{
337-
return getResponseType(responseString) == Error
338-
&& responseString.startsWith("-ERR");
337+
return getResponseType(responseSource) == Error
338+
&& responseSource.startsWith("-ERR");
339339

340340
}

0 commit comments

Comments
 (0)