1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]

This commit is contained in:
Nobuyoshi Nakada 2020-12-20 15:29:21 +09:00
parent 5b98b2ce39
commit 95862ae440
Notes: git 2020-12-20 18:34:28 +09:00
2 changed files with 10 additions and 1 deletions

View file

@ -32,6 +32,7 @@ typedef struct {
DIR* rb_w32_opendir(const char*);
DIR* rb_w32_uopendir(const char*);
struct direct* rb_w32_readdir(DIR *, rb_encoding *);
struct direct* rb_w32_ureaddir(DIR *);
long rb_w32_telldir(DIR *);
void rb_w32_seekdir(DIR *, long);
void rb_w32_rewinddir(DIR *);
@ -39,7 +40,7 @@ void rb_w32_closedir(DIR *);
char *rb_w32_ugetcwd(char *, int);
#define opendir(s) rb_w32_uopendir((s))
#define readdir(d) rb_w32_readdir((d), 0)
#define readdir(d) rb_w32_ureaddir((d))
#define telldir(d) rb_w32_telldir((d))
#define seekdir(d, l) rb_w32_seekdir((d), (l))
#define rewinddir(d) rb_w32_rewinddir((d))

View file

@ -2356,6 +2356,14 @@ rb_w32_readdir(DIR *dirp, rb_encoding *enc)
return readdir_internal(dirp, ruby_direct_conv, enc);
}
/* License: Ruby's */
struct direct *
rb_w32_ureaddir(DIR *dirp)
{
const UINT cp = CP_UTF8;
return readdir_internal(dirp, win32_direct_conv, &cp);
}
//
// Telldir returns the current string pointer position
//