~ubuntu-branches/debian/sid/git/sid

« back to all changes in this revision

Viewing changes to compat/precompose_utf8.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Nieder
  • Date: 2013-06-12 07:50:53 UTC
  • mfrom: (1.2.19) (2.1.31 experimental)
  • Revision ID: package-import@ubuntu.com-20130612075053-uue9xe0dq0rvm44y
Tags: 1:1.8.3.1-1
* merge branch debian-experimental
* new upstream point release (see RelNotes/1.8.3.1.txt).
* debian/watch: use xz-compressed tarballs from kernel.org.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef PRECOMPOSE_UNICODE_H
 
2
#include <sys/stat.h>
 
3
#include <sys/types.h>
 
4
#include <dirent.h>
 
5
#include <iconv.h>
 
6
 
 
7
 
 
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 */
 
12
 
 
13
        /*
 
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()
 
18
         */
 
19
        char   d_name[NAME_MAX+1];
 
20
} dirent_prec_psx;
 
21
 
 
22
 
 
23
typedef struct {
 
24
        iconv_t ic_precompose;
 
25
        DIR *dirp;
 
26
        struct dirent_prec_psx *dirent_nfc;
 
27
} PREC_DIR;
 
28
 
 
29
void precompose_argv(int argc, const char **argv);
 
30
void probe_utf8_pathname_composition(char *, int);
 
31
 
 
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);
 
35
 
 
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)
 
41
#define DIR PREC_DIR
 
42
#endif /* PRECOMPOSE_UNICODE_C */
 
43
 
 
44
#define  PRECOMPOSE_UNICODE_H
 
45
#endif /* PRECOMPOSE_UNICODE_H */