Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
56ae8aa1
Commit
56ae8aa1
authored
Dec 20, 2011
by
Chip Salzenberg
Browse files
DRY list of integer formats
parent
1d5e27f6
Changes
1
Hide whitespace changes
Inline
Side-by-side
hiredis.c
View file @
56ae8aa1
...
@@ -749,6 +749,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -749,6 +749,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
default:
default:
/* Try to detect printf format */
/* Try to detect printf format */
{
{
static
const
char
intfmts
[]
=
"diouxX"
;
char
_format
[
16
];
char
_format
[
16
];
const
char
*
_p
=
c
+
1
;
const
char
*
_p
=
c
+
1
;
size_t
_l
=
0
;
size_t
_l
=
0
;
...
@@ -774,7 +775,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -774,7 +775,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
va_copy
(
_cpy
,
ap
);
va_copy
(
_cpy
,
ap
);
/* Integer conversion (without modifiers) */
/* Integer conversion (without modifiers) */
if
(
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
int
);
va_arg
(
ap
,
int
);
goto
fmt_valid
;
goto
fmt_valid
;
}
}
...
@@ -788,7 +789,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -788,7 +789,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: char */
/* Size: char */
if
(
_p
[
0
]
==
'h'
&&
_p
[
1
]
==
'h'
)
{
if
(
_p
[
0
]
==
'h'
&&
_p
[
1
]
==
'h'
)
{
_p
+=
2
;
_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 */
va_arg
(
ap
,
int
);
/* char gets promoted to int */
goto
fmt_valid
;
goto
fmt_valid
;
}
}
...
@@ -798,7 +799,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -798,7 +799,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: short */
/* Size: short */
if
(
_p
[
0
]
==
'h'
)
{
if
(
_p
[
0
]
==
'h'
)
{
_p
+=
1
;
_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 */
va_arg
(
ap
,
int
);
/* short gets promoted to int */
goto
fmt_valid
;
goto
fmt_valid
;
}
}
...
@@ -808,7 +809,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -808,7 +809,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: long long */
/* Size: long long */
if
(
_p
[
0
]
==
'l'
&&
_p
[
1
]
==
'l'
)
{
if
(
_p
[
0
]
==
'l'
&&
_p
[
1
]
==
'l'
)
{
_p
+=
2
;
_p
+=
2
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
long
long
);
va_arg
(
ap
,
long
long
);
goto
fmt_valid
;
goto
fmt_valid
;
}
}
...
@@ -818,7 +819,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
...
@@ -818,7 +819,7 @@ int redisvFormatCommand(char **target, const char *format, va_list ap) {
/* Size: long */
/* Size: long */
if
(
_p
[
0
]
==
'l'
)
{
if
(
_p
[
0
]
==
'l'
)
{
_p
+=
1
;
_p
+=
1
;
if
(
*
_p
!=
'\0'
&&
strchr
(
"diouxX"
,
*
_p
)
!=
NULL
)
{
if
(
*
_p
!=
'\0'
&&
strchr
(
intfmts
,
*
_p
)
!=
NULL
)
{
va_arg
(
ap
,
long
);
va_arg
(
ap
,
long
);
goto
fmt_valid
;
goto
fmt_valid
;
}
}
...
...
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