mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-05-08 19:32:39 +08:00
configure: Check if iconv uses const char**
This commit is contained in:
parent
3f396b3f43
commit
eca6d64195
@ -653,6 +653,14 @@ case "$host" in
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl TEST: check if iconv uses const char
|
||||
AC_MSG_CHECKING([whether iconv uses const char**])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
#include <iconv.h>
|
||||
size_t iconv(iconv_t, const char **restrict, size_t *restrict, char **restrict, size_t *restrict);
|
||||
])], AC_DEFINE(ICONV_CONST_CHAR, 1) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
|
||||
AH_TEMPLATE(ICONV_CONST_CHAR,[Whether iconv uses const char**])
|
||||
|
||||
dnl LIBRARY TEST: SDLnet
|
||||
AC_CHECK_HEADER(SDL_net.h,have_sdl_net_h=yes,)
|
||||
AC_CHECK_LIB(SDL2_net, SDLNet_Init, have_sdl2_net_lib=yes, , )
|
||||
|
@ -31,6 +31,12 @@
|
||||
# define ICONV_BIG_ENDIAN BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef ICONV_CONST_CHAR
|
||||
# define ICONV_IN_TYPE const char**
|
||||
#else
|
||||
# define ICONV_IN_TYPE char**
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@ -247,7 +253,7 @@ public:
|
||||
iconv(context,NULL,NULL,NULL,NULL);
|
||||
|
||||
/* Ref: [http://man7.org/linux/man-pages/man3/iconv.3.html] */
|
||||
int ret = iconv(context,(char**)(&(pclass::src_ptr)),&src_left,(char**)(&(pclass::dst_ptr)),&dst_left);
|
||||
int ret = iconv(context,(ICONV_IN_TYPE)(&(pclass::src_ptr)),&src_left,(char**)(&(pclass::dst_ptr)),&dst_left);
|
||||
|
||||
pclass::src_adv = (size_t)(pclass::src_ptr - i_src);
|
||||
pclass::dst_adv = (size_t)(pclass::dst_ptr - i_dst);
|
||||
|
Loading…
x
Reference in New Issue
Block a user