summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMark Nunberg <mnunberg@haskalah.org>2018-12-05 07:02:26 -0500
committerMark Nunberg <mnunberg@haskalah.org>2018-12-05 07:02:26 -0500
commit8633a2f32eecb43a0c12e9de1bb358da9e6b7d43 (patch)
tree8e68e0914120f214affd24a7352d1ac947245257 /examples
parent91289c81ee19c6fcef88960fc91eda7d32dae364 (diff)
Allow connections to unix socket in example
To minimize code changes, a simple `u` (or UNIX, Unix, unix, etc -- as long as the first character is u or U) is used as a marker for the 'port' argument. In this case, the hostname is interpreted to be the path to the unix socket.
Diffstat (limited to 'examples')
-rw-r--r--examples/example.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/examples/example.c b/examples/example.c
index 4d494c5..0e93fc8 100644
--- a/examples/example.c
+++ b/examples/example.c
@@ -5,14 +5,27 @@
#include <hiredis.h>
int main(int argc, char **argv) {
- unsigned int j;
+ unsigned int j, isunix = 0;
redisContext *c;
redisReply *reply;
const char *hostname = (argc > 1) ? argv[1] : "127.0.0.1";
+
+ if (argc > 2) {
+ if (*argv[2] == 'u' || *argv[2] == 'U') {
+ isunix = 1;
+ /* in this case, host is the path to the unix socket */
+ printf("Will connect to unix socket @%s\n", hostname);
+ }
+ }
+
int port = (argc > 2) ? atoi(argv[2]) : 6379;
struct timeval timeout = { 1, 500000 }; // 1.5 seconds
- c = redisConnectWithTimeout(hostname, port, timeout);
+ if (isunix) {
+ c = redisConnectUnixWithTimeout(hostname, timeout);
+ } else {
+ c = redisConnectWithTimeout(hostname, port, timeout);
+ }
if (c == NULL || c->err) {
if (c) {
printf("Connection error: %s\n", c->errstr);