mirror of
https://github.com/owntone/owntone-server.git
synced 2025-03-29 08:43:42 -04:00
Fix windows open for non-latin files
This commit is contained in:
parent
d88132f6c9
commit
1ca5cef013
@ -195,7 +195,6 @@ case $host in
|
|||||||
AM_CONDITIONAL(COND_REND_POSIX,false);;
|
AM_CONDITIONAL(COND_REND_POSIX,false);;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
dnl Checks for libraries.
|
dnl Checks for libraries.
|
||||||
AC_ARG_WITH(static-libs,
|
AC_ARG_WITH(static-libs,
|
||||||
[--with-static-libs[[=DIR]] use static libs in DIR],[
|
[--with-static-libs[[=DIR]] use static libs in DIR],[
|
||||||
@ -330,6 +329,9 @@ else
|
|||||||
fi
|
fi
|
||||||
CFLAGS=$oldcflags
|
CFLAGS=$oldcflags
|
||||||
|
|
||||||
|
AC_CHECK_LIB(iconv,libiconv,,
|
||||||
|
AC_CHECK_LIB(iconv,iconv,,echo "Must have iconv"; exit))
|
||||||
|
|
||||||
if test x$use_gdbm = xtrue; then
|
if test x$use_gdbm = xtrue; then
|
||||||
AC_CHECK_HEADERS(gdbm.h,, [
|
AC_CHECK_HEADERS(gdbm.h,, [
|
||||||
AC_MSG_ERROR([gdbm.h not found... Must have gdbm headers installed])])
|
AC_MSG_ERROR([gdbm.h not found... Must have gdbm headers installed])])
|
||||||
|
8
src/io.c
8
src/io.c
@ -1349,7 +1349,7 @@ int io_file_open(IO_PRIVHANDLE *phandle, char *uri) {
|
|||||||
uint32_t native_mode=0;
|
uint32_t native_mode=0;
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
uint32_t native_permissions=0;
|
uint32_t native_permissions=0;
|
||||||
WCHAR utf16_path[PATH_MAX+1]; /* the real windows utf16 path */
|
WCHAR *utf16_path; /* the real windows utf16 path */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ASSERT(phandle);
|
ASSERT(phandle);
|
||||||
@ -1394,8 +1394,10 @@ int io_file_open(IO_PRIVHANDLE *phandle, char *uri) {
|
|||||||
else
|
else
|
||||||
native_mode |= OPEN_EXISTING;
|
native_mode |= OPEN_EXISTING;
|
||||||
|
|
||||||
priv->fd = CreateFile(uri,native_permissions,FILE_SHARE_READ,NULL,
|
utf16_path = (WCHAR *)util_utf8toutf16_alloc(uri);
|
||||||
native_mode,FILE_ATTRIBUTE_NORMAL,NULL);
|
priv->fd = CreateFileW(utf16_path,native_permissions,FILE_SHARE_READ,NULL,
|
||||||
|
native_mode,FILE_ATTRIBUTE_NORMAL,NULL);
|
||||||
|
free(utf16_path);
|
||||||
if(priv->fd == INVALID_HANDLE_VALUE) {
|
if(priv->fd == INVALID_HANDLE_VALUE) {
|
||||||
io_file_seterr(phandle,IO_E_FILE_OTHER);
|
io_file_seterr(phandle,IO_E_FILE_OTHER);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user