mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 16:35:02 +01:00

The _aa_dirat_for_each() function used the DIR * type for its first parameter. It then switched back and forth between the directory file descriptors, retrieved with dirfd(), and directory streams, retrieved with fdopendir(), when making syscalls and calling the call back function. This patch greatly simplifies the function by simply using directory file descriptors. No functionality is lost since callers can still easily use the function after calling dirfd() to retrieve the underlying file descriptor. Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Acked-by: Seth Arnold <seth.arnold@canonical.com>
21 lines
651 B
C
21 lines
651 B
C
#ifndef __AA_LIB_H_
|
|
#define __AA_LIB_H_
|
|
|
|
#include <sys/apparmor_private.h>
|
|
|
|
#define autofree __attribute((cleanup(_aa_autofree)))
|
|
#define autoclose __attribute((cleanup(_aa_autoclose)))
|
|
#define autofclose __attribute((cleanup(_aa_autofclose)))
|
|
|
|
#define asprintf _aa_asprintf
|
|
|
|
int dirat_for_each(int dirfd, const char *name, void *data,
|
|
int (* cb)(int, const char *, struct stat *, void *));
|
|
|
|
int isodigit(char c);
|
|
long strntol(const char *str, const char **endptr, int base, long maxval,
|
|
size_t n);
|
|
int strn_escseq(const char **pos, const char *chrs, size_t n);
|
|
int str_escseq(const char **pos, const char *chrs);
|
|
|
|
#endif /* __AA_LIB_H_ */
|