Subject: | Cygwin: wcslen() called without being declared |
In file included from ../../perl.h:3636:0,
from File.xs:4:
File.c: In function ‘void XS_Win32API__File_GetVolumeInformationW(PerlInterpreter*, CV*)’:
buffers.h:422:24: error: ‘wcslen’ was not declared in this scope
SvCUR_set( svBuf, wcslen(sBuf)*sizeof(WCHAR) ); \
^
../../sv.h:1322:36: note: in definition of macro ‘SvCUR_set’
(((XPV*) SvANY(sv))->xpv_cur = (val)); } STMT_END
^~~
File.c:1174:2: note: in expansion of macro ‘trunc_buf_zw’
trunc_buf_zw( RETVAL, oswVolName,ST(1) );
^
buffers.h:422:24: note: suggested alternative: ‘listen’
SvCUR_set( svBuf, wcslen(sBuf)*sizeof(WCHAR) ); \
^
This causes build errors on cygwin if we build with g++.
Trivially fixed by adding:
#include <wchar.h>
Tony