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
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