1
#ifndef PRECOMPOSE_UNICODE_H
8
typedef struct dirent_prec_psx {
9
ino_t d_ino; /* Posix */
10
size_t max_name_len; /* See below */
11
unsigned char d_type; /* available on all systems git runs on */
14
* See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
15
* NAME_MAX + 1 should be enough, but some systems have
16
* NAME_MAX=255 and strlen(d_name) may return 508 or 510
17
* Solution: allocate more when needed, see precompose_utf8_readdir()
19
char d_name[NAME_MAX+1];
24
iconv_t ic_precompose;
26
struct dirent_prec_psx *dirent_nfc;
29
void precompose_argv(int argc, const char **argv);
30
void probe_utf8_pathname_composition(char *, int);
32
PREC_DIR *precompose_utf8_opendir(const char *dirname);
33
struct dirent_prec_psx *precompose_utf8_readdir(PREC_DIR *dirp);
34
int precompose_utf8_closedir(PREC_DIR *dirp);
36
#ifndef PRECOMPOSE_UNICODE_C
37
#define dirent dirent_prec_psx
38
#define opendir(n) precompose_utf8_opendir(n)
39
#define readdir(d) precompose_utf8_readdir(d)
40
#define closedir(d) precompose_utf8_closedir(d)
42
#endif /* PRECOMPOSE_UNICODE_C */
44
#define PRECOMPOSE_UNICODE_H
45
#endif /* PRECOMPOSE_UNICODE_H */