提交 7a3b74ab 编写于 作者: H Hui Li

[TD-707]

上级 fbf9b9a3
...@@ -22,8 +22,7 @@ static struct argp_option options[] = { ...@@ -22,8 +22,7 @@ static struct argp_option options[] = {
{0, 'd', "dnodeId", 0, "dnode id", 1}, {0, 'd', "dnodeId", 0, "dnode id", 1},
{0, 'p', "port", 0, "dnode port", 1}, {0, 'p', "port", 0, "dnode port", 1},
{0, 'f', "fqdn", 0, "dnode fqdn", 1}, {0, 'f', "fqdn", 0, "dnode fqdn", 1},
{0, 'e', "ep", 0, "dnode ep", 1}, {0, 'g', "multi dnodes", 0, "multi dnode info, e.g. \"2 7030 fqdn1, 3 8030 fqdn2\"", 2},
{0, 'g', "multi dnodes", 0, "multi dnode info, e.g. \"2 7030 fqdn1 ep1:7030, 3 8030 fqdn2 ep2:8030\"", 2},
{0}}; {0}};
/* Used by main to communicate with parse_opt. */ /* Used by main to communicate with parse_opt. */
...@@ -32,7 +31,6 @@ struct arguments { ...@@ -32,7 +31,6 @@ struct arguments {
int32_t dnodeId; int32_t dnodeId;
uint16_t port; uint16_t port;
char* fqdn; char* fqdn;
char* ep;
char* dnodeGroups; char* dnodeGroups;
char** arg_list; char** arg_list;
int arg_list_len; int arg_list_len;
...@@ -53,9 +51,6 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) { ...@@ -53,9 +51,6 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
break; break;
case 'f': case 'f':
arguments->fqdn = arg; arguments->fqdn = arg;
case 'e':
arguments->ep = arg;
break;
case 'g': case 'g':
arguments->dnodeGroups = arg; arguments->dnodeGroups = arg;
break; break;
...@@ -74,7 +69,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) { ...@@ -74,7 +69,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
} }
static struct argp argp = {options, parse_opt, 0, 0}; static struct argp argp = {options, parse_opt, 0, 0};
struct arguments arguments = {NULL, 0, 0, NULL, NULL, NULL, NULL, 0}; struct arguments arguments = {NULL, 0, 0, NULL, NULL, NULL, 0};
SdnodeGroup tsDnodeGroup = {0}; SdnodeGroup tsDnodeGroup = {0};
int tSystemShell(const char * cmd) int tSystemShell(const char * cmd)
...@@ -130,15 +125,13 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo) ...@@ -130,15 +125,13 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo)
char *p; char *p;
int32_t i = 0; int32_t i = 0;
ptr = strtok_r(buf, " ", &p); ptr = strtok_r(buf, " ", &p);
while(ptr != NULL){ while(ptr != NULL) {
if (0 == i) { if (0 == i) {
pDnodeInfo->dnodeId = atoi(ptr); pDnodeInfo->dnodeId = atoi(ptr);
} else if (1 == i) { } else if (1 == i) {
pDnodeInfo->port = atoi(ptr); pDnodeInfo->port = atoi(ptr);
} else if (2 == i) { } else if (2 == i) {
tstrncpy(pDnodeInfo->fqdn, ptr, TSDB_FQDN_LEN); tstrncpy(pDnodeInfo->fqdn, ptr, TSDB_FQDN_LEN);
} else if (3 == i) {
tstrncpy(pDnodeInfo->ep, ptr, TSDB_EP_LEN);
} else { } else {
printf("input parameter error near:%s\n", buf); printf("input parameter error near:%s\n", buf);
exit(-1); exit(-1);
...@@ -146,17 +139,19 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo) ...@@ -146,17 +139,19 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo)
i++; i++;
ptr = strtok_r(NULL, " ", &p); ptr = strtok_r(NULL, " ", &p);
} }
snprintf(pDnodeInfo->ep, TSDB_EP_LEN, "%s:%d", pDnodeInfo->fqdn, pDnodeInfo->port);
} }
void saveDnodeGroups() void saveDnodeGroups()
{ {
if ((NULL != arguments.fqdn) && (NULL != arguments.ep) && (arguments.dnodeId > 0) && (0 != arguments.port)) { if ((NULL != arguments.fqdn) && (arguments.dnodeId > 0) && (0 != arguments.port)) {
//printf("dnodeId:%d port:%d fqdn:%s ep:%s\n", arguments.dnodeId, arguments.port, arguments.fqdn, arguments.ep); //printf("dnodeId:%d port:%d fqdn:%s ep:%s\n", arguments.dnodeId, arguments.port, arguments.fqdn, arguments.ep);
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].dnodeId = arguments.dnodeId; tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].dnodeId = arguments.dnodeId;
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port = arguments.port; tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port = arguments.port;
tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, arguments.fqdn, TSDB_FQDN_LEN); tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, arguments.fqdn, TSDB_FQDN_LEN);
tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].ep, arguments.ep, TSDB_EP_LEN); snprintf(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].ep, TSDB_EP_LEN, "%s:%d", tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port);
tsDnodeGroup.dnodeNum++; tsDnodeGroup.dnodeNum++;
} }
...@@ -192,7 +187,7 @@ int32_t main(int32_t argc, char *argv[]) { ...@@ -192,7 +187,7 @@ int32_t main(int32_t argc, char *argv[]) {
argp_parse(&argp, argc, argv, 0, 0, &arguments); argp_parse(&argp, argc, argv, 0, 0, &arguments);
if ((NULL == arguments.dataDir) || ((NULL == arguments.dnodeGroups) if ((NULL == arguments.dataDir) || ((NULL == arguments.dnodeGroups)
&& (NULL == arguments.fqdn || NULL == arguments.ep || arguments.dnodeId < 1 || 0 == arguments.port))) { && (NULL == arguments.fqdn || arguments.dnodeId < 1 || 0 == arguments.port))) {
printf("input parameter error!\n"); printf("input parameter error!\n");
return -1; return -1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册