static void opts(int argc, char **argv, Wal *w) { int i; int64 ms; for (i = 1; i < argc; ++i) { if (argv[i][0] != '-') usage("unknown option", argv[i]); if (argv[i][1] == 0 || argv[i][2] != 0) usage("unknown option",argv[i]); switch (argv[i][1]) { case 'p': port = require_arg("-p", argv[++i]); warn_systemd_ignored_option("-p", argv[i]); break; case 'l': host_addr = require_arg("-l", argv[++i]); warn_systemd_ignored_option("-l", argv[i]); break; case 'z': job_data_size_limit = parse_size_t(require_arg("-z", argv[++i])); break; case 's': w->filesz = parse_size_t(require_arg("-s", argv[++i])); break; case 'c': w->nocomp = 0; break; case 'n': w->nocomp = 1; break; case 'f': ms = (int64)parse_size_t(require_arg("-f", argv[++i])); w->syncrate = ms * 1000000; w->wantsync = 1; break; case 'F': w->wantsync = 0; break; case 'u': user = require_arg("-u", argv[++i]); break; case 'b': w->dir = require_arg("-b", argv[++i]); w->use = 1; break; case 'h': usage(NULL, NULL); case 'v': printf("beanstalkd %s\n", version); exit(0); case 'V': verbose++; break; default: usage("unknown option", argv[i]); } } }
/* * * helper function to get the args * */ static char * _get_arg(char * name) { char * exp = get_exp(); if (exp == NULL) { require_arg(name); } #ifdef DEBUG fprintf(stderr, "expression is %s\n", name); fprintf(stderr, "arg is %s\n", exp); #endif return exp; }
static void opts(int argc, char **argv) { int i; for (i = 1; i < argc; ++i) { if (argv[i][0] != '-') usage("unknown option", argv[i]); if (argv[i][1] == 0 || argv[i][2] != 0) usage("unknown option",argv[i]); switch (argv[i][1]) { case 'd': detach = 1; break; case 'p': port = require_arg("-p", argv[++i]); warn_systemd_ignored_option("-p", argv[i]); break; case 'l': host_addr = require_arg("-l", argv[++i]); warn_systemd_ignored_option("-l", argv[i]); break; case 'z': job_data_size_limit = parse_size_t(require_arg("-z", argv[++i])); break; case 's': binlog_size_limit = parse_size_t(require_arg("-s", argv[++i])); break; case 'f': fsync_throttle_ms = parse_size_t(require_arg("-f", argv[++i])); enable_fsync = 1; break; case 'F': enable_fsync = 0; break; case 'u': user = require_arg("-u", argv[++i]); break; case 'b': binlog_dir = require_arg("-b", argv[++i]); break; case 'h': usage(NULL, NULL); case 'v': printf("beanstalkd %s\n", VERSION); exit(0); default: usage("unknown option", argv[i]); } } }