You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Rebase against dc34fef45d491516fa8eaee45b2ae40faa7b0bfe.
This commit is contained in:
@@ -1,22 +1,21 @@
|
||||
From 32aeea846670432cf1e8d90defe6ca486b710559 Mon Sep 17 00:00:00 2001
|
||||
From f0d41c59ac06aabfba83d598fb017c7f0a918a99 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 20:56:49 -0700
|
||||
Subject: [PATCH] ntdll: Add support for creating reparse points.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
configure.ac | 2 +
|
||||
dlls/ntdll/Makefile.in | 2 +-
|
||||
dlls/ntdll/tests/file.c | 157 ++++++++++++++++++---
|
||||
dlls/ntdll/unix/file.c | 302 ++++++++++++++++++++++++++++++++++++++++
|
||||
include/ddk/ntifs.h | 5 +
|
||||
5 files changed, 450 insertions(+), 18 deletions(-)
|
||||
configure.ac | 2 +
|
||||
dlls/ntdll/Makefile.in | 2 +-
|
||||
dlls/ntdll/unix/file.c | 302 +++++++++++++++++++++++++++++++++++++++++
|
||||
include/ddk/ntifs.h | 5 +
|
||||
4 files changed, 310 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6d093b52526..c9e433f4e6c 100644
|
||||
index 242eb15ec19..ccd5095f3ba 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2111,6 +2111,8 @@ AC_CHECK_FUNCS(\
|
||||
@@ -2132,6 +2132,8 @@ AC_CHECK_FUNCS(\
|
||||
prctl \
|
||||
sched_getcpu \
|
||||
sched_yield \
|
||||
@@ -26,20 +25,20 @@ index 6d093b52526..c9e433f4e6c 100644
|
||||
setprogname \
|
||||
sigprocmask \
|
||||
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
|
||||
index f7558bb5d86..aad14d17e61 100644
|
||||
index 3c0dfa7a895..b9a8bcba4cf 100644
|
||||
--- a/dlls/ntdll/Makefile.in
|
||||
+++ b/dlls/ntdll/Makefile.in
|
||||
@@ -5,7 +5,7 @@ IMPORTLIB = ntdll
|
||||
IMPORTS = $(TOMCRYPT_PE_LIBS) $(MUSL_PE_LIBS)
|
||||
EXTRAINCL = $(TOMCRYPT_PE_CFLAGS)
|
||||
UNIX_CFLAGS = $(UNWIND_CFLAGS)
|
||||
-UNIX_LIBS = $(IOKIT_LIBS) $(COREFOUNDATION_LIBS) $(CORESERVICES_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) $(I386_LIBS) $(PROCSTAT_LIBS)
|
||||
+UNIX_LIBS = $(IOKIT_LIBS) $(COREFOUNDATION_LIBS) $(CORESERVICES_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) $(I386_LIBS) $(PROCSTAT_LIBS) -lm
|
||||
UNIX_CFLAGS = $(UNWIND_CFLAGS) $(HWLOC_CFLAGS)
|
||||
-UNIX_LIBS = $(IOKIT_LIBS) $(COREFOUNDATION_LIBS) $(CORESERVICES_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) $(I386_LIBS) $(PROCSTAT_LIBS) $(HWLOC_LIBS)
|
||||
+UNIX_LIBS = $(IOKIT_LIBS) $(COREFOUNDATION_LIBS) $(CORESERVICES_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) $(I386_LIBS) $(PROCSTAT_LIBS) $(HWLOC_LIBS) -lm
|
||||
|
||||
EXTRADLLFLAGS = -nodefaultlibs
|
||||
i386_EXTRADLLFLAGS = -Wl,--image-base,0x7bc00000
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 8d2809ca193..672a1d1fa27 100644
|
||||
index 7ab1dbb2b55..5b4fcb3711d 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -36,6 +36,8 @@
|
||||
@@ -72,7 +71,7 @@ index 8d2809ca193..672a1d1fa27 100644
|
||||
#ifdef linux
|
||||
|
||||
/* We want the real kernel dirent structure, not the libc one */
|
||||
@@ -244,6 +253,95 @@ static const BOOL is_case_sensitive = FALSE;
|
||||
@@ -249,6 +258,95 @@ static const BOOL is_case_sensitive = FALSE;
|
||||
static pthread_mutex_t dir_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
static pthread_mutex_t mnt_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
@@ -168,7 +167,7 @@ index 8d2809ca193..672a1d1fa27 100644
|
||||
/* check if a given Unicode char is OK in a DOS short name */
|
||||
static inline BOOL is_invalid_dos_char( WCHAR ch )
|
||||
{
|
||||
@@ -1665,6 +1763,28 @@ static int parse_samba_dos_attrib_data( char *data, int len )
|
||||
@@ -1653,6 +1751,28 @@ static int parse_samba_dos_attrib_data( char *data, int len )
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +196,7 @@ index 8d2809ca193..672a1d1fa27 100644
|
||||
static BOOL fd_is_mount_point( int fd, const struct stat *st )
|
||||
{
|
||||
struct stat parent;
|
||||
@@ -3528,6 +3648,181 @@ done:
|
||||
@@ -3455,6 +3575,181 @@ done:
|
||||
}
|
||||
|
||||
|
||||
@@ -379,7 +378,7 @@ index 8d2809ca193..672a1d1fa27 100644
|
||||
/******************************************************************************
|
||||
* lookup_unix_name
|
||||
*
|
||||
@@ -6415,6 +6710,13 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
||||
@@ -6400,6 +6695,13 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -410,5 +409,5 @@ index 980235abdc9..90248b4897c 100644
|
||||
{
|
||||
UCHAR DataBuffer[1];
|
||||
--
|
||||
2.47.2
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
From 5171b6447da54618cf45fd367fcf4f5695ccc130 Mon Sep 17 00:00:00 2001
|
||||
From 9996d4b09e7ffbce58f34424475c6fcf257e6476 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 17 Jul 2024 21:55:20 +1000
|
||||
Subject: [PATCH] odbc32: SQLGetData support ODBC v2.0
|
||||
|
||||
---
|
||||
dlls/odbc32/proxyodbc.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
dlls/odbc32/proxyodbc.c | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
|
||||
index 3d4c58badfe..e1db8564f90 100644
|
||||
index 46e7ffc1d95..c95603b7030 100644
|
||||
--- a/dlls/odbc32/proxyodbc.c
|
||||
+++ b/dlls/odbc32/proxyodbc.c
|
||||
@@ -2525,7 +2525,21 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ
|
||||
SQLLEN buflen, SQLLEN *retlen )
|
||||
{
|
||||
if (stmt->hdr.win32_funcs->SQLGetData)
|
||||
@@ -2576,8 +2576,21 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ
|
||||
free( data );
|
||||
return ret;
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ struct environment *env = (struct environment *)find_object_type(SQL_HANDLE_ENV, stmt->hdr.parent);
|
||||
+ if (env && env->driver_ver == SQL_OV_ODBC2)
|
||||
@@ -26,13 +27,13 @@ index 3d4c58badfe..e1db8564f90 100644
|
||||
+ else if (type == SQL_C_TYPE_TIMESTAMP)
|
||||
+ type = SQL_C_TIMESTAMP;
|
||||
+ }
|
||||
+
|
||||
return stmt->hdr.win32_funcs->SQLGetData( stmt->hdr.win32_handle, column, type, value, buflen, retlen );
|
||||
|
||||
- return stmt->hdr.win32_funcs->SQLGetData( stmt->hdr.win32_handle, column, type, value, buflen, retlen );
|
||||
+ return stmt->hdr.win32_funcs->SQLGetData( stmt->hdr.win32_handle, column, type, value, buflen, retlen );
|
||||
+ }
|
||||
+
|
||||
return SQL_ERROR;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
--
|
||||
2.50.1
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
From d2d82abfba3d43d4416f14ac5318acd4eab8528c Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 5 May 2025 10:17:22 +1000
|
||||
Subject: [PATCH] odbc32: SQLGetData handle ANSI driver
|
||||
|
||||
---
|
||||
dlls/odbc32/proxyodbc.c | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
|
||||
index a94b31cc544..78ec2683e63 100644
|
||||
--- a/dlls/odbc32/proxyodbc.c
|
||||
+++ b/dlls/odbc32/proxyodbc.c
|
||||
@@ -2592,8 +2592,11 @@ static SQLRETURN get_data_unix( struct statement *stmt, SQLUSMALLINT column, SQL
|
||||
static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQLSMALLINT type, SQLPOINTER value,
|
||||
SQLLEN buflen, SQLLEN *retlen )
|
||||
{
|
||||
+ SQLRETURN ret = SQL_ERROR;
|
||||
+
|
||||
if (stmt->hdr.win32_funcs->SQLGetData)
|
||||
{
|
||||
+ BOOL wants_wchar = FALSE;
|
||||
struct environment *env = (struct environment *)find_object_type(SQL_HANDLE_ENV, stmt->hdr.parent);
|
||||
if (env && env->driver_ver == SQL_OV_ODBC2)
|
||||
{
|
||||
@@ -2605,10 +2608,29 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ
|
||||
type = SQL_C_TIMESTAMP;
|
||||
}
|
||||
|
||||
- return stmt->hdr.win32_funcs->SQLGetData( stmt->hdr.win32_handle, column, type, value, buflen, retlen );
|
||||
+ if ( driver_ansi_only(stmt->hdr.win32_funcs) )
|
||||
+ {
|
||||
+ if (type == SQL_C_WCHAR)
|
||||
+ {
|
||||
+ type = SQL_CHAR;
|
||||
+ wants_wchar = TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ ret = stmt->hdr.win32_funcs->SQLGetData( stmt->hdr.win32_handle, column, type, value, buflen, retlen );
|
||||
+
|
||||
+ if (SUCCESS(ret) && wants_wchar )
|
||||
+ {
|
||||
+ WCHAR *str = strnAtoW(value, -1);
|
||||
+ wcscpy(value, str);
|
||||
+ free(str);
|
||||
+
|
||||
+ if (retlen)
|
||||
+ *retlen = *retlen * sizeof(WCHAR);
|
||||
+ }
|
||||
}
|
||||
|
||||
- return SQL_ERROR;
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -1 +1 @@
|
||||
7e62997aff603a69e67d270465088ff2ac3132d4
|
||||
dc34fef45d491516fa8eaee45b2ae40faa7b0bfe
|
||||
|
||||
Reference in New Issue
Block a user