/
githubmirror
/
strace
Обзор
Документация
Войти
/
githubmirror
/
strace
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/subdir.c
40 строк
745 B
Dmitry V. Levin
tests: introduce create_and_enter_subdir and leave_and_remove_subdir
01 апр 2021, 11:00
01 апр 2021, 11:00
ec976e4
Код
Авторство
О чём код?
/* * Copyright (c) 2021 The strace developers. * All rights reserved. * * SPDX-License-Identifier: GPL-2.0-or-later */ #include "tests.h" #include <dirent.h> #include <unistd.h> #include <sys/stat.h> static const char *subdir; static DIR *dirp; void create_and_enter_subdir(const char *name) { dirp = opendir("."); if (!dirp) perror_msg_and_fail("opendir: %s", "."); (void) mkdir(name, 0700); if (chdir(name)) perror_msg_and_fail("chdir: %s", name); subdir = name; } void leave_and_remove_subdir(void) { if (fchdir(dirfd(dirp))) perror_msg_and_fail("fchdir: %d", dirfd(dirp)); if (closedir(dirp)) perror_msg_and_fail("closedir"); dirp = 0; if (rmdir(subdir)) perror_msg_and_fail("rmdir: %s", subdir); subdir = 0; }