summaryrefslogtreecommitdiff
path: root/src/share/win_utf8_io/win_utf8_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/win_utf8_io/win_utf8_io.c')
-rw-r--r--src/share/win_utf8_io/win_utf8_io.c141
1 files changed, 1 insertions, 140 deletions
diff --git a/src/share/win_utf8_io/win_utf8_io.c b/src/share/win_utf8_io/win_utf8_io.c
index 6b5c56c3..6cb40332 100644
--- a/src/share/win_utf8_io/win_utf8_io.c
+++ b/src/share/win_utf8_io/win_utf8_io.c
@@ -103,8 +103,6 @@ static wchar_t *wchar_from_utf8(const char *str)
return widestr;
}
-static void set_filename_utf8(int b);
-
/* retrieve WCHAR commandline, expand wildcards and convert everything to UTF-8 */
int get_utf8_argv(int *argc, char ***argv)
{
@@ -144,7 +142,7 @@ int get_utf8_argv(int *argc, char ***argv)
FreeLibrary(handle); /* do not free it when wargv or wenv are still in use */
if (ret == 0) {
- set_filename_utf8(1);
+ flac_set_utf8_filenames(true);
*argc = wargc;
*argv = utf8argv;
} else {
@@ -258,140 +256,3 @@ int vfprintf_utf8(FILE *stream, const char *format, va_list argptr)
return ret;
}
-
-/* file functions */
-
-static int utf8_filename = 0;
-
-static void set_filename_utf8(int b)
-{
- utf8_filename = b ? 1: 0;
-}
-
-FILE *fopen_utf8(const char *filename, const char *mode)
-{
- if (0 == utf8_filename) {
- return fopen(filename, mode);
- } else {
- wchar_t *wname = NULL;
- wchar_t *wmode = NULL;
- FILE *f = NULL;
-
- do {
- if (!(wname = wchar_from_utf8(filename))) break;
- if (!(wmode = wchar_from_utf8(mode))) break;
- f = _wfopen(wname, wmode);
- } while(0);
-
- free(wname);
- free(wmode);
-
- return f;
- }
-}
-
-int _stat64_utf8(const char *path, struct __stat64 *buffer)
-{
- if (0 == utf8_filename) {
- return _stat64(path, buffer);
- } else {
- wchar_t *wpath;
- int ret;
-
- if (!(wpath = wchar_from_utf8(path))) return -1;
- ret = _wstat64(wpath, buffer);
- free(wpath);
-
- return ret;
- }
-}
-
-int chmod_utf8(const char *filename, int pmode)
-{
- if (0 == utf8_filename) {
- return _chmod(filename, pmode);
- } else {
- wchar_t *wname;
- int ret;
-
- if (!(wname = wchar_from_utf8(filename))) return -1;
- ret = _wchmod(wname, pmode);
- free(wname);
-
- return ret;
- }
-}
-
-int utime_utf8(const char *filename, struct utimbuf *times)
-{
- if (0 == utf8_filename) {
- return utime(filename, times);
- } else {
- wchar_t *wname;
- struct __utimbuf64 ut;
- int ret;
-
- if (!(wname = wchar_from_utf8(filename))) return -1;
- ut.actime = times->actime;
- ut.modtime = times->modtime;
- ret = _wutime64(wname, &ut);
- free(wname);
-
- return ret;
- }
-}
-
-int unlink_utf8(const char *filename)
-{
- if (0 == utf8_filename) {
- return _unlink(filename);
- } else {
- wchar_t *wname;
- int ret;
-
- if (!(wname = wchar_from_utf8(filename))) return -1;
- ret = _wunlink(wname);
- free(wname);
-
- return ret;
- }
-}
-
-int rename_utf8(const char *oldname, const char *newname)
-{
- if (0 == utf8_filename) {
- return rename(oldname, newname);
- } else {
- wchar_t *wold = NULL;
- wchar_t *wnew = NULL;
- int ret = -1;
-
- do {
- if (!(wold = wchar_from_utf8(oldname))) break;
- if (!(wnew = wchar_from_utf8(newname))) break;
- ret = _wrename(wold, wnew);
- } while(0);
-
- free(wold);
- free(wnew);
-
- return ret;
- }
-}
-
-HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
-{
- if (0 == utf8_filename) {
- return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
- } else {
- wchar_t *wname;
- HANDLE handle = INVALID_HANDLE_VALUE;
-
- if ((wname = wchar_from_utf8(lpFileName)) != NULL) {
- handle = CreateFileW(wname, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
- free(wname);
- }
-
- return handle;
- }
-}