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
d5d88437
Commit
d5d88437
authored
Dec 20, 2011
by
Pieter Noordhuis
Browse files
Merge pull request #72 from chipdude/master
Fix self-test of connect error on Linux; merge duplicated string (DRY)
parents
95e83386
56ae8aa1
Changes
2
Hide whitespace changes
Inline
Side-by-side
hiredis.c
View file @
d5d88437
...
...
@@ -749,6 +749,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
default:
/* Try to detect printf format */
{
static
const
char
intfmts
[]
=
"diouxX"
;
char
_format
[
16
];
const
char
*
_p
=
c
+
1
;
size_t
_l
=
0
;
...
...
@@ -774,7 +775,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
va_copy
(
_cpy
,
ap
);
/* Integer conversion (without modifiers) */
if
(
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
int
);
goto
fmt_valid
;
}
...
...
@@ -788,7 +789,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: char */
if
(
_p
[
0
]
==
'h'
&&
_p
[
1
]
==
'h'
)
{
_p
+=
2
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
int
);
/* char gets promoted to int */
goto
fmt_valid
;
}
...
...
@@ -798,7 +799,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: short */
if
(
_p
[
0
]
==
'h'
)
{
_p
+=
1
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
int
);
/* short gets promoted to int */
goto
fmt_valid
;
}
...
...
@@ -808,7 +809,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: long long */
if
(
_p
[
0
]
==
'l'
&&
_p
[
1
]
==
'l'
)
{
_p
+=
2
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
long
long
);
goto
fmt_valid
;
}
...
...
@@ -818,7 +819,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: long */
if
(
_p
[
0
]
==
'l'
)
{
_p
+=
1
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
long
);
goto
fmt_valid
;
}
...
...
test.c
View file @
d5d88437
...
...
@@ -177,7 +177,7 @@ static void test_format_commands(void) {
FLOAT_WIDTH_TEST
(
double
);
test
(
"Format command with invalid printf format: "
);
len
=
redisFormatCommand
(
&
cmd
,
"key:%08p %b"
,
1234
,
"foo"
,
3
);
len
=
redisFormatCommand
(
&
cmd
,
"key:%08p %b"
,
(
void
*
)
1234
,
"foo"
,
3
);
test_cond
(
len
==
-
1
);
const
char
*
argv
[
3
];
...
...
@@ -283,7 +283,8 @@ static void test_blocking_connection_errors(void) {
test
(
"Returns error when host cannot be resolved: "
);
c
=
redisConnect
((
char
*
)
"idontexist.local"
,
6379
);
test_cond
(
c
->
err
==
REDIS_ERR_OTHER
&&
strcmp
(
c
->
errstr
,
"Can't resolve: idontexist.local"
)
==
0
);
(
strcmp
(
c
->
errstr
,
"Name or service not known"
)
==
0
||
strcmp
(
c
->
errstr
,
"Can't resolve: idontexist.local"
)
==
0
));
redisFree
(
c
);
test
(
"Returns error when the port is not open: "
);
...
...
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