Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
9c4ee606
Commit
9c4ee606
authored
Nov 04, 2010
by
Pieter Noordhuis
Browse files
Use strchr in a loop rather than strstr
parent
2e5e9a49
Changes
1
Hide whitespace changes
Inline
Side-by-side
hiredis.c
View file @
9c4ee606
...
@@ -162,11 +162,20 @@ static char *readBytes(redisReader *r, unsigned int bytes) {
...
@@ -162,11 +162,20 @@ static char *readBytes(redisReader *r, unsigned int bytes) {
return
NULL
;
return
NULL
;
}
}
static
char
*
seekNewline
(
char
*
s
)
{
/* Find pointer to \r\n without strstr */
while
(
s
!=
NULL
&&
s
[
0
]
!=
'\r'
&&
s
[
1
]
!=
'\n'
)
s
=
strchr
(
s
,
'\r'
);
return
s
;
}
static
char
*
readLine
(
redisReader
*
r
,
int
*
_len
)
{
static
char
*
readLine
(
redisReader
*
r
,
int
*
_len
)
{
char
*
p
,
*
s
=
strstr
(
r
->
buf
+
r
->
pos
,
"
\r\n
"
)
;
char
*
p
,
*
s
;
int
len
;
int
len
;
p
=
r
->
buf
+
r
->
pos
;
s
=
seekNewline
(
p
);
if
(
s
!=
NULL
)
{
if
(
s
!=
NULL
)
{
p
=
r
->
buf
+
r
->
pos
;
len
=
s
-
(
r
->
buf
+
r
->
pos
);
len
=
s
-
(
r
->
buf
+
r
->
pos
);
r
->
pos
+=
len
+
2
;
/* skip \r\n */
r
->
pos
+=
len
+
2
;
/* skip \r\n */
if
(
_len
)
*
_len
=
len
;
if
(
_len
)
*
_len
=
len
;
...
@@ -234,7 +243,7 @@ static int processBulkItem(redisReader *r) {
...
@@ -234,7 +243,7 @@ static int processBulkItem(redisReader *r) {
unsigned
long
bytelen
;
unsigned
long
bytelen
;
p
=
r
->
buf
+
r
->
pos
;
p
=
r
->
buf
+
r
->
pos
;
s
=
s
trstr
(
p
,
"
\r\n
"
);
s
=
s
eekNewline
(
p
);
if
(
s
!=
NULL
)
{
if
(
s
!=
NULL
)
{
p
=
r
->
buf
+
r
->
pos
;
p
=
r
->
buf
+
r
->
pos
;
bytelen
=
s
-
(
r
->
buf
+
r
->
pos
)
+
2
;
/* include \r\n */
bytelen
=
s
-
(
r
->
buf
+
r
->
pos
)
+
2
;
/* include \r\n */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment