diff options
author | Julien Dessaux | 2019-08-06 19:22:51 +0200 |
---|---|---|
committer | Julien Dessaux | 2019-08-06 19:22:51 +0200 |
commit | ad333fb2c7790dfcc4a5af286dfb15e8f7db0a27 (patch) | |
tree | ea9d3e35e1e5bc39b43fd388434c65ea714d88de /close_direct_conversations | |
parent | Added a proper subscriptions listing for the direct conversations closer (diff) | |
download | rocket-cli-client-ad333fb2c7790dfcc4a5af286dfb15e8f7db0a27.tar.gz rocket-cli-client-ad333fb2c7790dfcc4a5af286dfb15e8f7db0a27.tar.bz2 rocket-cli-client-ad333fb2c7790dfcc4a5af286dfb15e8f7db0a27.zip |
Migrated the reading of login and password from cli to the common lib
Diffstat (limited to '')
-rw-r--r-- | close_direct_conversations/main.c | 42 |
1 files changed, 6 insertions, 36 deletions
diff --git a/close_direct_conversations/main.c b/close_direct_conversations/main.c index 0938982..82bf851 100644 --- a/close_direct_conversations/main.c +++ b/close_direct_conversations/main.c @@ -1,9 +1,8 @@ #include <stdlib.h> #include <stdio.h> -#include <termios.h> -#include <unistd.h> #include "common/config.h" +#include "common/cli.h" #include "common/util.h" #include "restapi/auth.h" #include "restapi/im.h" @@ -22,40 +21,12 @@ int main(void) } const char* login = config_get_login(); - char* termlogin = NULL; - if (login == NULL) { - size_t len = 0; - printf("Login: "); - ssize_t read = getline(&termlogin, &len, stdin); - if (read > 1) termlogin[read-1] = 0; - login = termlogin; - } + if (login == NULL) + login = common_cli_get_login(); const char* password = config_get_password(); - char* termpassword = NULL; - if (password == NULL) { - struct termios oflags, nflags; - tcgetattr(fileno(stdin), &oflags); - nflags = oflags; - nflags.c_lflag &= ~ECHO; - nflags.c_lflag |= ECHONL; - - if (tcsetattr(fileno(stdin), TCSADRAIN, &nflags) != 0) { - perror("tcsetattr"); - return -1; - } - - size_t len = 0; - printf("Password: "); - size_t read = getline(&termpassword, &len, stdin); - if (read > 1) termpassword[read-1] = 0; - - if (tcsetattr(fileno(stdin), TCSANOW, &oflags) != 0) { - perror("tcsetattr"); - return -1; - } - password = termpassword; - } + if (password == NULL) + password = common_cli_get_password(); if (restapi_login(login, password) == 0) { struct subscription* subscriptions = restapi_subscriptions_get(); @@ -84,8 +55,7 @@ int main(void) restapi_logout(); config_clean(); - free(termlogin); - free(termpassword); + common_cli_free(); return 0; } |