[ 
https://issues.apache.org/jira/browse/XERCESC-2111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16115881#comment-16115881
 ] 

Scott Cantor commented on XERCESC-2111:
---------------------------------------

r1804250

I'm going to leave a comment and just conditionally use sprintf. The buffer 
used is large enough to handle unsigned longs up to 50+ characters long, and I 
really can't imagine anything not having snprintf but also having 128-bit longs.

That said, if nobody objects to using the STL, the fix is just to use an 
ostringstream to build it up. At some point that line really has to be crossed 
in a C++ library.

> Build failure with Windows and VS2013
> -------------------------------------
>
>                 Key: XERCESC-2111
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2111
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.2.0
>         Environment: Windows Server 2008R2 with Visual Studio 2013
>            Reporter: Roger Leigh
>            Assignee: Scott Cantor
>             Fix For: 3.2.0
>
>
> snprintf isn't available before VS2015, though a Microsoft-specific variant 
> is available which we could use conditionally.  However, even this is not 
> present in earlier Visual Studio releases.  Do we strictly need to use 
> snprintf here?  If we do, how far back do our Visual Studio portability 
> requirements go?
> {{{
> 17:53:44 FAILED: C:\PROGRA~2\MICROS~3.0\VC\bin\amd64\cl.exe   /nologo /TP 
> -DHAVE_CONFIG_H=1 -DXERCES_BUILDING_LIBRARY=1 
> -DXERCES_DLL_NAME=\"xerces-c_3_2.dll\0\" -D_THREAD_SAFE=1 -Dxerces_c_EXPORTS 
> -I. 
> -ID:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src
>  -Isrc 
> -ID:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\stage\include
>  /DWIN32 /D_WINDOWS /W3 /GR /EHsc /W3 /MD /O2 /Ob2 /DNDEBUG /showIncludes 
> /Fosrc\CMakeFiles\xerces-c.dir\xercesc\util\XMLDateTime.cpp.obj 
> /Fdsrc\CMakeFiles\xerces-c.dir\ /FS -c 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp
> 17:53:44 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp(471)
>  : warning C4244: 'initializing' : conversion from 'time_t' to 'unsigned 
> long', possible loss of data
> 17:53:44 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp(473)
>  : warning C4244: 'initializing' : conversion from 'time_t' to 'unsigned 
> long', possible loss of data
> 17:53:44 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp(475)
>  : warning C4244: 'initializing' : conversion from 'time_t' to 'unsigned 
> long', possible loss of data
> 17:53:44 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp(477)
>  : warning C4244: 'initializing' : conversion from 'time_t' to 'unsigned 
> long', possible loss of data
> 17:53:44 
> D:\build\OME-FILES-CPP-DEV-merge-win-superbuild\2a8f6256\build\xerces-source\src\xercesc\util\XMLDateTime.cpp(480)
>  : error C3861: 'snprintf': identifier not found
> }}}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org

Reply via email to