@@ -18,24 +18,31 @@ static void signalHandler(int signum)
1818 signal (SIGINT, SIG_DFL);
1919}
2020
21- static bool checkArgs ( int ac, const char **av )
21+ static bool isNumber ( const std::string &str )
2222{
23- if (ac != 2 ) {
24- Logger::error (" Usage: ./r-type_server <port>" );
25- return false ;
23+ for (auto c : str) {
24+ if (c < ' 0' || c > ' 9' ) {
25+ return false ;
26+ }
2627 }
27- if (av[1 ][0 ] == ' \0 ' ) {
28- Logger::error (" Invalid ip" );
28+ return true ;
29+ }
30+
31+ static bool checkArgs (int ac, const char **av)
32+ {
33+ if (ac != 3 ) {
34+ Logger::error (" Usage: ./r-type_server <port> <playerNb>" );
2935 return false ;
3036 }
31- for (int i = 0 ; av[1 ][i] != ' \0 ' ; i++) {
32- if (av[1 ][i] < ' 0' || av[1 ][i] > ' 9' ) {
33- Logger::error (" Invalid port" );
37+ const std::vector<std::string> args (av + 1 , av + ac);
38+ for (const auto &arg : args) {
39+ if (!isNumber (arg)) {
40+ Logger::error (" Invalid argument" );
3441 return false ;
3542 }
3643 }
37- if (std::stoi (av[ 1 ]) < PORT_MIN || std::stoi (av[ 1 ]) > PORT_MAX) {
38- Logger::error (" Invalid port" );
44+ if (std::stoi (args[ 0 ]) < PORT_MIN || std::stoi (args[ 0 ]) > PORT_MAX || std::stoi (args[ 1 ]) < 1 ) {
45+ Logger::error (" Invalid port or playerNb " );
3946 return false ;
4047 }
4148 return true ;
@@ -51,7 +58,7 @@ int main(int ac, const char **av)
5158 return EXIT_EPITECH;
5259 }
5360 Logger::info (" Starting Server..." );
54- if (!Nitwork::NitworkServer::getInstance ().start (std::stoi (av[1 ]))) {
61+ if (!Nitwork::NitworkServer::getInstance ().startServer (std::stoi (av[1 ]), std::stoi (av[ 2 ]))) {
5562 return EXIT_EPITECH;
5663 }
5764 Systems::SystemManagersDirector::getInstance ().addSystemManager (Systems::getECSSystems ());
0 commit comments