1. C++ / Говнокод #19731

    +6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    #ifdef _WIN32
    ...
    #elif defined __linux__
                std::string path;
                char buff[PATH_MAX];
                ssize_t len = ::readlink("/proc/self/exe", buff, sizeof(buff)-1);
                if (len != -1)
                {
                  buff[len] = '\0';
                  path = buff;
                }
                else
                {
                    return -1;
                }
    
                int pos = path.rfind("/");
                if (pos == std::string::npos)
                    return - 1;
    
                path = path.substr(0, pos + 1);
                path += "updater";
                std::string sys_path = path;
                boost::replace_all(sys_path, " ", "\\ ");
                std::string rm = "rm -f ";
                rm += sys_path;
                system(rm.c_str());
                _data.save_2_file(core::tools::from_utf8(path));
                std::string chmod = "chmod 755 ";
                chmod += sys_path;
                system(chmod.c_str());
                system(sys_path.c_str());
    #endif //_WIN32

    Как правильно обновлять #mailru/icqdesktop на Linux, если вы понимаете о чём я.

    Запостил: gmmephisto, 31 Марта 2016

    Комментарии (10) RSS

    • Гыгы, он сказал rm -rf

      Нет, все-таки не понял, зачем так.
      Ответить
    • Пакетные менеджеры? Что это? У меня нет времени, чтобы разбираться с ними.
      Ответить
      • Сёма писал наверное

        Сёма считает что программист не должен уметь пользоваться Linux, а тех кто умеет, презрительно называет "прыщеблядями"

        Ой, я забыл
        Сёма сей не знает
        Ответить
    • боюсь представить что там в #ifdef _WIN32
      Ответить
    • утилиты mail.ru только через rm -rf и обновлять
      Ответить

    Добавить комментарий