Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
62fe8f4c
Commit
62fe8f4c
authored
May 01, 2006
by
Damien Fouilleul
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- unicode.c: possible fix for UTF8 filename support under WinMe/98/95, needs testing though
parent
b4fa3ce6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
6 deletions
+40
-6
src/misc/unicode.c
src/misc/unicode.c
+40
-6
No files found.
src/misc/unicode.c
View file @
62fe8f4c
...
...
@@ -331,11 +331,28 @@ FILE *utf8_fopen( const char *filename, const char *mode )
}
wpath
[
MAX_PATH
]
=
L'\0'
;
/*
* fopen() cannot open files with non-“ANSI” characters on Windows.
* We use _wfopen() instead. Same thing for mkdir() and stat().
*/
return
_wfopen
(
wpath
,
wmode
);
/* retrieve OS version */
if
(
GetVersion
()
<
0x80000000
)
{
/* for Windows NT and above */
/*
* fopen() cannot open files with non-“ANSI” characters on Windows.
* We use _wfopen() instead. Same thing for mkdir() and stat().
*/
return
_wfopen
(
wpath
,
wmode
);
}
else
{
/* for Windows Me/98/95 */
/* we use GetShortFileNameW to get the DOS 8.3 version of the file we need to open */
char
spath
[
MAX_PATH
+
1
];
if
(
GetShortPathNameW
(
wpath
,
spath
,
MAX_PATH
)
)
{
return
fopen
(
spath
,
wmode
);
}
errno
=
ENOENT
;
return
NULL
;
}
#endif
}
...
...
@@ -517,7 +534,24 @@ static int utf8_statEx( const char *filename, void *buf,
}
wpath
[
MAX_PATH
]
=
L'\0'
;
return
_wstati64
(
wpath
,
(
struct
_stati64
*
)
buf
);
/* retrieve Windows OS version */
if
(
GetVersion
()
<
0x80000000
)
{
/* for Windows NT and above */
return
_wstati64
(
wpath
,
(
struct
_stati64
*
)
buf
);
}
else
{
/* for Windows Me/98/95 */
/* we use GetShortFileNameW to get the DOS 8.3 version */
char
spath
[
MAX_PATH
+
1
];
if
(
GetShortPathNameW
(
wpath
,
spath
,
MAX_PATH
)
)
{
return
_stati64
(
spath
,
(
struct
_stati64
*
)
buf
);
}
errno
=
ENOENT
;
return
-
1
;
}
#endif
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment