Page 917 - 3-3
P. 917

delete[] name;
                   }
                   else {
                       char flag = 0;
                       char end[2] = "\r";


                       try {
                           Server->send(&flag, sizeof(flag), fd);
                           Server->send(end, sizeof(end), fd);
                       }
                       catch (TcpServerSock::Exception &e) {
                           std::cerr << std::endl;
                           std::cerr << "Error occured in ProcLogin(), sending fail message failed" <<
               std::endl;
                           e.What();
                           std::cerr << std::endl;


                           close(fd);
                           FD_CLR(fd, &ori_reads);
                       }


                       std::cout << std::endl;
                       std::cout << "Login Failed" << std::endl;
                       std::cout << "ID: " << packet.id << std::endl << std::endl;
                   }
               }


               char* Handler::CheckLogin(packetLogin &packet) {
                   sql::ResultSet *res;
                   char *name = new char[NAMESIZE + 1];
                   memset(name, 0, NAMESIZE + 1);


                   try {
                       LoginStmt->setString(1, packet.id);
                       res = LoginStmt->executeQuery();
                       res->next();


                       if (res->getString("ID").compare(packet.id) == 0 &&
                           res->getString("Password").compare(packet.password) == 0)
                       {
                           strncpy(name, res->getString("Name").c_str(), NAMESIZE);
                       }
                       else {
                           delete[] name;
                           name = NULL;


                                                          - 917 -
   912   913   914   915   916   917   918   919   920   921   922