Задать вопрос
stsdc
@stsdc

Почему mkdir не создает папку?

mkdir возвращает почему-то -1
Если убрать homedir->str и самому написать путь, то всё работает.
//check if dir exists
    struct stat st = {0};

    GString* homedir = g_string_new(NULL);
    g_string_append(homedir, getenv("HOME"));
    g_string_append(homedir, ".some/qwe");

    printf("%s", homedir->str);

    if (stat(&homedir->str, &st) == -1) {
        int res= mkdir(homedir->str, 0777);
    }
  • Вопрос задан
  • 2897 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Сергей К ответам на вопрос (2)
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
1. Есть ли права на папку, в которой создаете файл? от чьего имени запускается скрипт, есть ли у этого пользователя права на запись?
2. Если mkdir запускается из chroot окружения какого-нибудь, он может быть заменен другой утилитой.
Ответ написан
Комментировать