int main(int argc, char **argv) { int firstarg; char **argvcopy; struct redisCommand *rc; config.hostip = "127.0.0.1"; config.hostport = 6379; config.repeat = 1; config.dbnum = 0; config.interactive = 0; config.auth = NULL; firstarg = parseOptions(argc,argv); argc -= firstarg; argv += firstarg; if (argc == 0 || config.interactive == 1) repl(); argvcopy = convertToSds(argc, argv); /* Read the last argument from stdandard input if needed */ if ((rc = lookupCommand(argv[0])) != NULL) { if (rc->arity > 0 && argc == rc->arity-1) { sds lastarg = readArgFromStdin(); argvcopy[argc] = lastarg; argc++; } } return cliSendCommand(argc, argvcopy); }
int main(int argc, char **argv) { int firstarg, j; char **argvcopy; config.hostip = "127.0.0.1"; config.hostport = 6379; firstarg = parseOptions(argc,argv); argc -= firstarg; argv += firstarg; /* Turn the plain C strings into Sds strings */ argvcopy = zmalloc(sizeof(char*)*argc+1); for(j = 0; j < argc; j++) argvcopy[j] = sdsnew(argv[j]); /* Read the last argument from stdandard input */ if (!isatty(fileno(stdin))) { sds lastarg = readArgFromStdin(); argvcopy[argc] = lastarg; argc++; } if (argc < 1) { fprintf(stderr, "usage: redis-cli [-h host] [-p port] cmd arg1 arg2 arg3 ... argN\n"); fprintf(stderr, "usage: echo \"argN\" | redis-cli [-h host] [-p port] cmd arg1 arg2 ... arg(N-1)\n"); fprintf(stderr, "\nIf a pipe from standard input is detected this data is used as last argument.\n\n"); fprintf(stderr, "example: cat /etc/passwd | redis-cli set my_passwd\n"); fprintf(stderr, "example: redis-cli get my_passwd\n"); exit(1); } return cliSendCommand(argc, argvcopy); }
static int noninteractive(int argc, char **argv) { int retval = 0; if (config.stdinarg) { argv = zrealloc(argv, (argc+1)*sizeof(char*)); argv[argc] = readArgFromStdin(); retval = cliSendCommand(argc+1, argv, config.repeat); } else { /* stdin is probably a tty, can be tested with S_ISCHR(s.st_mode) */ retval = cliSendCommand(argc, argv, config.repeat); } return retval; }
int main(int argc, char **argv) { int firstarg; char **argvcopy; struct redisCommand *rc; config.hostip = "127.0.0.1"; config.hostport = 6379; config.repeat = 1; config.dbnum = 0; config.shutdown = 0; config.interactive = 0; config.monitor_mode = 0; config.pubsub_mode = 0; config.raw_output = 0; config.auth = NULL; firstarg = parseOptions(argc,argv); argc -= firstarg; argv += firstarg; if (config.auth != NULL) { char *authargv[2]; authargv[0] = "AUTH"; authargv[1] = config.auth; cliSendCommand(2, convertToSds(2, authargv), 1); } if (argc == 0 || config.interactive == 1) repl(); argvcopy = convertToSds(argc, argv); /* Read the last argument from stdandard input if needed */ if ((rc = lookupCommand(argv[0])) != NULL) { if (rc->arity > 0 && argc == rc->arity-1) { sds lastarg = readArgFromStdin(); argvcopy[argc] = lastarg; argc++; } } return cliSendCommand(argc, argvcopy, config.repeat); }
int main(int argc, char **argv) { int firstarg, j; char **argvcopy; struct redisCommand *rc; config.hostip = "127.0.0.1"; config.hostport = 6379; config.repeat = 1; firstarg = parseOptions(argc,argv); argc -= firstarg; argv += firstarg; /* Turn the plain C strings into Sds strings */ argvcopy = zmalloc(sizeof(char*)*argc+1); for(j = 0; j < argc; j++) argvcopy[j] = sdsnew(argv[j]); if (argc < 1) { fprintf(stderr, "usage: redis-cli [-h host] [-p port] [-r repeat_times] cmd arg1 arg2 arg3 ... argN\n"); fprintf(stderr, "usage: echo \"argN\" | redis-cli [-h host] [-p port] -r [repeat_times] cmd arg1 arg2 ... arg(N-1)\n"); fprintf(stderr, "\nIf a pipe from standard input is detected this data is used as last argument.\n\n"); fprintf(stderr, "example: cat /etc/passwd | redis-cli set my_passwd\n"); fprintf(stderr, "example: redis-cli get my_passwd\n"); fprintf(stderr, "example: redis-cli -r 100 lpush mylist x\n"); exit(1); } /* Read the last argument from stdandard input if needed */ if ((rc = lookupCommand(argv[0])) != NULL) { if (rc->arity > 0 && argc == rc->arity-1) { sds lastarg = readArgFromStdin(); argvcopy[argc] = lastarg; argc++; } } return cliSendCommand(argc, argvcopy); }
int main(int argc, char **argv) { int firstarg; char **argvcopy; config.hostip = "127.0.0.1"; config.hostport = 6379; config.repeat = 1; config.dbnum = 0; config.argn_from_stdin = 0; config.shutdown = 0; config.interactive = 0; config.monitor_mode = 0; config.pubsub_mode = 0; config.raw_output = 0; config.auth = NULL; firstarg = parseOptions(argc,argv); argc -= firstarg; argv += firstarg; if (config.auth != NULL) { char *authargv[2]; authargv[0] = "AUTH"; authargv[1] = config.auth; cliSendCommand(2, convertToSds(2, authargv), 1); } if (argc == 0 || config.interactive == 1) repl(); argvcopy = convertToSds(argc+1, argv); if (config.argn_from_stdin) { sds lastarg = readArgFromStdin(); argvcopy[argc] = lastarg; argc++; } return cliSendCommand(argc, argvcopy, config.repeat); }