diff --git a/main.c b/main.c index 4776f07..f159ee5 100644 --- a/main.c +++ b/main.c @@ -45,7 +45,7 @@ #include #include -#ifdef HAVE_EXECINFO_H +#if defined(HAVE_EXECINFO_H) && !defined(__ANDROID__) #include #endif #include @@ -173,6 +173,8 @@ char *get_home_directory (void) { if (!str_empty (home_directory)) { return home_directory = tstrdup (home_directory); } home_directory = getenv("HOME"); if (!str_empty (home_directory)) { return home_directory = tstrdup (home_directory); } + +#ifndef __ANDROID__ struct passwd *current_passwd; uid_t user_id; setpwent (); @@ -185,6 +187,9 @@ char *get_home_directory (void) { } endpwent (); if (str_empty (home_directory)) { home_directory = tstrdup ("."); } +#else + home_directory = tstrdup ("@TERMUX_HOME@"); +#endif return home_directory; } @@ -552,6 +557,9 @@ int accept_any_tcp; char *bot_hash; int change_user_group () { +#ifdef __ANDROID__ + return 0; +#endif char *username = set_user_name; char *groupname = set_group_name; struct passwd *pw; @@ -798,7 +806,7 @@ void args_parse (int argc, char **argv) { } } -#ifdef HAVE_EXECINFO_H +#if defined(HAVE_EXECINFO_H) && !defined(__ANDROID__) void print_backtrace (void) { void *buffer[255]; const int calls = backtrace (buffer, sizeof (buffer) / sizeof (void *)); @@ -993,7 +1001,7 @@ int main (int argc, char **argv) { #ifdef __FreeBSD__ tgl_set_rsa_key (TLS, "/usr/local/etc/" PROG_NAME "/server.pub"); #else - tgl_set_rsa_key (TLS, "/etc/" PROG_NAME "/server.pub"); + tgl_set_rsa_key (TLS, "@TERMUX_PREFIX@/etc/" PROG_NAME "/server.pub"); #endif tgl_set_rsa_key (TLS, "tg-server.pub");