Skip to content

Commit c90649a

Browse files
committed
redis_boolean_response_impl refactoring
1 parent 6c1101f commit c90649a

File tree

1 file changed

+9
-25
lines changed

1 file changed

+9
-25
lines changed

library.c

+9-25
Original file line numberDiff line numberDiff line change
@@ -1117,36 +1117,20 @@ redis_boolean_response_impl(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
11171117

11181118
char *response;
11191119
int response_len;
1120-
char ret;
1120+
zend_bool ret = 0;
11211121

1122-
if ((response = redis_sock_read(redis_sock, &response_len TSRMLS_CC)) == NULL) {
1123-
IF_MULTI_OR_PIPELINE() {
1124-
add_next_index_bool(z_tab, 0);
1125-
return;
1126-
}
1127-
RETURN_FALSE;
1122+
if ((response = redis_sock_read(redis_sock, &response_len TSRMLS_CC)) != NULL) {
1123+
ret = (*response == '+');
1124+
efree(response);
11281125
}
1129-
ret = response[0];
1130-
efree(response);
11311126

1127+
if (ret && success_callback != NULL) {
1128+
success_callback(redis_sock);
1129+
}
11321130
IF_MULTI_OR_PIPELINE() {
1133-
if (ret == '+') {
1134-
if (success_callback != NULL) {
1135-
success_callback(redis_sock);
1136-
}
1137-
add_next_index_bool(z_tab, 1);
1138-
} else {
1139-
add_next_index_bool(z_tab, 0);
1140-
}
1131+
add_next_index_bool(z_tab, ret);
11411132
} else {
1142-
if (ret == '+') {
1143-
if (success_callback != NULL) {
1144-
success_callback(redis_sock);
1145-
}
1146-
RETURN_TRUE;
1147-
} else {
1148-
RETURN_FALSE;
1149-
}
1133+
RETURN_BOOL(ret);
11501134
}
11511135
}
11521136

0 commit comments

Comments
 (0)