X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f61f588783b68ff542e6735a90a8dcbe9ad8308e..466401257ced70054df06e81bd4119ea426657cd:/projects/sgconf/main.cpp?ds=sidebyside diff --git a/projects/sgconf/main.cpp b/projects/sgconf/main.cpp index 69756712..2c02be27 100644 --- a/projects/sgconf/main.cpp +++ b/projects/sgconf/main.cpp @@ -108,7 +108,8 @@ struct option long_options_get[] = { {"email", 0, 0, 'L'}, //emaiL {"phone", 0, 0, 'P'}, //phone {"group", 0, 0, 'G'}, //Group -{"ip", 0, 0, 'I'}, //IP-address of user +{"ip", 0, 0, 'I'}, //IP-address of user +{"authorized-by",0, 0, 800}, //always online {0, 0, 0, 0}}; @@ -846,6 +847,10 @@ while (1) req.ud[c - 700] = " "; break; + case 800: + req.authBy = true; + break; + case '?': case ':': //printf ("Unknown option \n"); @@ -873,7 +878,10 @@ if (missedOptionArg || !CheckParametersGet(&req)) exit(PARAMETER_PARSING_ERR_CODE); } -return ProcessGetUser(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req); +if (req.authBy) + return ProcessAuthBy(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req); +else + return ProcessGetUser(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req); } //----------------------------------------------------------------------------- int mainSet(int argc, char **argv) @@ -973,7 +981,7 @@ while (1) break; case 'N': //Note - ParseAnyString(optarg, &str); + ParseAnyString(optarg, &str, "koi8-ru"); req.note = str; break; @@ -983,12 +991,12 @@ while (1) break; case 'D': //aDdress - ParseAnyString(optarg, &str); + ParseAnyString(optarg, &str, "koi8-ru"); req.address = str; break; case 'L': //emaiL - ParseAnyString(optarg, &str); + ParseAnyString(optarg, &str, "koi8-ru"); req.email = str; //printf("EMAIL=%s\n", optarg); break; @@ -999,7 +1007,7 @@ while (1) break; case 'G': //Group - ParseAnyString(optarg, &str); + ParseAnyString(optarg, &str, "koi8-ru"); req.group = str; break;