Tweak options

- Change -s to -S to avoid clash with fuses singlethread option
  (mostly for testing).
- Merge port option with server option (server = host:port)
  (simpler).
This commit is contained in:
Kim Woelders
2018-07-05 08:23:18 +02:00
parent 2fb5ad2599
commit cbbb0cd225
+28 -8
View File
@@ -34,9 +34,11 @@ static struct ttynvt_param {
unsigned int major;
unsigned int minor;
const char *dev_name;
char *host;
unsigned int port;
char *server;
unsigned int debug;
/* Derived */
char host[64];
unsigned int port;
} ttynvt_param;
typedef struct ttynvt {
@@ -799,10 +801,8 @@ static const struct fuse_opt ttynvt_opts[] = {
TTYNET_OPT("--min=%u", minor, 1),
TTYNET_OPT("-n %s", dev_name, 0),
TTYNET_OPT("--name=%s", dev_name, 0),
TTYNET_OPT("-s %s", host, 0),
TTYNET_OPT("--server=%s", host, 0),
TTYNET_OPT("-p %u", port, 0),
TTYNET_OPT("--port=%u", port, 0),
TTYNET_OPT("-S %s", server, 0),
TTYNET_OPT("--server=%s", server, 0),
FUSE_OPT_KEY("-h", 0),
FUSE_OPT_KEY("--help", 0),
FUSE_OPT_END
@@ -816,8 +816,7 @@ static void print_help(void)
"\t-m minor, --min=minor\n"
"\t-n name, --name=name (default: ttyNVT0)\n"
"\t\tDevice will be created in /dev/$name.\n"
"\t-s server, --server=host name or IP address\n"
"\t-p port, --port=host port number\n" "\n");
"\t-S server, --server=host:port\n");
}
static int
@@ -835,6 +834,7 @@ process_arg(void *data, const char *arg, int key, struct fuse_args *outargs)
int main(int argc, char *argv[])
{
int rc;
struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
char dev_name[128];
@@ -851,6 +851,26 @@ int main(int argc, char *argv[])
if (!ttynvt_param.dev_name)
ttynvt_param.dev_name = "ttyNVT0";
if (!ttynvt_param.server)
{
fprintf(stderr, "Server must be specified\n");
return 1;
}
rc = sscanf(ttynvt_param.server, "%63[^:]:%u", ttynvt_param.host,
&ttynvt_param.port);
if (rc <= 1)
{
fprintf(stderr, "Bad server specification: '%s'\n",
ttynvt_param.server);
return 1;
}
if (ttynvt_param.port == 0)
{
fprintf(stderr, "Bad server port: %u\n", ttynvt_param.port);
return 1;
}
snprintf(dev_name, sizeof(dev_name), "DEVNAME=%s", ttynvt_param.dev_name);
struct cuse_info ci = {