summaryrefslogtreecommitdiff
path: root/tdutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'tdutils.c')
-rw-r--r--tdutils.c49
1 files changed, 24 insertions, 25 deletions
diff --git a/tdutils.c b/tdutils.c
index f9a5502..18c1729 100644
--- a/tdutils.c
+++ b/tdutils.c
@@ -68,6 +68,7 @@ static void *main_sighandler(void *arg) {
case SIGINT:
case SIGTERM:
if (td == -1) goto cleanup;
+ LOGI("Stopping ..."); /* Not safe */
tg_close();
goto cleanup;
default:
@@ -78,7 +79,7 @@ static void *main_sighandler(void *arg) {
pthread_exit(NULL);
}
-static void sighandler_init() {
+static void sighandler_init(void) {
int r;
sigemptyset(&set);
sigaddset(&set, SIGTERM);
@@ -200,10 +201,10 @@ static void tdcb_free() {
cbs = NULL;
}
-void td_init() {
+void td_init(void) {
sighandler_init();
td = TdCClientCreateId();
- TdDestroyObjectObject(TdCClientExecute((struct TdFunction *) TdCreateObjectSetLogVerbosityLevel(0)));
+ TdDestroyObjectObject(TdCClientExecute((struct TdFunction *) TdCreateObjectSetLogVerbosityLevel(2)));
td_send(TdCreateObjectGetOption("version"), &fetal_cb, NULL);
}
@@ -232,6 +233,7 @@ static void auth(bool successful, struct TdObject *result, struct TdError *error
tg_close();
return;
}
+ LOGI("Logging in ...");
td_send(TdCreateObjectCheckAuthenticationBotToken((char *) cmd.bot_token),
&auth,
NULL);
@@ -240,23 +242,24 @@ static void auth(bool successful, struct TdObject *result, struct TdError *error
static int handle_auth(const struct TdUpdateAuthorizationState *update) {
switch (update->authorization_state_->ID) {
case CODE_AuthorizationStateWaitTdlibParameters:
- td_send(TdCreateObjectSetTdlibParameters(TdCreateObjectTdlibParameters(
- cmd.test_dc,
- (char *) cmd.td_path,
- NULL,
- false,
- false,
- false,
- false,
- cmd.api_id,
- (char *) cmd.api_hash,
- "en",
- "Desktop",
- "0.0",
- "ksyxbotd "VER_MAJOR"."VER_MINOR,
- false,
- true
- )),
+ td_send(TdCreateObjectSetTdlibParameters(
+ cmd.test_dc, /* use_test_dc */
+ (char *) cmd.td_path, /* database_directory */
+ NULL, /* files_directory */
+ TdCreateObjectBytes((unsigned char *) {0x0}, 0), /* database_encryption_key */
+ false, /* use_files_databse */
+ false, /* use_chat_info_database */
+ false, /* use_message_database */
+ false, /* use_secret_chats */
+ cmd.api_id, /* api_id */
+ (char *) cmd.api_hash, /* api_hash */
+ "en", /* system_language_code */
+ "Desktop", /* device_model */
+ "0.0", /* system_version */
+ "ksyxbotd "VER_MAJOR"."VER_MINOR, /* application_version */
+ false, /* enable_storage_optimizer */
+ true /* ignore_file_names */
+ ),
&fetal_cb,
NULL);
return 0;
@@ -275,11 +278,6 @@ static int handle_auth(const struct TdUpdateAuthorizationState *update) {
}
return post_auth();
}
- case CODE_AuthorizationStateWaitEncryptionKey: {
- td_send(TdCreateObjectCheckDatabaseEncryptionKey(TdCreateObjectBytes((unsigned char *) {0x0}, 0)),
- &fetal_cb, NULL);
- return 0;
- }
case CODE_AuthorizationStateLoggingOut: {
return 0;
}
@@ -344,6 +342,7 @@ void td_loop() {
((struct TdUpdateAuthorizationState *) obj)->authorization_state_->ID ==
CODE_AuthorizationStateClosed) {
closing = true;
+ LOGI("TDLib stopped.");
TdDestroyObjectObject(obj);
return;
}