Alexandre Julliard : libport: Move the non-inline version of the string functions to libwine.
Alexandre Julliard
julliard at winehq.org
Mon Nov 30 16:13:44 CST 2020
Module: wine
Branch: master
Commit: 1fdbf850eeef751bbde914f177bf659e402344d6
URL: https://source.winehq.org/git/wine.git/?a=commit;h=1fdbf850eeef751bbde914f177bf659e402344d6
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sun Nov 29 21:21:49 2020 +0100
libport: Move the non-inline version of the string functions to libwine.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/wine/unicode.h | 29 +++++++++++++++++++++++------
libs/port/Makefile.in | 1 -
libs/wine/Makefile.in | 1 +
libs/wine/port.c | 12 ++----------
libs/{port => wine}/string.c | 6 ++++++
5 files changed, 32 insertions(+), 17 deletions(-)
diff --git a/include/wine/unicode.h b/include/wine/unicode.h
index f42a94c7e0d..069b5ce2624 100644
--- a/include/wine/unicode.h
+++ b/include/wine/unicode.h
@@ -40,7 +40,7 @@ extern "C" {
#endif
#ifndef WINE_UNICODE_INLINE
-#define WINE_UNICODE_INLINE static inline
+#define WINE_UNICODE_INLINE static FORCEINLINE
#endif
/* code page info common to SBCS and DBCS */
@@ -79,11 +79,6 @@ union cptable
struct dbcs_table dbcs;
};
-extern int sprintfW( WCHAR *str, const WCHAR *format, ... );
-extern int snprintfW( WCHAR *str, size_t len, const WCHAR *format, ... );
-extern int vsprintfW( WCHAR *str, const WCHAR *format, va_list valist );
-extern int vsnprintfW( WCHAR *str, size_t len, const WCHAR *format, va_list valist );
-
WINE_UNICODE_INLINE WCHAR tolowerW( WCHAR ch )
{
extern const WCHAR wine_casemap_lower[];
@@ -401,6 +396,28 @@ WINE_UNICODE_INLINE int atoiW( const WCHAR *str )
return (int)atolW( str );
}
+NTSYSAPI int __cdecl _vsnwprintf(WCHAR*,size_t,const WCHAR*,__ms_va_list);
+
+static inline int WINAPIV snprintfW( WCHAR *str, size_t len, const WCHAR *format, ...)
+{
+ int retval;
+ __ms_va_list valist;
+ __ms_va_start(valist, format);
+ retval = _vsnwprintf(str, len, format, valist);
+ __ms_va_end(valist);
+ return retval;
+}
+
+static inline int WINAPIV sprintfW( WCHAR *str, const WCHAR *format, ...)
+{
+ int retval;
+ __ms_va_list valist;
+ __ms_va_start(valist, format);
+ retval = _vsnwprintf(str, MAXLONG, format, valist);
+ __ms_va_end(valist);
+ return retval;
+}
+
#undef WINE_UNICODE_INLINE
#ifdef __cplusplus
diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in
index 7bc67fa3fee..aabcc833ec6 100644
--- a/libs/port/Makefile.in
+++ b/libs/port/Makefile.in
@@ -17,7 +17,6 @@ C_SRCS = \
rint.c \
spawn.c \
statvfs.c \
- string.c \
strnlen.c \
symlink.c \
usleep.c \
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 65a07895027..74ffc0d5f83 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -81,6 +81,7 @@ C_SRCS = \
mmap.c \
port.c \
sortkey.c \
+ string.c \
utf8.c \
wctomb.c
diff --git a/libs/wine/port.c b/libs/wine/port.c
index 62d5c2abcdb..8e56ada52aa 100644
--- a/libs/wine/port.c
+++ b/libs/wine/port.c
@@ -27,16 +27,8 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-
-#include "wine/unicode.h"
-
-/* functions from libwine_port that are also exported from libwine for backwards compatibility,
- * on platforms that require it */
-const void *libwine_port_functions[] =
-{
- strtolW,
- vsnprintfW,
-};
+#include <stdarg.h>
+#include <windef.h>
/* no longer used, for backwards compatibility only */
struct wine_pthread_functions;
diff --git a/libs/port/string.c b/libs/wine/string.c
similarity index 99%
rename from libs/port/string.c
rename to libs/wine/string.c
index 62b972399bf..d6fb88f8eca 100644
--- a/libs/port/string.c
+++ b/libs/wine/string.c
@@ -18,6 +18,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include "wine/asm.h"
+
+#ifdef __ASM_OBSOLETE
+
#include <assert.h>
#include <errno.h>
#include <limits.h>
@@ -711,3 +715,5 @@ int sprintfW( WCHAR *str, const WCHAR *format, ...)
va_end(valist);
return retval;
}
+
+#endif /* __ASM_OBSOLETE */
More information about the wine-cvs
mailing list