fix help return and detail err

This commit is contained in:
ubuntu201711081 2020-12-05 18:48:49 +00:00
parent b8106683b9
commit 940bf1a32c

View File

@ -210,17 +210,21 @@ int parse_args(int argc,const char * argv[] , in_port_t * port){
if (strcmp(opt,"-h") == 0 || strcmp(opt,"--help") == 0)
{
help(argv[0]);
return 2;
return 0;
}
else if(strcmp(opt,"-p") == 0 || strcmp(opt,"--port") == 0){
if (pos < argc){
const char * value = argv[pos++];
*port = atoi(value);
if (port == 0){ // either not number or zero
fprintf(stderr,"argument is either not number or zero\n");
return 2;
}
}
else return 2; //failed to find argument.
else{
fprintf(stderr,"need argument\n");
return 2; //failed to find argument.
}
}
}
return 0;